Created
          November 23, 2017 08:29 
        
      - 
      
 - 
        
Save liamcurry/8c107e14fe05a5a2fa9befee2f72a976 to your computer and use it in GitHub Desktop.  
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
  | (module | |
| (type $FUNCSIG$vj (func (param i64))) | |
| (type $FUNCSIG$vii (func (param i32 i32))) | |
| (type $FUNCSIG$ijjjii (func (param i64 i64 i64 i32 i32) (result i32))) | |
| (type $FUNCSIG$ijjii (func (param i64 i64 i32 i32) (result i32))) | |
| (type $FUNCSIG$ijji (func (param i64 i64 i32) (result i32))) | |
| (type $FUNCSIG$iii (func (param i32 i32) (result i32))) | |
| (import "env" "assert" (func $assert (param i32 i32))) | |
| (import "env" "load_i64" (func $load_i64 (param i64 i64 i64 i32 i32) (result i32))) | |
| (import "env" "read_message" (func $read_message (param i32 i32) (result i32))) | |
| (import "env" "remove_i64" (func $remove_i64 (param i64 i64 i32) (result i32))) | |
| (import "env" "require_auth" (func $require_auth (param i64))) | |
| (import "env" "store_i64" (func $store_i64 (param i64 i64 i32 i32) (result i32))) | |
| (import "env" "update_i64" (func $update_i64 (param i64 i64 i32 i32) (result i32))) | |
| (table 0 anyfunc) | |
| (memory $0 1) | |
| (data (i32.const 4) "\90A\00\00") | |
| (data (i32.const 16) "draw\00") | |
| (data (i32.const 32) "none\00") | |
| (data (i32.const 48) "challenger shouldn\'t be the same as host\00") | |
| (data (i32.const 96) "game already exists\00") | |
| (data (i32.const 128) "game doesn\'t exist!\00") | |
| (data (i32.const 160) "this is not your game!\00") | |
| (data (i32.const 192) "the game has ended!\00") | |
| (data (i32.const 224) "it\'s not your turn yet!\00") | |
| (data (i32.const 256) "not a valid movement!\00") | |
| (data (i32.const 288) "tic.tac.toe\00") | |
| (data (i32.const 304) "create\00") | |
| (data (i32.const 320) "message shorter than expected\00") | |
| (data (i32.const 352) "restart\00") | |
| (data (i32.const 368) "close\00") | |
| (data (i32.const 384) "move\00") | |
| (export "memory" (memory $0)) | |
| (export "_ZN11tic_tac_toe13is_empty_cellERKh" (func $_ZN11tic_tac_toe13is_empty_cellERKh)) | |
| (export "_ZN11tic_tac_toe17is_valid_movementERKNS_8MovementERKNS_4gameE" (func $_ZN11tic_tac_toe17is_valid_movementERKNS_8MovementERKNS_4gameE)) | |
| (export "_ZN11tic_tac_toe10get_winnerERKNS_4gameE" (func $_ZN11tic_tac_toe10get_winnerERKNS_4gameE)) | |
| (export "_ZN11tic_tac_toe12apply_createERKNS_6CreateE" (func $_ZN11tic_tac_toe12apply_createERKNS_6CreateE)) | |
| (export "_ZN11tic_tac_toe13apply_restartERKNS_7RestartE" (func $_ZN11tic_tac_toe13apply_restartERKNS_7RestartE)) | |
| (export "_ZN11tic_tac_toe11apply_closeERKNS_5CloseE" (func $_ZN11tic_tac_toe11apply_closeERKNS_5CloseE)) | |
| (export "_ZN11tic_tac_toe10apply_moveERKNS_4MoveE" (func $_ZN11tic_tac_toe10apply_moveERKNS_4MoveE)) | |
| (export "init" (func $init)) | |
| (export "apply" (func $apply)) | |
| (func $_ZN11tic_tac_toe13is_empty_cellERKh (param $0 i32) (result i32) | |
| (i32.eqz | |
| (i32.load8_u | |
| (get_local $0) | |
| ) | |
| ) | |
| ) | |
| (func $_ZN11tic_tac_toe17is_valid_movementERKNS_8MovementERKNS_4gameE (param $0 i32) (param $1 i32) (result i32) | |
| (local $2 i32) | |
| (set_local $2 | |
| (i32.const 0) | |
| ) | |
| (block $label$0 | |
| (br_if $label$0 | |
| (i32.ge_u | |
| (tee_local $0 | |
| (i32.add | |
| (i32.mul | |
| (i32.load | |
| (get_local $0) | |
| ) | |
| (i32.const 3) | |
| ) | |
| (i32.load offset=4 | |
| (get_local $0) | |
| ) | |
| ) | |
| ) | |
| (i32.load8_u offset=32 | |
| (get_local $1) | |
| ) | |
| ) | |
| ) | |
| (set_local $2 | |
| (i32.eqz | |
| (i32.load8_u | |
| (i32.add | |
| (i32.add | |
| (get_local $1) | |
| (get_local $0) | |
| ) | |
| (i32.const 33) | |
| ) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (get_local $2) | |
| ) | |
| (func $_ZN11tic_tac_toe10get_winnerERKNS_4gameE (param $0 i32) (result i64) | |
| (local $1 i32) | |
| (local $2 i32) | |
| (local $3 i32) | |
| (local $4 i32) | |
| (local $5 i32) | |
| (local $6 i64) | |
| (local $7 i64) | |
| (local $8 i64) | |
| (local $9 i64) | |
| (block $label$0 | |
| (block $label$1 | |
| (block $label$2 | |
| (block $label$3 | |
| (block $label$4 | |
| (block $label$5 | |
| (block $label$6 | |
| (block $label$7 | |
| (block $label$8 | |
| (block $label$9 | |
| (block $label$10 | |
| (br_if $label$10 | |
| (i32.ne | |
| (tee_local $1 | |
| (i32.load8_u offset=33 | |
| (get_local $0) | |
| ) | |
| ) | |
| (tee_local $4 | |
| (i32.load8_u | |
| (i32.add | |
| (get_local $0) | |
| (i32.const 37) | |
| ) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (br_if $label$9 | |
| (i32.eq | |
| (get_local $1) | |
| (i32.load8_u | |
| (i32.add | |
| (get_local $0) | |
| (i32.const 41) | |
| ) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (block $label$11 | |
| (br_if $label$11 | |
| (i32.ne | |
| (tee_local $2 | |
| (i32.load8_u | |
| (i32.add | |
| (get_local $0) | |
| (i32.const 34) | |
| ) | |
| ) | |
| ) | |
| (get_local $4) | |
| ) | |
| ) | |
| (br_if $label$9 | |
| (i32.eq | |
| (get_local $4) | |
| (i32.load8_u | |
| (i32.add | |
| (get_local $0) | |
| (i32.const 40) | |
| ) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (block $label$12 | |
| (br_if $label$12 | |
| (i32.ne | |
| (tee_local $5 | |
| (i32.load8_u | |
| (i32.add | |
| (get_local $0) | |
| (i32.const 35) | |
| ) | |
| ) | |
| ) | |
| (get_local $4) | |
| ) | |
| ) | |
| (br_if $label$9 | |
| (i32.eq | |
| (get_local $4) | |
| (i32.load8_u | |
| (i32.add | |
| (get_local $0) | |
| (i32.const 39) | |
| ) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (br_if $label$8 | |
| (i32.ne | |
| (tee_local $3 | |
| (i32.load8_u | |
| (i32.add | |
| (get_local $0) | |
| (i32.const 36) | |
| ) | |
| ) | |
| ) | |
| (get_local $4) | |
| ) | |
| ) | |
| (br_if $label$8 | |
| (i32.ne | |
| (get_local $4) | |
| (i32.load8_u | |
| (i32.add | |
| (get_local $0) | |
| (i32.const 38) | |
| ) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (br_if $label$7 | |
| (i32.eq | |
| (get_local $4) | |
| (i32.const 1) | |
| ) | |
| ) | |
| (br_if $label$3 | |
| (i32.ne | |
| (get_local $4) | |
| (i32.const 2) | |
| ) | |
| ) | |
| (return | |
| (i64.load align=1 | |
| (get_local $0) | |
| ) | |
| ) | |
| ) | |
| (block $label$13 | |
| (block $label$14 | |
| (br_if $label$14 | |
| (i32.ne | |
| (get_local $1) | |
| (get_local $2) | |
| ) | |
| ) | |
| (br_if $label$13 | |
| (i32.eq | |
| (get_local $2) | |
| (get_local $5) | |
| ) | |
| ) | |
| ) | |
| (br_if $label$6 | |
| (i32.ne | |
| (get_local $1) | |
| (get_local $3) | |
| ) | |
| ) | |
| (br_if $label$6 | |
| (i32.ne | |
| (get_local $1) | |
| (i32.load8_u | |
| (i32.add | |
| (get_local $0) | |
| (i32.const 39) | |
| ) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (br_if $label$5 | |
| (i32.eq | |
| (get_local $1) | |
| (i32.const 2) | |
| ) | |
| ) | |
| (br_if $label$3 | |
| (i32.ne | |
| (get_local $1) | |
| (i32.const 1) | |
| ) | |
| ) | |
| (return | |
| (i64.load offset=8 align=1 | |
| (get_local $0) | |
| ) | |
| ) | |
| ) | |
| (return | |
| (i64.load offset=8 align=1 | |
| (get_local $0) | |
| ) | |
| ) | |
| ) | |
| (block $label$15 | |
| (block $label$16 | |
| (br_if $label$16 | |
| (i32.ne | |
| (get_local $5) | |
| (i32.load8_u | |
| (i32.add | |
| (get_local $0) | |
| (i32.const 38) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (br_if $label$15 | |
| (i32.eq | |
| (get_local $5) | |
| (i32.load8_u | |
| (i32.add | |
| (get_local $0) | |
| (i32.const 41) | |
| ) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (br_if $label$4 | |
| (i32.ne | |
| (tee_local $5 | |
| (i32.load8_u | |
| (i32.add | |
| (get_local $0) | |
| (i32.const 39) | |
| ) | |
| ) | |
| ) | |
| (i32.load8_u | |
| (i32.add | |
| (get_local $0) | |
| (i32.const 40) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (br_if $label$4 | |
| (i32.ne | |
| (get_local $5) | |
| (i32.load8_u | |
| (i32.add | |
| (get_local $0) | |
| (i32.const 41) | |
| ) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (br_if $label$1 | |
| (i32.eq | |
| (get_local $5) | |
| (i32.const 2) | |
| ) | |
| ) | |
| (br_if $label$3 | |
| (i32.ne | |
| (get_local $5) | |
| (i32.const 1) | |
| ) | |
| ) | |
| (return | |
| (i64.load offset=8 align=1 | |
| (get_local $0) | |
| ) | |
| ) | |
| ) | |
| (return | |
| (i64.load align=1 | |
| (get_local $0) | |
| ) | |
| ) | |
| ) | |
| (br_if $label$2 | |
| (i32.eqz | |
| (tee_local $2 | |
| (i32.load8_u offset=32 | |
| (get_local $0) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (br_if $label$3 | |
| (i32.eqz | |
| (get_local $1) | |
| ) | |
| ) | |
| (set_local $4 | |
| (i32.const 1) | |
| ) | |
| (loop $label$17 | |
| (br_if $label$2 | |
| (i32.ge_u | |
| (tee_local $1 | |
| (i32.and | |
| (get_local $4) | |
| (i32.const 255) | |
| ) | |
| ) | |
| (get_local $2) | |
| ) | |
| ) | |
| (set_local $4 | |
| (i32.add | |
| (get_local $4) | |
| (i32.const 1) | |
| ) | |
| ) | |
| (br_if $label$17 | |
| (i32.load8_u | |
| (i32.add | |
| (i32.add | |
| (get_local $0) | |
| (get_local $1) | |
| ) | |
| (i32.const 33) | |
| ) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (set_local $7 | |
| (i64.const 0) | |
| ) | |
| (set_local $6 | |
| (i64.const 59) | |
| ) | |
| (set_local $0 | |
| (i32.const 32) | |
| ) | |
| (set_local $9 | |
| (i64.const 0) | |
| ) | |
| (loop $label$18 | |
| (block $label$19 | |
| (block $label$20 | |
| (block $label$21 | |
| (block $label$22 | |
| (block $label$23 | |
| (br_if $label$23 | |
| (i64.gt_u | |
| (get_local $7) | |
| (i64.const 3) | |
| ) | |
| ) | |
| (br_if $label$22 | |
| (i32.gt_u | |
| (i32.and | |
| (i32.add | |
| (tee_local $4 | |
| (i32.load8_s | |
| (get_local $0) | |
| ) | |
| ) | |
| (i32.const -97) | |
| ) | |
| (i32.const 255) | |
| ) | |
| (i32.const 25) | |
| ) | |
| ) | |
| (set_local $4 | |
| (i32.add | |
| (get_local $4) | |
| (i32.const 165) | |
| ) | |
| ) | |
| (br $label$21) | |
| ) | |
| (set_local $8 | |
| (i64.const 0) | |
| ) | |
| (br_if $label$20 | |
| (i64.le_u | |
| (get_local $7) | |
| (i64.const 11) | |
| ) | |
| ) | |
| (br $label$19) | |
| ) | |
| (set_local $4 | |
| (select | |
| (i32.add | |
| (get_local $4) | |
| (i32.const 208) | |
| ) | |
| (i32.const 0) | |
| (i32.lt_u | |
| (i32.and | |
| (i32.add | |
| (get_local $4) | |
| (i32.const -49) | |
| ) | |
| (i32.const 255) | |
| ) | |
| (i32.const 5) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (set_local $8 | |
| (i64.shr_s | |
| (i64.shl | |
| (i64.extend_u/i32 | |
| (get_local $4) | |
| ) | |
| (i64.const 56) | |
| ) | |
| (i64.const 56) | |
| ) | |
| ) | |
| ) | |
| (set_local $8 | |
| (i64.shl | |
| (i64.and | |
| (get_local $8) | |
| (i64.const 31) | |
| ) | |
| (i64.and | |
| (get_local $6) | |
| (i64.const 4294967295) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (set_local $0 | |
| (i32.add | |
| (get_local $0) | |
| (i32.const 1) | |
| ) | |
| ) | |
| (set_local $7 | |
| (i64.add | |
| (get_local $7) | |
| (i64.const 1) | |
| ) | |
| ) | |
| (set_local $9 | |
| (i64.or | |
| (get_local $8) | |
| (get_local $9) | |
| ) | |
| ) | |
| (br_if $label$18 | |
| (i64.ne | |
| (tee_local $6 | |
| (i64.add | |
| (get_local $6) | |
| (i64.const -5) | |
| ) | |
| ) | |
| (i64.const -6) | |
| ) | |
| ) | |
| (br $label$0) | |
| ) | |
| ) | |
| (set_local $7 | |
| (i64.const 0) | |
| ) | |
| (set_local $6 | |
| (i64.const 59) | |
| ) | |
| (set_local $0 | |
| (i32.const 16) | |
| ) | |
| (set_local $9 | |
| (i64.const 0) | |
| ) | |
| (loop $label$24 | |
| (block $label$25 | |
| (block $label$26 | |
| (block $label$27 | |
| (block $label$28 | |
| (block $label$29 | |
| (br_if $label$29 | |
| (i64.gt_u | |
| (get_local $7) | |
| (i64.const 3) | |
| ) | |
| ) | |
| (br_if $label$28 | |
| (i32.gt_u | |
| (i32.and | |
| (i32.add | |
| (tee_local $4 | |
| (i32.load8_s | |
| (get_local $0) | |
| ) | |
| ) | |
| (i32.const -97) | |
| ) | |
| (i32.const 255) | |
| ) | |
| (i32.const 25) | |
| ) | |
| ) | |
| (set_local $4 | |
| (i32.add | |
| (get_local $4) | |
| (i32.const 165) | |
| ) | |
| ) | |
| (br $label$27) | |
| ) | |
| (set_local $8 | |
| (i64.const 0) | |
| ) | |
| (br_if $label$26 | |
| (i64.le_u | |
| (get_local $7) | |
| (i64.const 11) | |
| ) | |
| ) | |
| (br $label$25) | |
| ) | |
| (set_local $4 | |
| (select | |
| (i32.add | |
| (get_local $4) | |
| (i32.const 208) | |
| ) | |
| (i32.const 0) | |
| (i32.lt_u | |
| (i32.and | |
| (i32.add | |
| (get_local $4) | |
| (i32.const -49) | |
| ) | |
| (i32.const 255) | |
| ) | |
| (i32.const 5) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (set_local $8 | |
| (i64.shr_s | |
| (i64.shl | |
| (i64.extend_u/i32 | |
| (get_local $4) | |
| ) | |
| (i64.const 56) | |
| ) | |
| (i64.const 56) | |
| ) | |
| ) | |
| ) | |
| (set_local $8 | |
| (i64.shl | |
| (i64.and | |
| (get_local $8) | |
| (i64.const 31) | |
| ) | |
| (i64.and | |
| (get_local $6) | |
| (i64.const 4294967295) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (set_local $0 | |
| (i32.add | |
| (get_local $0) | |
| (i32.const 1) | |
| ) | |
| ) | |
| (set_local $7 | |
| (i64.add | |
| (get_local $7) | |
| (i64.const 1) | |
| ) | |
| ) | |
| (set_local $9 | |
| (i64.or | |
| (get_local $8) | |
| (get_local $9) | |
| ) | |
| ) | |
| (br_if $label$24 | |
| (i64.ne | |
| (tee_local $6 | |
| (i64.add | |
| (get_local $6) | |
| (i64.const -5) | |
| ) | |
| ) | |
| (i64.const -6) | |
| ) | |
| ) | |
| (br $label$0) | |
| ) | |
| ) | |
| (return | |
| (i64.load align=1 | |
| (get_local $0) | |
| ) | |
| ) | |
| ) | |
| (get_local $9) | |
| ) | |
| (func $_ZN11tic_tac_toe12apply_createERKNS_6CreateE (param $0 i32) | |
| (local $1 i32) | |
| (local $2 i64) | |
| (local $3 i32) | |
| (local $4 i64) | |
| (local $5 i64) | |
| (local $6 i64) | |
| (local $7 i64) | |
| (local $8 i32) | |
| (i32.store offset=4 | |
| (i32.const 0) | |
| (tee_local $8 | |
| (i32.sub | |
| (i32.load offset=4 | |
| (i32.const 0) | |
| ) | |
| (i32.const 96) | |
| ) | |
| ) | |
| ) | |
| (call $require_auth | |
| (i64.load offset=8 | |
| (get_local $0) | |
| ) | |
| ) | |
| (call $assert | |
| (i64.ne | |
| (i64.load | |
| (get_local $0) | |
| ) | |
| (i64.load offset=8 | |
| (get_local $0) | |
| ) | |
| ) | |
| (i32.const 48) | |
| ) | |
| (set_local $5 | |
| (i64.const 0) | |
| ) | |
| (set_local $4 | |
| (i64.const 59) | |
| ) | |
| (set_local $3 | |
| (i32.const 32) | |
| ) | |
| (set_local $6 | |
| (i64.const 0) | |
| ) | |
| (loop $label$0 | |
| (block $label$1 | |
| (block $label$2 | |
| (block $label$3 | |
| (block $label$4 | |
| (block $label$5 | |
| (br_if $label$5 | |
| (i64.gt_u | |
| (get_local $5) | |
| (i64.const 3) | |
| ) | |
| ) | |
| (br_if $label$4 | |
| (i32.gt_u | |
| (i32.and | |
| (i32.add | |
| (tee_local $1 | |
| (i32.load8_s | |
| (get_local $3) | |
| ) | |
| ) | |
| (i32.const -97) | |
| ) | |
| (i32.const 255) | |
| ) | |
| (i32.const 25) | |
| ) | |
| ) | |
| (set_local $1 | |
| (i32.add | |
| (get_local $1) | |
| (i32.const 165) | |
| ) | |
| ) | |
| (br $label$3) | |
| ) | |
| (set_local $7 | |
| (i64.const 0) | |
| ) | |
| (br_if $label$2 | |
| (i64.le_u | |
| (get_local $5) | |
| (i64.const 11) | |
| ) | |
| ) | |
| (br $label$1) | |
| ) | |
| (set_local $1 | |
| (select | |
| (i32.add | |
| (get_local $1) | |
| (i32.const 208) | |
| ) | |
| (i32.const 0) | |
| (i32.lt_u | |
| (i32.and | |
| (i32.add | |
| (get_local $1) | |
| (i32.const -49) | |
| ) | |
| (i32.const 255) | |
| ) | |
| (i32.const 5) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (set_local $7 | |
| (i64.shr_s | |
| (i64.shl | |
| (i64.extend_u/i32 | |
| (get_local $1) | |
| ) | |
| (i64.const 56) | |
| ) | |
| (i64.const 56) | |
| ) | |
| ) | |
| ) | |
| (set_local $7 | |
| (i64.shl | |
| (i64.and | |
| (get_local $7) | |
| (i64.const 31) | |
| ) | |
| (i64.and | |
| (get_local $4) | |
| (i64.const 4294967295) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (set_local $3 | |
| (i32.add | |
| (get_local $3) | |
| (i32.const 1) | |
| ) | |
| ) | |
| (set_local $5 | |
| (i64.add | |
| (get_local $5) | |
| (i64.const 1) | |
| ) | |
| ) | |
| (set_local $6 | |
| (i64.or | |
| (get_local $7) | |
| (get_local $6) | |
| ) | |
| ) | |
| (br_if $label$0 | |
| (i64.ne | |
| (tee_local $4 | |
| (i64.add | |
| (get_local $4) | |
| (i64.const -5) | |
| ) | |
| ) | |
| (i64.const -6) | |
| ) | |
| ) | |
| ) | |
| (i32.store8 offset=80 | |
| (get_local $8) | |
| (i32.const 9) | |
| ) | |
| (i64.store offset=72 | |
| (get_local $8) | |
| (get_local $6) | |
| ) | |
| (i64.store offset=48 | |
| (get_local $8) | |
| (i64.load | |
| (get_local $0) | |
| ) | |
| ) | |
| (call $assert | |
| (i32.ne | |
| (call $load_i64 | |
| (i64.load | |
| (tee_local $3 | |
| (i32.add | |
| (get_local $0) | |
| (i32.const 8) | |
| ) | |
| ) | |
| ) | |
| (i64.const -3778506236080876544) | |
| (i64.const 7035937633859534848) | |
| (i32.add | |
| (get_local $8) | |
| (i32.const 48) | |
| ) | |
| (i32.const 42) | |
| ) | |
| (i32.const 42) | |
| ) | |
| (i32.const 96) | |
| ) | |
| (i64.store | |
| (get_local $8) | |
| (i64.load | |
| (get_local $0) | |
| ) | |
| ) | |
| (i64.store offset=8 | |
| (get_local $8) | |
| (tee_local $2 | |
| (i64.load | |
| (get_local $3) | |
| ) | |
| ) | |
| ) | |
| (i64.store offset=16 | |
| (get_local $8) | |
| (get_local $2) | |
| ) | |
| (set_local $5 | |
| (i64.const 0) | |
| ) | |
| (set_local $4 | |
| (i64.const 59) | |
| ) | |
| (set_local $3 | |
| (i32.const 32) | |
| ) | |
| (set_local $6 | |
| (i64.const 0) | |
| ) | |
| (loop $label$6 | |
| (block $label$7 | |
| (block $label$8 | |
| (block $label$9 | |
| (block $label$10 | |
| (block $label$11 | |
| (br_if $label$11 | |
| (i64.gt_u | |
| (get_local $5) | |
| (i64.const 3) | |
| ) | |
| ) | |
| (br_if $label$10 | |
| (i32.gt_u | |
| (i32.and | |
| (i32.add | |
| (tee_local $1 | |
| (i32.load8_s | |
| (get_local $3) | |
| ) | |
| ) | |
| (i32.const -97) | |
| ) | |
| (i32.const 255) | |
| ) | |
| (i32.const 25) | |
| ) | |
| ) | |
| (set_local $1 | |
| (i32.add | |
| (get_local $1) | |
| (i32.const 165) | |
| ) | |
| ) | |
| (br $label$9) | |
| ) | |
| (set_local $7 | |
| (i64.const 0) | |
| ) | |
| (br_if $label$8 | |
| (i64.le_u | |
| (get_local $5) | |
| (i64.const 11) | |
| ) | |
| ) | |
| (br $label$7) | |
| ) | |
| (set_local $1 | |
| (select | |
| (i32.add | |
| (get_local $1) | |
| (i32.const 208) | |
| ) | |
| (i32.const 0) | |
| (i32.lt_u | |
| (i32.and | |
| (i32.add | |
| (get_local $1) | |
| (i32.const -49) | |
| ) | |
| (i32.const 255) | |
| ) | |
| (i32.const 5) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (set_local $7 | |
| (i64.shr_s | |
| (i64.shl | |
| (i64.extend_u/i32 | |
| (get_local $1) | |
| ) | |
| (i64.const 56) | |
| ) | |
| (i64.const 56) | |
| ) | |
| ) | |
| ) | |
| (set_local $7 | |
| (i64.shl | |
| (i64.and | |
| (get_local $7) | |
| (i64.const 31) | |
| ) | |
| (i64.and | |
| (get_local $4) | |
| (i64.const 4294967295) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (set_local $3 | |
| (i32.add | |
| (get_local $3) | |
| (i32.const 1) | |
| ) | |
| ) | |
| (set_local $5 | |
| (i64.add | |
| (get_local $5) | |
| (i64.const 1) | |
| ) | |
| ) | |
| (set_local $6 | |
| (i64.or | |
| (get_local $7) | |
| (get_local $6) | |
| ) | |
| ) | |
| (br_if $label$6 | |
| (i64.ne | |
| (tee_local $4 | |
| (i64.add | |
| (get_local $4) | |
| (i64.const -5) | |
| ) | |
| ) | |
| (i64.const -6) | |
| ) | |
| ) | |
| ) | |
| (i32.store16 | |
| (i32.add | |
| (get_local $8) | |
| (i32.const 40) | |
| ) | |
| (i32.const 0) | |
| ) | |
| (i64.store offset=24 | |
| (get_local $8) | |
| (get_local $6) | |
| ) | |
| (i64.store offset=32 | |
| (get_local $8) | |
| (i64.const 9) | |
| ) | |
| (drop | |
| (call $store_i64 | |
| (get_local $2) | |
| (i64.const 7035937633859534848) | |
| (get_local $8) | |
| (i32.const 42) | |
| ) | |
| ) | |
| (i32.store offset=4 | |
| (i32.const 0) | |
| (i32.add | |
| (get_local $8) | |
| (i32.const 96) | |
| ) | |
| ) | |
| ) | |
| (func $_ZN11tic_tac_toe13apply_restartERKNS_7RestartE (param $0 i32) | |
| (local $1 i64) | |
| (local $2 i32) | |
| (local $3 i64) | |
| (local $4 i64) | |
| (local $5 i64) | |
| (local $6 i64) | |
| (local $7 i32) | |
| (local $8 i32) | |
| (i32.store offset=4 | |
| (i32.const 0) | |
| (tee_local $8 | |
| (i32.sub | |
| (i32.load offset=4 | |
| (i32.const 0) | |
| ) | |
| (i32.const 48) | |
| ) | |
| ) | |
| ) | |
| (call $require_auth | |
| (i64.load offset=16 | |
| (get_local $0) | |
| ) | |
| ) | |
| (set_local $4 | |
| (i64.const 0) | |
| ) | |
| (set_local $3 | |
| (i64.const 59) | |
| ) | |
| (set_local $2 | |
| (i32.const 32) | |
| ) | |
| (set_local $5 | |
| (i64.const 0) | |
| ) | |
| (loop $label$0 | |
| (block $label$1 | |
| (block $label$2 | |
| (block $label$3 | |
| (block $label$4 | |
| (block $label$5 | |
| (br_if $label$5 | |
| (i64.gt_u | |
| (get_local $4) | |
| (i64.const 3) | |
| ) | |
| ) | |
| (br_if $label$4 | |
| (i32.gt_u | |
| (i32.and | |
| (i32.add | |
| (tee_local $7 | |
| (i32.load8_s | |
| (get_local $2) | |
| ) | |
| ) | |
| (i32.const -97) | |
| ) | |
| (i32.const 255) | |
| ) | |
| (i32.const 25) | |
| ) | |
| ) | |
| (set_local $7 | |
| (i32.add | |
| (get_local $7) | |
| (i32.const 165) | |
| ) | |
| ) | |
| (br $label$3) | |
| ) | |
| (set_local $6 | |
| (i64.const 0) | |
| ) | |
| (br_if $label$2 | |
| (i64.le_u | |
| (get_local $4) | |
| (i64.const 11) | |
| ) | |
| ) | |
| (br $label$1) | |
| ) | |
| (set_local $7 | |
| (select | |
| (i32.add | |
| (get_local $7) | |
| (i32.const 208) | |
| ) | |
| (i32.const 0) | |
| (i32.lt_u | |
| (i32.and | |
| (i32.add | |
| (get_local $7) | |
| (i32.const -49) | |
| ) | |
| (i32.const 255) | |
| ) | |
| (i32.const 5) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (set_local $6 | |
| (i64.shr_s | |
| (i64.shl | |
| (i64.extend_u/i32 | |
| (get_local $7) | |
| ) | |
| (i64.const 56) | |
| ) | |
| (i64.const 56) | |
| ) | |
| ) | |
| ) | |
| (set_local $6 | |
| (i64.shl | |
| (i64.and | |
| (get_local $6) | |
| (i64.const 31) | |
| ) | |
| (i64.and | |
| (get_local $3) | |
| (i64.const 4294967295) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (set_local $2 | |
| (i32.add | |
| (get_local $2) | |
| (i32.const 1) | |
| ) | |
| ) | |
| (set_local $4 | |
| (i64.add | |
| (get_local $4) | |
| (i64.const 1) | |
| ) | |
| ) | |
| (set_local $5 | |
| (i64.or | |
| (get_local $6) | |
| (get_local $5) | |
| ) | |
| ) | |
| (br_if $label$0 | |
| (i64.ne | |
| (tee_local $3 | |
| (i64.add | |
| (get_local $3) | |
| (i64.const -5) | |
| ) | |
| ) | |
| (i64.const -6) | |
| ) | |
| ) | |
| ) | |
| (i32.store8 offset=32 | |
| (get_local $8) | |
| (i32.const 9) | |
| ) | |
| (i64.store offset=24 | |
| (get_local $8) | |
| (get_local $5) | |
| ) | |
| (i64.store | |
| (get_local $8) | |
| (i64.load | |
| (get_local $0) | |
| ) | |
| ) | |
| (call $assert | |
| (i32.eq | |
| (call $load_i64 | |
| (i64.load offset=8 | |
| (get_local $0) | |
| ) | |
| (i64.const -3778506236080876544) | |
| (i64.const 7035937633859534848) | |
| (get_local $8) | |
| (i32.const 42) | |
| ) | |
| (i32.const 42) | |
| ) | |
| (i32.const 128) | |
| ) | |
| (call $assert | |
| (i32.or | |
| (i64.eq | |
| (tee_local $4 | |
| (i64.load | |
| (i32.add | |
| (get_local $0) | |
| (i32.const 16) | |
| ) | |
| ) | |
| ) | |
| (i64.load offset=8 | |
| (get_local $8) | |
| ) | |
| ) | |
| (i64.eq | |
| (get_local $4) | |
| (i64.load | |
| (get_local $8) | |
| ) | |
| ) | |
| ) | |
| (i32.const 160) | |
| ) | |
| (block $label$6 | |
| (br_if $label$6 | |
| (i32.eqz | |
| (tee_local $7 | |
| (i32.load8_u offset=32 | |
| (get_local $8) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (set_local $2 | |
| (i32.add | |
| (get_local $8) | |
| (i32.const 33) | |
| ) | |
| ) | |
| (loop $label$7 | |
| (i32.store8 | |
| (get_local $2) | |
| (i32.const 0) | |
| ) | |
| (set_local $2 | |
| (i32.add | |
| (get_local $2) | |
| (i32.const 1) | |
| ) | |
| ) | |
| (br_if $label$7 | |
| (tee_local $7 | |
| (i32.add | |
| (get_local $7) | |
| (i32.const -1) | |
| ) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (i64.store offset=16 | |
| (get_local $8) | |
| (tee_local $1 | |
| (i64.load | |
| (i32.add | |
| (get_local $8) | |
| (i32.const 8) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (set_local $4 | |
| (i64.const 0) | |
| ) | |
| (set_local $3 | |
| (i64.const 59) | |
| ) | |
| (set_local $2 | |
| (i32.const 32) | |
| ) | |
| (set_local $5 | |
| (i64.const 0) | |
| ) | |
| (loop $label$8 | |
| (block $label$9 | |
| (block $label$10 | |
| (block $label$11 | |
| (block $label$12 | |
| (block $label$13 | |
| (br_if $label$13 | |
| (i64.gt_u | |
| (get_local $4) | |
| (i64.const 3) | |
| ) | |
| ) | |
| (br_if $label$12 | |
| (i32.gt_u | |
| (i32.and | |
| (i32.add | |
| (tee_local $7 | |
| (i32.load8_s | |
| (get_local $2) | |
| ) | |
| ) | |
| (i32.const -97) | |
| ) | |
| (i32.const 255) | |
| ) | |
| (i32.const 25) | |
| ) | |
| ) | |
| (set_local $7 | |
| (i32.add | |
| (get_local $7) | |
| (i32.const 165) | |
| ) | |
| ) | |
| (br $label$11) | |
| ) | |
| (set_local $6 | |
| (i64.const 0) | |
| ) | |
| (br_if $label$10 | |
| (i64.le_u | |
| (get_local $4) | |
| (i64.const 11) | |
| ) | |
| ) | |
| (br $label$9) | |
| ) | |
| (set_local $7 | |
| (select | |
| (i32.add | |
| (get_local $7) | |
| (i32.const 208) | |
| ) | |
| (i32.const 0) | |
| (i32.lt_u | |
| (i32.and | |
| (i32.add | |
| (get_local $7) | |
| (i32.const -49) | |
| ) | |
| (i32.const 255) | |
| ) | |
| (i32.const 5) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (set_local $6 | |
| (i64.shr_s | |
| (i64.shl | |
| (i64.extend_u/i32 | |
| (get_local $7) | |
| ) | |
| (i64.const 56) | |
| ) | |
| (i64.const 56) | |
| ) | |
| ) | |
| ) | |
| (set_local $6 | |
| (i64.shl | |
| (i64.and | |
| (get_local $6) | |
| (i64.const 31) | |
| ) | |
| (i64.and | |
| (get_local $3) | |
| (i64.const 4294967295) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (set_local $2 | |
| (i32.add | |
| (get_local $2) | |
| (i32.const 1) | |
| ) | |
| ) | |
| (set_local $4 | |
| (i64.add | |
| (get_local $4) | |
| (i64.const 1) | |
| ) | |
| ) | |
| (set_local $5 | |
| (i64.or | |
| (get_local $6) | |
| (get_local $5) | |
| ) | |
| ) | |
| (br_if $label$8 | |
| (i64.ne | |
| (tee_local $3 | |
| (i64.add | |
| (get_local $3) | |
| (i64.const -5) | |
| ) | |
| ) | |
| (i64.const -6) | |
| ) | |
| ) | |
| ) | |
| (i64.store | |
| (i32.add | |
| (get_local $8) | |
| (i32.const 24) | |
| ) | |
| (get_local $5) | |
| ) | |
| (drop | |
| (call $update_i64 | |
| (get_local $1) | |
| (i64.const 7035937633859534848) | |
| (get_local $8) | |
| (i32.const 42) | |
| ) | |
| ) | |
| (i32.store offset=4 | |
| (i32.const 0) | |
| (i32.add | |
| (get_local $8) | |
| (i32.const 48) | |
| ) | |
| ) | |
| ) | |
| (func $_ZN11tic_tac_toe11apply_closeERKNS_5CloseE (param $0 i32) | |
| (local $1 i32) | |
| (local $2 i32) | |
| (local $3 i64) | |
| (local $4 i64) | |
| (local $5 i64) | |
| (local $6 i64) | |
| (local $7 i32) | |
| (i32.store offset=4 | |
| (i32.const 0) | |
| (tee_local $7 | |
| (i32.sub | |
| (i32.load offset=4 | |
| (i32.const 0) | |
| ) | |
| (i32.const 48) | |
| ) | |
| ) | |
| ) | |
| (call $require_auth | |
| (i64.load offset=8 | |
| (get_local $0) | |
| ) | |
| ) | |
| (set_local $4 | |
| (i64.const 0) | |
| ) | |
| (set_local $3 | |
| (i64.const 59) | |
| ) | |
| (set_local $2 | |
| (i32.const 32) | |
| ) | |
| (set_local $5 | |
| (i64.const 0) | |
| ) | |
| (loop $label$0 | |
| (block $label$1 | |
| (block $label$2 | |
| (block $label$3 | |
| (block $label$4 | |
| (block $label$5 | |
| (br_if $label$5 | |
| (i64.gt_u | |
| (get_local $4) | |
| (i64.const 3) | |
| ) | |
| ) | |
| (br_if $label$4 | |
| (i32.gt_u | |
| (i32.and | |
| (i32.add | |
| (tee_local $1 | |
| (i32.load8_s | |
| (get_local $2) | |
| ) | |
| ) | |
| (i32.const -97) | |
| ) | |
| (i32.const 255) | |
| ) | |
| (i32.const 25) | |
| ) | |
| ) | |
| (set_local $1 | |
| (i32.add | |
| (get_local $1) | |
| (i32.const 165) | |
| ) | |
| ) | |
| (br $label$3) | |
| ) | |
| (set_local $6 | |
| (i64.const 0) | |
| ) | |
| (br_if $label$2 | |
| (i64.le_u | |
| (get_local $4) | |
| (i64.const 11) | |
| ) | |
| ) | |
| (br $label$1) | |
| ) | |
| (set_local $1 | |
| (select | |
| (i32.add | |
| (get_local $1) | |
| (i32.const 208) | |
| ) | |
| (i32.const 0) | |
| (i32.lt_u | |
| (i32.and | |
| (i32.add | |
| (get_local $1) | |
| (i32.const -49) | |
| ) | |
| (i32.const 255) | |
| ) | |
| (i32.const 5) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (set_local $6 | |
| (i64.shr_s | |
| (i64.shl | |
| (i64.extend_u/i32 | |
| (get_local $1) | |
| ) | |
| (i64.const 56) | |
| ) | |
| (i64.const 56) | |
| ) | |
| ) | |
| ) | |
| (set_local $6 | |
| (i64.shl | |
| (i64.and | |
| (get_local $6) | |
| (i64.const 31) | |
| ) | |
| (i64.and | |
| (get_local $3) | |
| (i64.const 4294967295) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (set_local $2 | |
| (i32.add | |
| (get_local $2) | |
| (i32.const 1) | |
| ) | |
| ) | |
| (set_local $4 | |
| (i64.add | |
| (get_local $4) | |
| (i64.const 1) | |
| ) | |
| ) | |
| (set_local $5 | |
| (i64.or | |
| (get_local $6) | |
| (get_local $5) | |
| ) | |
| ) | |
| (br_if $label$0 | |
| (i64.ne | |
| (tee_local $3 | |
| (i64.add | |
| (get_local $3) | |
| (i64.const -5) | |
| ) | |
| ) | |
| (i64.const -6) | |
| ) | |
| ) | |
| ) | |
| (i32.store8 offset=32 | |
| (get_local $7) | |
| (i32.const 9) | |
| ) | |
| (i64.store offset=24 | |
| (get_local $7) | |
| (get_local $5) | |
| ) | |
| (i64.store | |
| (get_local $7) | |
| (i64.load | |
| (get_local $0) | |
| ) | |
| ) | |
| (call $assert | |
| (i32.eq | |
| (call $load_i64 | |
| (i64.load | |
| (i32.add | |
| (get_local $0) | |
| (i32.const 8) | |
| ) | |
| ) | |
| (i64.const -3778506236080876544) | |
| (i64.const 7035937633859534848) | |
| (get_local $7) | |
| (i32.const 42) | |
| ) | |
| (i32.const 42) | |
| ) | |
| (i32.const 128) | |
| ) | |
| (drop | |
| (call $remove_i64 | |
| (i64.load offset=8 | |
| (get_local $7) | |
| ) | |
| (i64.const 7035937633859534848) | |
| (get_local $7) | |
| ) | |
| ) | |
| (i32.store offset=4 | |
| (i32.const 0) | |
| (i32.add | |
| (get_local $7) | |
| (i32.const 48) | |
| ) | |
| ) | |
| ) | |
| (func $_ZN11tic_tac_toe10apply_moveERKNS_4MoveE (param $0 i32) | |
| (local $1 i32) | |
| (local $2 i64) | |
| (local $3 i32) | |
| (local $4 i32) | |
| (local $5 i32) | |
| (local $6 i64) | |
| (local $7 i64) | |
| (local $8 i64) | |
| (local $9 i64) | |
| (local $10 i32) | |
| (i32.store offset=4 | |
| (i32.const 0) | |
| (tee_local $10 | |
| (i32.sub | |
| (i32.load offset=4 | |
| (i32.const 0) | |
| ) | |
| (i32.const 48) | |
| ) | |
| ) | |
| ) | |
| (call $require_auth | |
| (i64.load offset=16 | |
| (get_local $0) | |
| ) | |
| ) | |
| (set_local $7 | |
| (i64.const 0) | |
| ) | |
| (set_local $6 | |
| (i64.const 59) | |
| ) | |
| (set_local $5 | |
| (i32.const 32) | |
| ) | |
| (set_local $8 | |
| (i64.const 0) | |
| ) | |
| (loop $label$0 | |
| (block $label$1 | |
| (block $label$2 | |
| (block $label$3 | |
| (block $label$4 | |
| (block $label$5 | |
| (br_if $label$5 | |
| (i64.gt_u | |
| (get_local $7) | |
| (i64.const 3) | |
| ) | |
| ) | |
| (br_if $label$4 | |
| (i32.gt_u | |
| (i32.and | |
| (i32.add | |
| (tee_local $1 | |
| (i32.load8_s | |
| (get_local $5) | |
| ) | |
| ) | |
| (i32.const -97) | |
| ) | |
| (i32.const 255) | |
| ) | |
| (i32.const 25) | |
| ) | |
| ) | |
| (set_local $1 | |
| (i32.add | |
| (get_local $1) | |
| (i32.const 165) | |
| ) | |
| ) | |
| (br $label$3) | |
| ) | |
| (set_local $9 | |
| (i64.const 0) | |
| ) | |
| (br_if $label$2 | |
| (i64.le_u | |
| (get_local $7) | |
| (i64.const 11) | |
| ) | |
| ) | |
| (br $label$1) | |
| ) | |
| (set_local $1 | |
| (select | |
| (i32.add | |
| (get_local $1) | |
| (i32.const 208) | |
| ) | |
| (i32.const 0) | |
| (i32.lt_u | |
| (i32.and | |
| (i32.add | |
| (get_local $1) | |
| (i32.const -49) | |
| ) | |
| (i32.const 255) | |
| ) | |
| (i32.const 5) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (set_local $9 | |
| (i64.shr_s | |
| (i64.shl | |
| (i64.extend_u/i32 | |
| (get_local $1) | |
| ) | |
| (i64.const 56) | |
| ) | |
| (i64.const 56) | |
| ) | |
| ) | |
| ) | |
| (set_local $9 | |
| (i64.shl | |
| (i64.and | |
| (get_local $9) | |
| (i64.const 31) | |
| ) | |
| (i64.and | |
| (get_local $6) | |
| (i64.const 4294967295) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (set_local $5 | |
| (i32.add | |
| (get_local $5) | |
| (i32.const 1) | |
| ) | |
| ) | |
| (set_local $7 | |
| (i64.add | |
| (get_local $7) | |
| (i64.const 1) | |
| ) | |
| ) | |
| (set_local $8 | |
| (i64.or | |
| (get_local $9) | |
| (get_local $8) | |
| ) | |
| ) | |
| (br_if $label$0 | |
| (i64.ne | |
| (tee_local $6 | |
| (i64.add | |
| (get_local $6) | |
| (i64.const -5) | |
| ) | |
| ) | |
| (i64.const -6) | |
| ) | |
| ) | |
| ) | |
| (i32.store8 offset=32 | |
| (get_local $10) | |
| (i32.const 9) | |
| ) | |
| (i64.store offset=24 | |
| (get_local $10) | |
| (get_local $8) | |
| ) | |
| (i64.store | |
| (get_local $10) | |
| (i64.load | |
| (get_local $0) | |
| ) | |
| ) | |
| (call $assert | |
| (i32.eq | |
| (call $load_i64 | |
| (i64.load offset=8 | |
| (get_local $0) | |
| ) | |
| (i64.const -3778506236080876544) | |
| (i64.const 7035937633859534848) | |
| (get_local $10) | |
| (i32.const 42) | |
| ) | |
| (i32.const 42) | |
| ) | |
| (i32.const 128) | |
| ) | |
| (set_local $7 | |
| (i64.const 0) | |
| ) | |
| (set_local $6 | |
| (i64.const 59) | |
| ) | |
| (set_local $5 | |
| (i32.const 32) | |
| ) | |
| (set_local $2 | |
| (i64.load offset=24 | |
| (get_local $10) | |
| ) | |
| ) | |
| (set_local $8 | |
| (i64.const 0) | |
| ) | |
| (loop $label$6 | |
| (block $label$7 | |
| (block $label$8 | |
| (block $label$9 | |
| (block $label$10 | |
| (block $label$11 | |
| (br_if $label$11 | |
| (i64.gt_u | |
| (get_local $7) | |
| (i64.const 3) | |
| ) | |
| ) | |
| (br_if $label$10 | |
| (i32.gt_u | |
| (i32.and | |
| (i32.add | |
| (tee_local $1 | |
| (i32.load8_s | |
| (get_local $5) | |
| ) | |
| ) | |
| (i32.const -97) | |
| ) | |
| (i32.const 255) | |
| ) | |
| (i32.const 25) | |
| ) | |
| ) | |
| (set_local $1 | |
| (i32.add | |
| (get_local $1) | |
| (i32.const 165) | |
| ) | |
| ) | |
| (br $label$9) | |
| ) | |
| (set_local $9 | |
| (i64.const 0) | |
| ) | |
| (br_if $label$8 | |
| (i64.le_u | |
| (get_local $7) | |
| (i64.const 11) | |
| ) | |
| ) | |
| (br $label$7) | |
| ) | |
| (set_local $1 | |
| (select | |
| (i32.add | |
| (get_local $1) | |
| (i32.const 208) | |
| ) | |
| (i32.const 0) | |
| (i32.lt_u | |
| (i32.and | |
| (i32.add | |
| (get_local $1) | |
| (i32.const -49) | |
| ) | |
| (i32.const 255) | |
| ) | |
| (i32.const 5) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (set_local $9 | |
| (i64.shr_s | |
| (i64.shl | |
| (i64.extend_u/i32 | |
| (get_local $1) | |
| ) | |
| (i64.const 56) | |
| ) | |
| (i64.const 56) | |
| ) | |
| ) | |
| ) | |
| (set_local $9 | |
| (i64.shl | |
| (i64.and | |
| (get_local $9) | |
| (i64.const 31) | |
| ) | |
| (i64.and | |
| (get_local $6) | |
| (i64.const 4294967295) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (set_local $5 | |
| (i32.add | |
| (get_local $5) | |
| (i32.const 1) | |
| ) | |
| ) | |
| (set_local $7 | |
| (i64.add | |
| (get_local $7) | |
| (i64.const 1) | |
| ) | |
| ) | |
| (set_local $8 | |
| (i64.or | |
| (get_local $9) | |
| (get_local $8) | |
| ) | |
| ) | |
| (br_if $label$6 | |
| (i64.ne | |
| (tee_local $6 | |
| (i64.add | |
| (get_local $6) | |
| (i64.const -5) | |
| ) | |
| ) | |
| (i64.const -6) | |
| ) | |
| ) | |
| ) | |
| (call $assert | |
| (i64.eq | |
| (get_local $2) | |
| (get_local $8) | |
| ) | |
| (i32.const 192) | |
| ) | |
| (call $assert | |
| (i32.or | |
| (i64.eq | |
| (tee_local $7 | |
| (i64.load | |
| (tee_local $5 | |
| (i32.add | |
| (get_local $0) | |
| (i32.const 16) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (i64.load offset=8 | |
| (get_local $10) | |
| ) | |
| ) | |
| (i64.eq | |
| (get_local $7) | |
| (i64.load | |
| (get_local $10) | |
| ) | |
| ) | |
| ) | |
| (i32.const 160) | |
| ) | |
| (call $assert | |
| (i64.eq | |
| (i64.load | |
| (get_local $5) | |
| ) | |
| (i64.load offset=16 | |
| (get_local $10) | |
| ) | |
| ) | |
| (i32.const 224) | |
| ) | |
| (set_local $1 | |
| (i32.const 0) | |
| ) | |
| (block $label$12 | |
| (br_if $label$12 | |
| (i32.ge_u | |
| (tee_local $3 | |
| (i32.add | |
| (i32.mul | |
| (i32.load offset=24 | |
| (get_local $0) | |
| ) | |
| (i32.const 3) | |
| ) | |
| (i32.load | |
| (tee_local $4 | |
| (i32.add | |
| (get_local $0) | |
| (i32.const 28) | |
| ) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (i32.load8_u | |
| (i32.add | |
| (get_local $10) | |
| (i32.const 32) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (set_local $1 | |
| (i32.eqz | |
| (i32.load8_u | |
| (i32.add | |
| (i32.add | |
| (get_local $10) | |
| (get_local $3) | |
| ) | |
| (i32.const 33) | |
| ) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (call $assert | |
| (get_local $1) | |
| (i32.const 256) | |
| ) | |
| (i32.store8 | |
| (i32.add | |
| (i32.add | |
| (get_local $10) | |
| (i32.add | |
| (i32.mul | |
| (i32.load | |
| (i32.add | |
| (get_local $0) | |
| (i32.const 24) | |
| ) | |
| ) | |
| (i32.const 3) | |
| ) | |
| (i32.load | |
| (get_local $4) | |
| ) | |
| ) | |
| ) | |
| (i32.const 33) | |
| ) | |
| (select | |
| (i32.const 1) | |
| (i32.const 2) | |
| (tee_local $5 | |
| (i64.eq | |
| (i64.load | |
| (get_local $5) | |
| ) | |
| (tee_local $7 | |
| (i64.load | |
| (i32.add | |
| (get_local $10) | |
| (i32.const 8) | |
| ) | |
| ) | |
| ) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (i64.store | |
| (i32.add | |
| (get_local $10) | |
| (i32.const 16) | |
| ) | |
| (select | |
| (i64.load | |
| (get_local $10) | |
| ) | |
| (get_local $7) | |
| (get_local $5) | |
| ) | |
| ) | |
| (i64.store | |
| (i32.add | |
| (get_local $10) | |
| (i32.const 24) | |
| ) | |
| (call $_ZN11tic_tac_toe10get_winnerERKNS_4gameE | |
| (get_local $10) | |
| ) | |
| ) | |
| (drop | |
| (call $update_i64 | |
| (get_local $7) | |
| (i64.const 7035937633859534848) | |
| (get_local $10) | |
| (i32.const 42) | |
| ) | |
| ) | |
| (i32.store offset=4 | |
| (i32.const 0) | |
| (i32.add | |
| (get_local $10) | |
| (i32.const 48) | |
| ) | |
| ) | |
| ) | |
| (func $init | |
| ) | |
| (func $apply (param $0 i64) (param $1 i64) | |
| (local $2 i32) | |
| (local $3 i32) | |
| (local $4 i64) | |
| (local $5 i64) | |
| (local $6 i64) | |
| (local $7 i64) | |
| (local $8 i32) | |
| (i32.store offset=4 | |
| (i32.const 0) | |
| (tee_local $8 | |
| (i32.sub | |
| (i32.load offset=4 | |
| (i32.const 0) | |
| ) | |
| (i32.const 32) | |
| ) | |
| ) | |
| ) | |
| (set_local $5 | |
| (i64.const 0) | |
| ) | |
| (set_local $4 | |
| (i64.const 59) | |
| ) | |
| (set_local $3 | |
| (i32.const 288) | |
| ) | |
| (set_local $6 | |
| (i64.const 0) | |
| ) | |
| (loop $label$0 | |
| (block $label$1 | |
| (block $label$2 | |
| (block $label$3 | |
| (block $label$4 | |
| (block $label$5 | |
| (br_if $label$5 | |
| (i64.gt_u | |
| (get_local $5) | |
| (i64.const 10) | |
| ) | |
| ) | |
| (br_if $label$4 | |
| (i32.gt_u | |
| (i32.and | |
| (i32.add | |
| (tee_local $2 | |
| (i32.load8_s | |
| (get_local $3) | |
| ) | |
| ) | |
| (i32.const -97) | |
| ) | |
| (i32.const 255) | |
| ) | |
| (i32.const 25) | |
| ) | |
| ) | |
| (set_local $2 | |
| (i32.add | |
| (get_local $2) | |
| (i32.const 165) | |
| ) | |
| ) | |
| (br $label$3) | |
| ) | |
| (set_local $7 | |
| (i64.const 0) | |
| ) | |
| (br_if $label$2 | |
| (i64.eq | |
| (get_local $5) | |
| (i64.const 11) | |
| ) | |
| ) | |
| (br $label$1) | |
| ) | |
| (set_local $2 | |
| (select | |
| (i32.add | |
| (get_local $2) | |
| (i32.const 208) | |
| ) | |
| (i32.const 0) | |
| (i32.lt_u | |
| (i32.and | |
| (i32.add | |
| (get_local $2) | |
| (i32.const -49) | |
| ) | |
| (i32.const 255) | |
| ) | |
| (i32.const 5) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (set_local $7 | |
| (i64.shr_s | |
| (i64.shl | |
| (i64.extend_u/i32 | |
| (get_local $2) | |
| ) | |
| (i64.const 56) | |
| ) | |
| (i64.const 56) | |
| ) | |
| ) | |
| ) | |
| (set_local $7 | |
| (i64.shl | |
| (i64.and | |
| (get_local $7) | |
| (i64.const 31) | |
| ) | |
| (i64.and | |
| (get_local $4) | |
| (i64.const 4294967295) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (set_local $3 | |
| (i32.add | |
| (get_local $3) | |
| (i32.const 1) | |
| ) | |
| ) | |
| (set_local $4 | |
| (i64.add | |
| (get_local $4) | |
| (i64.const -5) | |
| ) | |
| ) | |
| (set_local $6 | |
| (i64.or | |
| (get_local $7) | |
| (get_local $6) | |
| ) | |
| ) | |
| (br_if $label$0 | |
| (i64.ne | |
| (tee_local $5 | |
| (i64.add | |
| (get_local $5) | |
| (i64.const 1) | |
| ) | |
| ) | |
| (i64.const 13) | |
| ) | |
| ) | |
| ) | |
| (block $label$6 | |
| (br_if $label$6 | |
| (i64.ne | |
| (get_local $6) | |
| (get_local $0) | |
| ) | |
| ) | |
| (set_local $5 | |
| (i64.const 0) | |
| ) | |
| (set_local $4 | |
| (i64.const 59) | |
| ) | |
| (set_local $3 | |
| (i32.const 304) | |
| ) | |
| (set_local $6 | |
| (i64.const 0) | |
| ) | |
| (loop $label$7 | |
| (block $label$8 | |
| (block $label$9 | |
| (block $label$10 | |
| (block $label$11 | |
| (block $label$12 | |
| (br_if $label$12 | |
| (i64.gt_u | |
| (get_local $5) | |
| (i64.const 5) | |
| ) | |
| ) | |
| (br_if $label$11 | |
| (i32.gt_u | |
| (i32.and | |
| (i32.add | |
| (tee_local $2 | |
| (i32.load8_s | |
| (get_local $3) | |
| ) | |
| ) | |
| (i32.const -97) | |
| ) | |
| (i32.const 255) | |
| ) | |
| (i32.const 25) | |
| ) | |
| ) | |
| (set_local $2 | |
| (i32.add | |
| (get_local $2) | |
| (i32.const 165) | |
| ) | |
| ) | |
| (br $label$10) | |
| ) | |
| (set_local $7 | |
| (i64.const 0) | |
| ) | |
| (br_if $label$9 | |
| (i64.le_u | |
| (get_local $5) | |
| (i64.const 11) | |
| ) | |
| ) | |
| (br $label$8) | |
| ) | |
| (set_local $2 | |
| (select | |
| (i32.add | |
| (get_local $2) | |
| (i32.const 208) | |
| ) | |
| (i32.const 0) | |
| (i32.lt_u | |
| (i32.and | |
| (i32.add | |
| (get_local $2) | |
| (i32.const -49) | |
| ) | |
| (i32.const 255) | |
| ) | |
| (i32.const 5) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (set_local $7 | |
| (i64.shr_s | |
| (i64.shl | |
| (i64.extend_u/i32 | |
| (get_local $2) | |
| ) | |
| (i64.const 56) | |
| ) | |
| (i64.const 56) | |
| ) | |
| ) | |
| ) | |
| (set_local $7 | |
| (i64.shl | |
| (i64.and | |
| (get_local $7) | |
| (i64.const 31) | |
| ) | |
| (i64.and | |
| (get_local $4) | |
| (i64.const 4294967295) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (set_local $3 | |
| (i32.add | |
| (get_local $3) | |
| (i32.const 1) | |
| ) | |
| ) | |
| (set_local $5 | |
| (i64.add | |
| (get_local $5) | |
| (i64.const 1) | |
| ) | |
| ) | |
| (set_local $6 | |
| (i64.or | |
| (get_local $7) | |
| (get_local $6) | |
| ) | |
| ) | |
| (br_if $label$7 | |
| (i64.ne | |
| (tee_local $4 | |
| (i64.add | |
| (get_local $4) | |
| (i64.const -5) | |
| ) | |
| ) | |
| (i64.const -6) | |
| ) | |
| ) | |
| ) | |
| (block $label$13 | |
| (br_if $label$13 | |
| (i64.ne | |
| (get_local $6) | |
| (get_local $1) | |
| ) | |
| ) | |
| (call $assert | |
| (i32.gt_u | |
| (call $read_message | |
| (get_local $8) | |
| (i32.const 16) | |
| ) | |
| (i32.const 15) | |
| ) | |
| (i32.const 320) | |
| ) | |
| (call $_ZN11tic_tac_toe12apply_createERKNS_6CreateE | |
| (get_local $8) | |
| ) | |
| (br $label$6) | |
| ) | |
| (set_local $5 | |
| (i64.const 0) | |
| ) | |
| (set_local $4 | |
| (i64.const 59) | |
| ) | |
| (set_local $3 | |
| (i32.const 352) | |
| ) | |
| (set_local $6 | |
| (i64.const 0) | |
| ) | |
| (loop $label$14 | |
| (block $label$15 | |
| (block $label$16 | |
| (block $label$17 | |
| (block $label$18 | |
| (block $label$19 | |
| (br_if $label$19 | |
| (i64.gt_u | |
| (get_local $5) | |
| (i64.const 6) | |
| ) | |
| ) | |
| (br_if $label$18 | |
| (i32.gt_u | |
| (i32.and | |
| (i32.add | |
| (tee_local $2 | |
| (i32.load8_s | |
| (get_local $3) | |
| ) | |
| ) | |
| (i32.const -97) | |
| ) | |
| (i32.const 255) | |
| ) | |
| (i32.const 25) | |
| ) | |
| ) | |
| (set_local $2 | |
| (i32.add | |
| (get_local $2) | |
| (i32.const 165) | |
| ) | |
| ) | |
| (br $label$17) | |
| ) | |
| (set_local $7 | |
| (i64.const 0) | |
| ) | |
| (br_if $label$16 | |
| (i64.le_u | |
| (get_local $5) | |
| (i64.const 11) | |
| ) | |
| ) | |
| (br $label$15) | |
| ) | |
| (set_local $2 | |
| (select | |
| (i32.add | |
| (get_local $2) | |
| (i32.const 208) | |
| ) | |
| (i32.const 0) | |
| (i32.lt_u | |
| (i32.and | |
| (i32.add | |
| (get_local $2) | |
| (i32.const -49) | |
| ) | |
| (i32.const 255) | |
| ) | |
| (i32.const 5) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (set_local $7 | |
| (i64.shr_s | |
| (i64.shl | |
| (i64.extend_u/i32 | |
| (get_local $2) | |
| ) | |
| (i64.const 56) | |
| ) | |
| (i64.const 56) | |
| ) | |
| ) | |
| ) | |
| (set_local $7 | |
| (i64.shl | |
| (i64.and | |
| (get_local $7) | |
| (i64.const 31) | |
| ) | |
| (i64.and | |
| (get_local $4) | |
| (i64.const 4294967295) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (set_local $3 | |
| (i32.add | |
| (get_local $3) | |
| (i32.const 1) | |
| ) | |
| ) | |
| (set_local $5 | |
| (i64.add | |
| (get_local $5) | |
| (i64.const 1) | |
| ) | |
| ) | |
| (set_local $6 | |
| (i64.or | |
| (get_local $7) | |
| (get_local $6) | |
| ) | |
| ) | |
| (br_if $label$14 | |
| (i64.ne | |
| (tee_local $4 | |
| (i64.add | |
| (get_local $4) | |
| (i64.const -5) | |
| ) | |
| ) | |
| (i64.const -6) | |
| ) | |
| ) | |
| ) | |
| (block $label$20 | |
| (br_if $label$20 | |
| (i64.ne | |
| (get_local $6) | |
| (get_local $1) | |
| ) | |
| ) | |
| (call $assert | |
| (i32.gt_u | |
| (call $read_message | |
| (get_local $8) | |
| (i32.const 24) | |
| ) | |
| (i32.const 23) | |
| ) | |
| (i32.const 320) | |
| ) | |
| (call $_ZN11tic_tac_toe13apply_restartERKNS_7RestartE | |
| (get_local $8) | |
| ) | |
| (br $label$6) | |
| ) | |
| (set_local $5 | |
| (i64.const 0) | |
| ) | |
| (set_local $4 | |
| (i64.const 59) | |
| ) | |
| (set_local $3 | |
| (i32.const 368) | |
| ) | |
| (set_local $6 | |
| (i64.const 0) | |
| ) | |
| (loop $label$21 | |
| (block $label$22 | |
| (block $label$23 | |
| (block $label$24 | |
| (block $label$25 | |
| (block $label$26 | |
| (br_if $label$26 | |
| (i64.gt_u | |
| (get_local $5) | |
| (i64.const 4) | |
| ) | |
| ) | |
| (br_if $label$25 | |
| (i32.gt_u | |
| (i32.and | |
| (i32.add | |
| (tee_local $2 | |
| (i32.load8_s | |
| (get_local $3) | |
| ) | |
| ) | |
| (i32.const -97) | |
| ) | |
| (i32.const 255) | |
| ) | |
| (i32.const 25) | |
| ) | |
| ) | |
| (set_local $2 | |
| (i32.add | |
| (get_local $2) | |
| (i32.const 165) | |
| ) | |
| ) | |
| (br $label$24) | |
| ) | |
| (set_local $7 | |
| (i64.const 0) | |
| ) | |
| (br_if $label$23 | |
| (i64.le_u | |
| (get_local $5) | |
| (i64.const 11) | |
| ) | |
| ) | |
| (br $label$22) | |
| ) | |
| (set_local $2 | |
| (select | |
| (i32.add | |
| (get_local $2) | |
| (i32.const 208) | |
| ) | |
| (i32.const 0) | |
| (i32.lt_u | |
| (i32.and | |
| (i32.add | |
| (get_local $2) | |
| (i32.const -49) | |
| ) | |
| (i32.const 255) | |
| ) | |
| (i32.const 5) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (set_local $7 | |
| (i64.shr_s | |
| (i64.shl | |
| (i64.extend_u/i32 | |
| (get_local $2) | |
| ) | |
| (i64.const 56) | |
| ) | |
| (i64.const 56) | |
| ) | |
| ) | |
| ) | |
| (set_local $7 | |
| (i64.shl | |
| (i64.and | |
| (get_local $7) | |
| (i64.const 31) | |
| ) | |
| (i64.and | |
| (get_local $4) | |
| (i64.const 4294967295) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (set_local $3 | |
| (i32.add | |
| (get_local $3) | |
| (i32.const 1) | |
| ) | |
| ) | |
| (set_local $5 | |
| (i64.add | |
| (get_local $5) | |
| (i64.const 1) | |
| ) | |
| ) | |
| (set_local $6 | |
| (i64.or | |
| (get_local $7) | |
| (get_local $6) | |
| ) | |
| ) | |
| (br_if $label$21 | |
| (i64.ne | |
| (tee_local $4 | |
| (i64.add | |
| (get_local $4) | |
| (i64.const -5) | |
| ) | |
| ) | |
| (i64.const -6) | |
| ) | |
| ) | |
| ) | |
| (block $label$27 | |
| (br_if $label$27 | |
| (i64.ne | |
| (get_local $6) | |
| (get_local $1) | |
| ) | |
| ) | |
| (call $assert | |
| (i32.gt_u | |
| (call $read_message | |
| (get_local $8) | |
| (i32.const 16) | |
| ) | |
| (i32.const 15) | |
| ) | |
| (i32.const 320) | |
| ) | |
| (call $_ZN11tic_tac_toe11apply_closeERKNS_5CloseE | |
| (get_local $8) | |
| ) | |
| (br $label$6) | |
| ) | |
| (set_local $5 | |
| (i64.const 0) | |
| ) | |
| (set_local $4 | |
| (i64.const 59) | |
| ) | |
| (set_local $3 | |
| (i32.const 384) | |
| ) | |
| (set_local $6 | |
| (i64.const 0) | |
| ) | |
| (loop $label$28 | |
| (block $label$29 | |
| (block $label$30 | |
| (block $label$31 | |
| (block $label$32 | |
| (block $label$33 | |
| (br_if $label$33 | |
| (i64.gt_u | |
| (get_local $5) | |
| (i64.const 3) | |
| ) | |
| ) | |
| (br_if $label$32 | |
| (i32.gt_u | |
| (i32.and | |
| (i32.add | |
| (tee_local $2 | |
| (i32.load8_s | |
| (get_local $3) | |
| ) | |
| ) | |
| (i32.const -97) | |
| ) | |
| (i32.const 255) | |
| ) | |
| (i32.const 25) | |
| ) | |
| ) | |
| (set_local $2 | |
| (i32.add | |
| (get_local $2) | |
| (i32.const 165) | |
| ) | |
| ) | |
| (br $label$31) | |
| ) | |
| (set_local $7 | |
| (i64.const 0) | |
| ) | |
| (br_if $label$30 | |
| (i64.le_u | |
| (get_local $5) | |
| (i64.const 11) | |
| ) | |
| ) | |
| (br $label$29) | |
| ) | |
| (set_local $2 | |
| (select | |
| (i32.add | |
| (get_local $2) | |
| (i32.const 208) | |
| ) | |
| (i32.const 0) | |
| (i32.lt_u | |
| (i32.and | |
| (i32.add | |
| (get_local $2) | |
| (i32.const -49) | |
| ) | |
| (i32.const 255) | |
| ) | |
| (i32.const 5) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (set_local $7 | |
| (i64.shr_s | |
| (i64.shl | |
| (i64.extend_u/i32 | |
| (get_local $2) | |
| ) | |
| (i64.const 56) | |
| ) | |
| (i64.const 56) | |
| ) | |
| ) | |
| ) | |
| (set_local $7 | |
| (i64.shl | |
| (i64.and | |
| (get_local $7) | |
| (i64.const 31) | |
| ) | |
| (i64.and | |
| (get_local $4) | |
| (i64.const 4294967295) | |
| ) | |
| ) | |
| ) | |
| ) | |
| (set_local $3 | |
| (i32.add | |
| (get_local $3) | |
| (i32.const 1) | |
| ) | |
| ) | |
| (set_local $5 | |
| (i64.add | |
| (get_local $5) | |
| (i64.const 1) | |
| ) | |
| ) | |
| (set_local $6 | |
| (i64.or | |
| (get_local $7) | |
| (get_local $6) | |
| ) | |
| ) | |
| (br_if $label$28 | |
| (i64.ne | |
| (tee_local $4 | |
| (i64.add | |
| (get_local $4) | |
| (i64.const -5) | |
| ) | |
| ) | |
| (i64.const -6) | |
| ) | |
| ) | |
| ) | |
| (br_if $label$6 | |
| (i64.ne | |
| (get_local $6) | |
| (get_local $1) | |
| ) | |
| ) | |
| (call $assert | |
| (i32.gt_u | |
| (call $read_message | |
| (get_local $8) | |
| (i32.const 32) | |
| ) | |
| (i32.const 31) | |
| ) | |
| (i32.const 320) | |
| ) | |
| (call $_ZN11tic_tac_toe10apply_moveERKNS_4MoveE | |
| (get_local $8) | |
| ) | |
| ) | |
| (i32.store offset=4 | |
| (i32.const 0) | |
| (i32.add | |
| (get_local $8) | |
| (i32.const 32) | |
| ) | |
| ) | |
| ) | |
| ) | 
  
    Sign up for free
    to join this conversation on GitHub.
    Already have an account?
    Sign in to comment