402e92:	8b 16                	mov    (%esi),%edx
402e94:	e8 ff 2b 00 00       	call   0x405a98
402e99:	8b 46 04             	mov    0x4(%esi),%eax
402e9c:	83 c4 04             	add    $0x4,%esp
402e9f:	89 47 04             	mov    %eax,0x4(%edi)
402ea2:	8b c7                	mov    %edi,%eax
402ea4:	5f                   	pop    %edi
402ea5:	5e                   	pop    %esi
402ea6:	5d                   	pop    %ebp
402ea7:	c2 04 00             	ret    $0x4
402eaa:	55                   	push   %ebp
402eab:	8b ec                	mov    %esp,%ebp
402ead:	8b 09                	mov    (%ecx),%ecx
402eaf:	8b 45 08             	mov    0x8(%ebp),%eax
402eb2:	8b 04 08             	mov    (%eax,%ecx,1),%eax
402eb5:	5d                   	pop    %ebp
402eb6:	c2 04 00             	ret    $0x4
402eb9:	83 39 00             	cmpl   $0x0,(%ecx)
402ebc:	74 09                	je     0x402ec7
402ebe:	ff 31                	push   (%ecx)
402ec0:	ff 15 f4 21 41 00    	call   *0x4121f4
402ec6:	c3                   	ret
402ec7:	33 c0                	xor    %eax,%eax
402ec9:	c3                   	ret
402eca:	55                   	push   %ebp
402ecb:	8b ec                	mov    %esp,%ebp
402ecd:	51                   	push   %ecx
402ece:	8b 45 08             	mov    0x8(%ebp),%eax
402ed1:	53                   	push   %ebx
402ed2:	56                   	push   %esi
402ed3:	8b d9                	mov    %ecx,%ebx
402ed5:	33 f6                	xor    %esi,%esi
402ed7:	89 5d fc             	mov    %ebx,-0x4(%ebp)
402eda:	89 30                	mov    %esi,(%eax)
402edc:	e8 d8 ff ff ff       	call   0x402eb9
402ee1:	85 c0                	test   %eax,%eax
402ee3:	7e 64                	jle    0x402f49
402ee5:	56                   	push   %esi
402ee6:	56                   	push   %esi
402ee7:	8b cb                	mov    %ebx,%ecx
402ee9:	e8 cb ff ff ff       	call   0x402eb9
402eee:	83 c0 02             	add    $0x2,%eax
402ef1:	50                   	push   %eax
402ef2:	ff 33                	push   (%ebx)
402ef4:	6a 02                	push   $0x2
402ef6:	56                   	push   %esi
402ef7:	ff 15 e8 21 41 00    	call   *0x4121e8
402efd:	8b f0                	mov    %eax,%esi
402eff:	03 f6                	add    %esi,%esi
402f01:	8b ce                	mov    %esi,%ecx
402f03:	e8 a2 2a 00 00       	call   0x4059aa
402f08:	8b 4d fc             	mov    -0x4(%ebp),%ecx
402f0b:	8b d8                	mov    %eax,%ebx
402f0d:	e8 a7 ff ff ff       	call   0x402eb9
402f12:	8b 45 fc             	mov    -0x4(%ebp),%eax
402f15:	56                   	push   %esi
402f16:	53                   	push   %ebx
402f17:	6a ff                	push   $0xffffffff
402f19:	ff 30                	push   (%eax)
402f1b:	6a 00                	push   $0x0
402f1d:	68 e9 fd 00 00       	push   $0xfde9
402f22:	ff 15 e8 21 41 00    	call   *0x4121e8
402f28:	53                   	push   %ebx
402f29:	8d 4d fc             	lea    -0x4(%ebp),%ecx
402f2c:	e8 e1 04 00 00       	call   0x403412
402f31:	8b 4d 08             	mov    0x8(%ebp),%ecx
402f34:	50                   	push   %eax
402f35:	e8 2a 03 00 00       	call   0x403264
402f3a:	8b 4d fc             	mov    -0x4(%ebp),%ecx
402f3d:	e8 eb 2a 00 00       	call   0x405a2d
402f42:	8b cb                	mov    %ebx,%ecx
402f44:	e8 e4 2a 00 00       	call   0x405a2d
402f49:	8b 45 08             	mov    0x8(%ebp),%eax
402f4c:	5e                   	pop    %esi
402f4d:	5b                   	pop    %ebx
402f4e:	c9                   	leave
402f4f:	c2 04 00             	ret    $0x4
402f52:	55                   	push   %ebp
402f53:	8b ec                	mov    %esp,%ebp
402f55:	56                   	push   %esi
402f56:	8b f1                	mov    %ecx,%esi
402f58:	57                   	push   %edi
402f59:	8b 0e                	mov    (%esi),%ecx
402f5b:	e8 cd 2a 00 00       	call   0x405a2d
402f60:	8b 7d 08             	mov    0x8(%ebp),%edi
402f63:	83 26 00             	andl   $0x0,(%esi)
402f66:	83 3f 00             	cmpl   $0x0,(%edi)
402f69:	74 19                	je     0x402f84
402f6b:	8b cf                	mov    %edi,%ecx
402f6d:	e8 2d 02 00 00       	call   0x40319f
402f72:	8b c8                	mov    %eax,%ecx
402f74:	e8 31 2a 00 00       	call   0x4059aa
402f79:	89 06                	mov    %eax,(%esi)
402f7b:	ff 37                	push   (%edi)
402f7d:	50                   	push   %eax
402f7e:	ff 15 ec 21 41 00    	call   *0x4121ec
402f84:	5f                   	pop    %edi
402f85:	8b c6                	mov    %esi,%eax
402f87:	5e                   	pop    %esi
402f88:	5d                   	pop    %ebp
402f89:	c2 04 00             	ret    $0x4
402f8c:	55                   	push   %ebp
402f8d:	8b ec                	mov    %esp,%ebp
402f8f:	51                   	push   %ecx
402f90:	56                   	push   %esi
402f91:	8b f1                	mov    %ecx,%esi
402f93:	8d 4d fc             	lea    -0x4(%ebp),%ecx
402f96:	68 24 2b 41 00       	push   $0x412b24
402f9b:	e8 4c 02 00 00       	call   0x4031ec
402fa0:	50                   	push   %eax
402fa1:	8b ce                	mov    %esi,%ecx
402fa3:	e8 0f 00 00 00       	call   0x402fb7
402fa8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
402fab:	e8 7d 2a 00 00       	call   0x405a2d
402fb0:	8b c6                	mov    %esi,%eax
402fb2:	5e                   	pop    %esi
402fb3:	c9                   	leave
402fb4:	c2 04 00             	ret    $0x4
402fb7:	55                   	push   %ebp
402fb8:	8b ec                	mov    %esp,%ebp
402fba:	53                   	push   %ebx
402fbb:	56                   	push   %esi
402fbc:	57                   	push   %edi
402fbd:	8b 7d 08             	mov    0x8(%ebp),%edi
402fc0:	8b d9                	mov    %ecx,%ebx
402fc2:	8b cf                	mov    %edi,%ecx
402fc4:	e8 f0 fe ff ff       	call   0x402eb9
402fc9:	8b cb                	mov    %ebx,%ecx
402fcb:	8b f0                	mov    %eax,%esi
402fcd:	e8 e7 fe ff ff       	call   0x402eb9
402fd2:	8b 0b                	mov    (%ebx),%ecx
402fd4:	8d 50 01             	lea    0x1(%eax),%edx
402fd7:	03 d6                	add    %esi,%edx
402fd9:	e8 f0 29 00 00       	call   0x4059ce
402fde:	89 03                	mov    %eax,(%ebx)
402fe0:	ff 37                	push   (%edi)
402fe2:	50                   	push   %eax
402fe3:	ff 15 ec 21 41 00    	call   *0x4121ec
402fe9:	5f                   	pop    %edi
402fea:	5e                   	pop    %esi
402feb:	5b                   	pop    %ebx
402fec:	5d                   	pop    %ebp
402fed:	c2 04 00             	ret    $0x4
402ff0:	56                   	push   %esi
402ff1:	8b f1                	mov    %ecx,%esi
402ff3:	33 c9                	xor    %ecx,%ecx
402ff5:	41                   	inc    %ecx
402ff6:	e8 af 29 00 00       	call   0x4059aa
402ffb:	89 06                	mov    %eax,(%esi)
402ffd:	8b c6                	mov    %esi,%eax
402fff:	5e                   	pop    %esi
403000:	c3                   	ret
403001:	55                   	push   %ebp
403002:	8b ec                	mov    %esp,%ebp
403004:	81 ec 00 04 00 00    	sub    $0x400,%esp
40300a:	8d 85 00 fc ff ff    	lea    -0x400(%ebp),%eax
403010:	56                   	push   %esi
403011:	57                   	push   %edi
403012:	68 00 04 00 00       	push   $0x400
403017:	6a 00                	push   $0x0
403019:	50                   	push   %eax
40301a:	8b f2                	mov    %edx,%esi
40301c:	8b f9                	mov    %ecx,%edi
40301e:	e8 2f e0 ff ff       	call   0x401052
403023:	83 c4 0c             	add    $0xc,%esp
403026:	8d 85 00 fc ff ff    	lea    -0x400(%ebp),%eax
40302c:	68 ff 01 00 00       	push   $0x1ff
403031:	50                   	push   %eax
403032:	ff 36                	push   (%esi)
403034:	ff 15 f8 21 41 00    	call   *0x4121f8
40303a:	8d 85 00 fc ff ff    	lea    -0x400(%ebp),%eax
403040:	8b cf                	mov    %edi,%ecx
403042:	50                   	push   %eax
403043:	e8 ca 03 00 00       	call   0x403412
403048:	8b c7                	mov    %edi,%eax
40304a:	5f                   	pop    %edi
40304b:	5e                   	pop    %esi
40304c:	c9                   	leave
40304d:	c3                   	ret
40304e:	55                   	push   %ebp
40304f:	8b ec                	mov    %esp,%ebp
403051:	56                   	push   %esi
403052:	57                   	push   %edi
403053:	8b 7d 08             	mov    0x8(%ebp),%edi
403056:	83 27 00             	andl   $0x0,(%edi)
403059:	83 67 04 00          	andl   $0x0,0x4(%edi)
40305d:	8b 31                	mov    (%ecx),%esi
40305f:	e8 4d 01 00 00       	call   0x4031b1
403064:	50                   	push   %eax
403065:	56                   	push   %esi
403066:	8b cf                	mov    %edi,%ecx
403068:	e8 54 fd ff ff       	call   0x402dc1
40306d:	8b c7                	mov    %edi,%eax
40306f:	5f                   	pop    %edi
403070:	5e                   	pop    %esi
403071:	5d                   	pop    %ebp
403072:	c2 04 00             	ret    $0x4
403075:	55                   	push   %ebp
403076:	8b ec                	mov    %esp,%ebp
403078:	8b 45 08             	mov    0x8(%ebp),%eax
40307b:	ff 30                	push   (%eax)
40307d:	ff 31                	push   (%ecx)
40307f:	ff 15 c4 21 41 00    	call   *0x4121c4
403085:	f7 d8                	neg    %eax
403087:	1b c0                	sbb    %eax,%eax
403089:	40                   	inc    %eax
40308a:	5d                   	pop    %ebp
40308b:	c2 04 00             	ret    $0x4
40308e:	83 39 00             	cmpl   $0x0,(%ecx)
403091:	74 09                	je     0x40309c
403093:	ff 31                	push   (%ecx)
403095:	ff 15 fc 21 41 00    	call   *0x4121fc
40309b:	c3                   	ret
40309c:	33 c0                	xor    %eax,%eax
40309e:	c3                   	ret
40309f:	55                   	push   %ebp
4030a0:	8b ec                	mov    %esp,%ebp
4030a2:	81 ec 08 02 00 00    	sub    $0x208,%esp
4030a8:	56                   	push   %esi
4030a9:	ff 75 08             	push   0x8(%ebp)
4030ac:	8d 85 f8 fd ff ff    	lea    -0x208(%ebp),%eax
4030b2:	8b f1                	mov    %ecx,%esi
4030b4:	68 60 26 41 00       	push   $0x412660
4030b9:	50                   	push   %eax
4030ba:	ff 15 9c 22 41 00    	call   *0x41229c
4030c0:	83 c4 0c             	add    $0xc,%esp
4030c3:	8d 85 f8 fd ff ff    	lea    -0x208(%ebp),%eax
4030c9:	8d 4d 08             	lea    0x8(%ebp),%ecx
4030cc:	50                   	push   %eax
4030cd:	e8 40 03 00 00       	call   0x403412
4030d2:	8d 45 08             	lea    0x8(%ebp),%eax
4030d5:	8b ce                	mov    %esi,%ecx
4030d7:	50                   	push   %eax
4030d8:	e8 85 00 00 00       	call   0x403162
4030dd:	8b 4d 08             	mov    0x8(%ebp),%ecx
4030e0:	e8 48 29 00 00       	call   0x405a2d
4030e5:	8b c6                	mov    %esi,%eax
4030e7:	5e                   	pop    %esi
4030e8:	c9                   	leave
4030e9:	c2 04 00             	ret    $0x4
4030ec:	55                   	push   %ebp
4030ed:	8b ec                	mov    %esp,%ebp
4030ef:	51                   	push   %ecx
4030f0:	56                   	push   %esi
4030f1:	8d 45 fc             	lea    -0x4(%ebp),%eax
4030f4:	8b f1                	mov    %ecx,%esi
4030f6:	50                   	push   %eax
4030f7:	ff 75 08             	push   0x8(%ebp)
4030fa:	8d 4d 08             	lea    0x8(%ebp),%ecx
4030fd:	e8 ea 00 00 00       	call   0x4031ec
403102:	8b c8                	mov    %eax,%ecx
403104:	e8 c1 fd ff ff       	call   0x402eca
403109:	50                   	push   %eax
40310a:	8b ce                	mov    %esi,%ecx
40310c:	e8 51 00 00 00       	call   0x403162
403111:	8b 4d fc             	mov    -0x4(%ebp),%ecx
403114:	e8 14 29 00 00       	call   0x405a2d
403119:	8b 4d 08             	mov    0x8(%ebp),%ecx
40311c:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
403120:	e8 08 29 00 00       	call   0x405a2d
403125:	8b c6                	mov    %esi,%eax
403127:	5e                   	pop    %esi
403128:	c9                   	leave
403129:	c2 04 00             	ret    $0x4
40312c:	55                   	push   %ebp
40312d:	8b ec                	mov    %esp,%ebp
40312f:	56                   	push   %esi
403130:	8b f1                	mov    %ecx,%esi
403132:	8b 0e                	mov    (%esi),%ecx
403134:	85 c9                	test   %ecx,%ecx
403136:	74 08                	je     0x403140
403138:	e8 f0 28 00 00       	call   0x405a2d
40313d:	83 26 00             	andl   $0x0,(%esi)
403140:	ff 75 08             	push   0x8(%ebp)
403143:	8d 4d 08             	lea    0x8(%ebp),%ecx
403146:	e8 c7 02 00 00       	call   0x403412
40314b:	50                   	push   %eax
40314c:	8b ce                	mov    %esi,%ecx
40314e:	e8 0f 00 00 00       	call   0x403162
403153:	8b 4d 08             	mov    0x8(%ebp),%ecx
403156:	e8 d2 28 00 00       	call   0x405a2d
40315b:	8b c6                	mov    %esi,%eax
40315d:	5e                   	pop    %esi
40315e:	5d                   	pop    %ebp
40315f:	c2 04 00             	ret    $0x4
403162:	55                   	push   %ebp
403163:	8b ec                	mov    %esp,%ebp
403165:	53                   	push   %ebx
403166:	56                   	push   %esi
403167:	57                   	push   %edi
403168:	8b 7d 08             	mov    0x8(%ebp),%edi
40316b:	8b d9                	mov    %ecx,%ebx
40316d:	8b cf                	mov    %edi,%ecx
40316f:	e8 1a ff ff ff       	call   0x40308e
403174:	8b cb                	mov    %ebx,%ecx
403176:	8b f0                	mov    %eax,%esi
403178:	e8 11 ff ff ff       	call   0x40308e
40317d:	8b 0b                	mov    (%ebx),%ecx
40317f:	03 f0                	add    %eax,%esi
403181:	8d 14 75 04 00 00 00 	lea    0x4(,%esi,2),%edx
403188:	e8 41 28 00 00       	call   0x4059ce
40318d:	89 03                	mov    %eax,(%ebx)
40318f:	ff 37                	push   (%edi)
403191:	50                   	push   %eax
403192:	ff 15 04 22 41 00    	call   *0x412204
403198:	5f                   	pop    %edi
403199:	5e                   	pop    %esi
40319a:	5b                   	pop    %ebx
40319b:	5d                   	pop    %ebp
40319c:	c2 04 00             	ret    $0x4
40319f:	83 39 00             	cmpl   $0x0,(%ecx)
4031a2:	74 0a                	je     0x4031ae
4031a4:	ff 31                	push   (%ecx)
4031a6:	ff 15 f4 21 41 00    	call   *0x4121f4
4031ac:	40                   	inc    %eax
4031ad:	c3                   	ret
4031ae:	33 c0                	xor    %eax,%eax
4031b0:	c3                   	ret
4031b1:	83 39 00             	cmpl   $0x0,(%ecx)
4031b4:	75 03                	jne    0x4031b9
4031b6:	33 c0                	xor    %eax,%eax
4031b8:	c3                   	ret
4031b9:	ff 31                	push   (%ecx)
4031bb:	ff 15 fc 21 41 00    	call   *0x4121fc
4031c1:	8d 04 45 02 00 00 00 	lea    0x2(,%eax,2),%eax
4031c8:	c3                   	ret
4031c9:	8b 09                	mov    (%ecx),%ecx
4031cb:	e9 5d 28 00 00       	jmp    0x405a2d
4031d0:	55                   	push   %ebp
4031d1:	8b ec                	mov    %esp,%ebp
4031d3:	8b 45 08             	mov    0x8(%ebp),%eax
4031d6:	ff 30                	push   (%eax)
4031d8:	ff 31                	push   (%ecx)
4031da:	ff 15 f0 21 41 00    	call   *0x4121f0
4031e0:	f7 d8                	neg    %eax
4031e2:	1b c0                	sbb    %eax,%eax
4031e4:	40                   	inc    %eax
4031e5:	5d                   	pop    %ebp
4031e6:	c2 04 00             	ret    $0x4
4031e9:	8b 01                	mov    (%ecx),%eax
4031eb:	c3                   	ret
4031ec:	55                   	push   %ebp
4031ed:	8b ec                	mov    %esp,%ebp
4031ef:	56                   	push   %esi
4031f0:	ff 75 08             	push   0x8(%ebp)
4031f3:	8b f1                	mov    %ecx,%esi
4031f5:	ff 15 f4 21 41 00    	call   *0x4121f4
4031fb:	85 c0                	test   %eax,%eax
4031fd:	7e 1c                	jle    0x40321b
4031ff:	ff 75 08             	push   0x8(%ebp)