selector dispatch [0x150,0x15b)
00150: DUP1           
00151: PUSH4          0x8a6a1e85
00156: EQ             
00157: PUSH2          0x0337
0015a: JUMPI          

nonpayable handler and decode/body jumps [0x337,0x357)
00337: JUMPDEST       
00338: CALLVALUE      
00339: DUP1           
0033a: ISZERO         
0033b: PUSH2          0x0343
0033e: JUMPI          
0033f: PUSH1          0x00
00341: DUP1           
00342: REVERT         
00343: JUMPDEST       
00344: POP            
00345: PUSH2          0x0255
00348: PUSH2          0x0352
0034b: CALLDATASIZE   
0034c: PUSH1          0x04
0034e: PUSH2          0x4b22
00351: JUMP           
00352: JUMPDEST       
00353: PUSH2          0x0f0d
00356: JUMP           

three word decoder [0x4b22,0x4b63)
04b22: JUMPDEST       
04b23: PUSH1          0x00
04b25: DUP1           
04b26: PUSH1          0x00
04b28: PUSH1          0x60
04b2a: DUP5           
04b2b: DUP7           
04b2c: SUB            
04b2d: SLT            
04b2e: ISZERO         
04b2f: PUSH2          0x4b37
04b32: JUMPI          
04b33: PUSH1          0x00
04b35: DUP1           
04b36: REVERT         
04b37: JUMPDEST       
04b38: DUP4           
04b39: CALLDATALOAD   
04b3a: PUSH2          0x4b42
04b3d: DUP2           
04b3e: PUSH2          0x47ed
04b41: JUMP           
04b42: JUMPDEST       
04b43: SWAP3          
04b44: POP            
04b45: PUSH1          0x20
04b47: DUP5           
04b48: ADD            
04b49: CALLDATALOAD   
04b4a: PUSH2          0x4b52
04b4d: DUP2           
04b4e: PUSH2          0x47ed
04b51: JUMP           
04b52: JUMPDEST       
04b53: SWAP3          
04b54: SWAP6          
04b55: SWAP3          
04b56: SWAP5          
04b57: POP            
04b58: POP            
04b59: POP            
04b5a: PUSH1          0x40
04b5c: SWAP2          
04b5d: SWAP1          
04b5e: SWAP2          
04b5f: ADD            
04b60: CALLDATALOAD   
04b61: SWAP1          
04b62: JUMP           

canonical address validation [0x47ed,0x4805)
047ed: JUMPDEST       
047ee: PUSH1          0x01
047f0: PUSH1          0x01
047f2: PUSH1          0xa0
047f4: SHL            
047f5: SUB            
047f6: DUP2           
047f7: AND            
047f8: DUP2           
047f9: EQ             
047fa: PUSH2          0x4802
047fd: JUMPI          
047fe: PUSH1          0x00
04800: DUP1           
04801: REVERT         
04802: JUMPDEST       
04803: POP            
04804: JUMP           

selected function body [0xf0d,0xf9f)
00f0d: JUMPDEST       
00f0e: PUSH1          0x00
00f10: PUSH2          0x0f22
00f13: PUSH1          0x01
00f15: PUSH1          0x01
00f17: PUSH1          0xa0
00f19: SHL            
00f1a: SUB            
00f1b: DUP6           
00f1c: AND            
00f1d: ADDRESS        
00f1e: PUSH2          0x285a
00f21: JUMP           
00f22: JUMPDEST       
00f23: SWAP1          
00f24: POP            
00f25: DUP2           
00f26: PUSH1          0x00
00f28: PUSH1          0x01
00f2a: PUSH1          0x01
00f2c: PUSH1          0xf0
00f2e: SHL            
00f2f: SUB            
00f30: DUP3           
00f31: AND            
00f32: DUP4           
00f33: GT             
00f34: ISZERO         
00f35: PUSH2          0x0f5a
00f38: JUMPI          
00f39: PUSH2          0x0f4b
00f3c: DUP4           
00f3d: PUSH1          0x01
00f3f: PUSH1          0x01
00f41: PUSH1          0xf0
00f43: SHL            
00f44: SUB            
00f45: DUP5           
00f46: AND            
00f47: PUSH2          0x262f
00f4a: JUMP           
00f4b: JUMPDEST       
00f4c: SWAP1          
00f4d: POP            
00f4e: DUP2           
00f4f: PUSH1          0x01
00f51: PUSH1          0x01
00f53: PUSH1          0xf0
00f55: SHL            
00f56: SUB            
00f57: AND            
00f58: SWAP3          
00f59: POP            
00f5a: JUMPDEST       
00f5b: PUSH1          0xf0
00f5d: DUP5           
00f5e: SWAP1          
00f5f: SHR            
00f60: DUP1           
00f61: ISZERO         
00f62: PUSH2          0x0f82
00f65: JUMPI          
00f66: PUSH2          0x0f7f
00f69: PUSH2          0x0f78
00f6c: PUSH2          0x2710
00f6f: PUSH2          0x09cd
00f72: DUP8           
00f73: DUP6           
00f74: PUSH2          0x292f
00f77: JUMP           
00f78: JUMPDEST       
00f79: DUP4           
00f7a: SWAP1          
00f7b: PUSH2          0x2a30
00f7e: JUMP           
00f7f: JUMPDEST       
00f80: SWAP2          
00f81: POP            
00f82: JUMPDEST       
00f83: PUSH2          0x0f96
00f86: PUSH1          0x01
00f88: PUSH1          0x01
00f8a: PUSH1          0xa0
00f8c: SHL            
00f8d: SUB            
00f8e: DUP9           
00f8f: AND            
00f90: DUP8           
00f91: DUP5           
00f92: PUSH2          0x2a3c
00f95: JUMP           
00f96: JUMPDEST       
00f97: POP            
00f98: POP            
00f99: POP            
00f9a: POP            
00f9b: POP            
00f9c: POP            
00f9d: POP            
00f9e: JUMP           

balance helper [0x285a,0x28fb)
0285a: JUMPDEST       
0285b: PUSH1          0x00
0285d: PUSH2          0x2865
02860: DUP4           
02861: PUSH2          0x2947
02864: JUMP           
02865: JUMPDEST       
02866: ISZERO         
02867: PUSH2          0x287b
0286a: JUMPI          
0286b: POP            
0286c: PUSH1          0x01
0286e: PUSH1          0x01
02870: PUSH1          0xa0
02872: SHL            
02873: SUB            
02874: DUP2           
02875: AND            
02876: BALANCE        
02877: PUSH2          0x263e
0287a: JUMP           
0287b: JUMPDEST       
0287c: PUSH1          0x40
0287e: MLOAD          
0287f: PUSH4          0x70a08231
02884: PUSH1          0xe0
02886: SHL            
02887: DUP2           
02888: MSTORE         
02889: PUSH1          0x01
0288b: PUSH1          0x01
0288d: PUSH1          0xa0
0288f: SHL            
02890: SUB            
02891: DUP4           
02892: DUP2           
02893: AND            
02894: PUSH1          0x04
02896: DUP4           
02897: ADD            
02898: MSTORE         
02899: DUP5           
0289a: AND            
0289b: SWAP1          
0289c: PUSH4          0x70a08231
028a1: SWAP1          
028a2: PUSH1          0x24
028a4: ADD            
028a5: PUSH1          0x20
028a7: PUSH1          0x40
028a9: MLOAD          
028aa: DUP1           
028ab: DUP4           
028ac: SUB            
028ad: DUP2           
028ae: DUP7           
028af: DUP1           
028b0: EXTCODESIZE    
028b1: ISZERO         
028b2: DUP1           
028b3: ISZERO         
028b4: PUSH2          0x28bc
028b7: JUMPI          
028b8: PUSH1          0x00
028ba: DUP1           
028bb: REVERT         
028bc: JUMPDEST       
028bd: POP            
028be: GAS            
028bf: STATICCALL     
028c0: ISZERO         
028c1: DUP1           
028c2: ISZERO         
028c3: PUSH2          0x28d0
028c6: JUMPI          
028c7: RETURNDATASIZE 
028c8: PUSH1          0x00
028ca: DUP1           
028cb: RETURNDATACOPY 
028cc: RETURNDATASIZE 
028cd: PUSH1          0x00
028cf: REVERT         
028d0: JUMPDEST       
028d1: POP            
028d2: POP            
028d3: POP            
028d4: POP            
028d5: PUSH1          0x40
028d7: MLOAD          
028d8: RETURNDATASIZE 
028d9: PUSH1          0x1f
028db: NOT            
028dc: PUSH1          0x1f
028de: DUP3           
028df: ADD            
028e0: AND            
028e1: DUP3           
028e2: ADD            
028e3: DUP1           
028e4: PUSH1          0x40
028e6: MSTORE         
028e7: POP            
028e8: DUP2           
028e9: ADD            
028ea: SWAP1          
028eb: PUSH2          0x28f4
028ee: SWAP2          
028ef: SWAP1          
028f0: PUSH2          0x4e34
028f3: JUMP           
028f4: JUMPDEST       
028f5: SWAP1          
028f6: POP            
028f7: PUSH2          0x263e
028fa: JUMP           

native token predicate [0x2947,0x2992)
02947: JUMPDEST       
02948: PUSH1          0x00
0294a: PUSH1          0x01
0294c: PUSH1          0x01
0294e: PUSH1          0xa0
02950: SHL            
02951: SUB            
02952: DUP3           
02953: AND            
02954: PUSH20         0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee
02969: EQ             
0296a: DUP1           
0296b: PUSH2          0x297e
0296e: JUMPI          
0296f: POP            
02970: PUSH1          0x01
02972: PUSH1          0x01
02974: PUSH1          0xa0
02976: SHL            
02977: SUB            
02978: DUP3           
02979: AND            
0297a: PUSH2          0x1010
0297d: EQ             
0297e: JUMPDEST       
0297f: DUP1           
02980: PUSH2          0x263e
02983: JUMPI          
02984: POP            
02985: POP            
02986: PUSH1          0x01
02988: PUSH1          0x01
0298a: PUSH1          0xa0
0298c: SHL            
0298d: SUB            
0298e: AND            
0298f: ISZERO         
02990: SWAP1          
02991: JUMP           

subtraction wrapper [0x262f,0x2644)
0262f: JUMPDEST       
02630: PUSH1          0x00
02632: PUSH2          0x263b
02635: DUP3           
02636: DUP5           
02637: PUSH2          0x50c5
0263a: JUMP           
0263b: JUMPDEST       
0263c: SWAP1          
0263d: POP            
0263e: JUMPDEST       
0263f: SWAP3          
02640: SWAP2          
02641: POP            
02642: POP            
02643: JUMP           

checked subtraction [0x50c5,0x50dc)
050c5: JUMPDEST       
050c6: PUSH1          0x00
050c8: DUP3           
050c9: DUP3           
050ca: LT             
050cb: ISZERO         
050cc: PUSH2          0x50d7
050cf: JUMPI          
050d0: PUSH2          0x50d7
050d3: PUSH2          0x4e9a
050d6: JUMP           
050d7: JUMPDEST       
050d8: POP            
050d9: SUB            
050da: SWAP1          
050db: JUMP           

native payment path [0x2a3c,0x2ab0)
02a3c: JUMPDEST       
02a3d: DUP1           
02a3e: ISZERO         
02a3f: PUSH2          0x0514
02a42: JUMPI          
02a43: PUSH2          0x2a4b
02a46: DUP4           
02a47: PUSH2          0x2947
02a4a: JUMP           
02a4b: JUMPDEST       
02a4c: ISZERO         
02a4d: PUSH2          0x2ab0
02a50: JUMPI          
02a51: PUSH1          0x00
02a53: DUP3           
02a54: PUSH1          0x01
02a56: PUSH1          0x01
02a58: PUSH1          0xa0
02a5a: SHL            
02a5b: SUB            
02a5c: AND            
02a5d: DUP3           
02a5e: PUSH1          0x40
02a60: MLOAD          
02a61: PUSH1          0x00
02a63: PUSH1          0x40
02a65: MLOAD          
02a66: DUP1           
02a67: DUP4           
02a68: SUB            
02a69: DUP2           
02a6a: DUP6           
02a6b: DUP8           
02a6c: GAS            
02a6d: CALL           
02a6e: SWAP3          
02a6f: POP            
02a70: POP            
02a71: POP            
02a72: RETURNDATASIZE 
02a73: DUP1           
02a74: PUSH1          0x00
02a76: DUP2           
02a77: EQ             
02a78: PUSH2          0x2a9d
02a7b: JUMPI          
02a7c: PUSH1          0x40
02a7e: MLOAD          
02a7f: SWAP2          
02a80: POP            
02a81: PUSH1          0x1f
02a83: NOT            
02a84: PUSH1          0x3f
02a86: RETURNDATASIZE 
02a87: ADD            
02a88: AND            
02a89: DUP3           
02a8a: ADD            
02a8b: PUSH1          0x40
02a8d: MSTORE         
02a8e: RETURNDATASIZE 
02a8f: DUP3           
02a90: MSTORE         
02a91: RETURNDATASIZE 
02a92: PUSH1          0x00
02a94: PUSH1          0x20
02a96: DUP5           
02a97: ADD            
02a98: RETURNDATACOPY 
02a99: PUSH2          0x2aa2
02a9c: JUMP           
02a9d: JUMPDEST       
02a9e: PUSH1          0x60
02aa0: SWAP2          
02aa1: POP            
02aa2: JUMPDEST       
02aa3: POP            
02aa4: POP            
02aa5: SWAP1          
02aa6: POP            
02aa7: DUP1           
02aa8: PUSH2          0x04d6
02aab: JUMPI          
02aac: PUSH1          0x00
02aae: DUP1           
02aaf: REVERT         
