403dca:	74 45                	je     0x403e11
403dcc:	8b 0d 54 a2 42 00    	mov    0x42a254,%ecx
403dd2:	8b 49 64             	mov    0x64(%ecx),%ecx
403dd5:	8b d1                	mov    %ecx,%edx
403dd7:	0f af ce             	imul   %esi,%ecx
403dda:	f7 da                	neg    %edx
403ddc:	03 0d a0 a2 42 00    	add    0x42a2a0,%ecx
403de2:	03 ca                	add    %edx,%ecx
403de4:	4e                   	dec    %esi
403de5:	66 8b 29             	mov    (%ecx),%bp
403de8:	66 33 e8             	xor    %ax,%bp
403deb:	23 eb                	and    %ebx,%ebp
403ded:	66 85 ed             	test   %bp,%bp
403df0:	74 06                	je     0x403df8
403df2:	85 f6                	test   %esi,%esi
403df4:	75 ec                	jne    0x403de2
403df6:	eb 19                	jmp    0x403e11
403df8:	8b 51 02             	mov    0x2(%ecx),%edx
403dfb:	89 15 20 92 42 00    	mov    %edx,0x429220
403e01:	8b 51 06             	mov    0x6(%ecx),%edx
403e04:	89 15 08 a3 42 00    	mov    %edx,0x42a308
403e0a:	8d 51 0a             	lea    0xa(%ecx),%edx
403e0d:	85 d2                	test   %edx,%edx
403e0f:	75 12                	jne    0x403e23
403e11:	66 81 fb ff ff       	cmp    $0xffff,%bx
403e16:	75 07                	jne    0x403e1f
403e18:	bb ff 03 00 00       	mov    $0x3ff,%ebx
403e1d:	eb a3                	jmp    0x403dc2
403e1f:	33 db                	xor    %ebx,%ebx
403e21:	eb 9f                	jmp    0x403dc2
403e23:	89 15 1c 92 42 00    	mov    %edx,0x42921c
403e29:	0f b7 01             	movzwl (%ecx),%eax
403e2c:	50                   	push   %eax
403e2d:	57                   	push   %edi
403e2e:	e8 fc 24 00 00       	call   0x40632f
403e33:	e8 2f 00 00 00       	call   0x403e67
403e38:	a1 8c a2 42 00       	mov    0x42a28c,%eax
403e3d:	8b 35 88 a2 42 00    	mov    0x42a288,%esi
403e43:	85 c0                	test   %eax,%eax
403e45:	74 1b                	je     0x403e62
403e47:	8b f8                	mov    %eax,%edi
403e49:	8b 06                	mov    (%esi),%eax
403e4b:	85 c0                	test   %eax,%eax
403e4d:	74 0a                	je     0x403e59
403e4f:	50                   	push   %eax
403e50:	8d 46 18             	lea    0x18(%esi),%eax
403e53:	50                   	push   %eax
403e54:	e8 b1 25 00 00       	call   0x40640a
403e59:	81 c6 18 08 00 00    	add    $0x818,%esi
403e5f:	4f                   	dec    %edi
403e60:	75 e7                	jne    0x403e49
403e62:	5f                   	pop    %edi
403e63:	5e                   	pop    %esi
403e64:	5d                   	pop    %ebp
403e65:	5b                   	pop    %ebx
403e66:	c3                   	ret
403e67:	56                   	push   %esi
403e68:	be 40 92 42 00       	mov    $0x429240,%esi
403e6d:	6a fe                	push   $0xfffffffe
403e6f:	56                   	push   %esi
403e70:	e8 95 25 00 00       	call   0x40640a
403e75:	56                   	push   %esi
403e76:	ff 35 08 37 42 00    	push   0x423708
403e7c:	ff 15 5c 82 40 00    	call   *0x40825c
403e82:	8b c6                	mov    %esi,%eax
403e84:	5e                   	pop    %esi
403e85:	c3                   	ret
403e86:	83 ec 10             	sub    $0x10,%esp
403e89:	b9 10 01 00 00       	mov    $0x110,%ecx
403e8e:	53                   	push   %ebx
403e8f:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
403e93:	55                   	push   %ebp
403e94:	56                   	push   %esi
403e95:	3b d9                	cmp    %ecx,%ebx
403e97:	57                   	push   %edi
403e98:	0f 84 3b 01 00 00    	je     0x403fd9
403e9e:	81 fb 08 04 00 00    	cmp    $0x408,%ebx
403ea4:	0f 84 2f 01 00 00    	je     0x403fd9
403eaa:	8b 7c 24 24          	mov    0x24(%esp),%edi
403eae:	33 ed                	xor    %ebp,%ebp
403eb0:	83 fb 47             	cmp    $0x47,%ebx
403eb3:	75 13                	jne    0x403ec8
403eb5:	6a 13                	push   $0x13
403eb7:	55                   	push   %ebp
403eb8:	55                   	push   %ebp
403eb9:	55                   	push   %ebp
403eba:	55                   	push   %ebp
403ebb:	57                   	push   %edi
403ebc:	ff 35 08 37 42 00    	push   0x423708
403ec2:	ff 15 a4 81 40 00    	call   *0x4081a4
403ec8:	83 fb 05             	cmp    $0x5,%ebx
403ecb:	75 18                	jne    0x403ee5
403ecd:	8b 44 24 2c          	mov    0x2c(%esp),%eax
403ed1:	48                   	dec    %eax
403ed2:	f7 d8                	neg    %eax
403ed4:	1b c0                	sbb    %eax,%eax
403ed6:	23 c3                	and    %ebx,%eax
403ed8:	50                   	push   %eax
403ed9:	ff 35 08 37 42 00    	push   0x423708
403edf:	ff 15 68 82 40 00    	call   *0x408268
403ee5:	81 fb 0d 04 00 00    	cmp    $0x40d,%ebx
403eeb:	75 1a                	jne    0x403f07
403eed:	ff 35 18 92 42 00    	push   0x429218
403ef3:	ff 15 50 82 40 00    	call   *0x408250
403ef9:	8b 44 24 2c          	mov    0x2c(%esp),%eax
403efd:	a3 18 92 42 00       	mov    %eax,0x429218
403f02:	e9 02 04 00 00       	jmp    0x404309
403f07:	83 fb 11             	cmp    $0x11,%ebx
403f0a:	75 11                	jne    0x403f1d
403f0c:	55                   	push   %ebp
403f0d:	55                   	push   %ebp
403f0e:	57                   	push   %edi
403f0f:	ff 15 70 82 40 00    	call   *0x408270
403f15:	33 c0                	xor    %eax,%eax
403f17:	40                   	inc    %eax
403f18:	e9 11 04 00 00       	jmp    0x40432e
403f1d:	81 fb 11 01 00 00    	cmp    $0x111,%ebx
403f23:	0f 85 9d 00 00 00    	jne    0x403fc6
403f29:	0f b7 74 24 2c       	movzwl 0x2c(%esp),%esi
403f2e:	56                   	push   %esi
403f2f:	57                   	push   %edi
403f30:	ff 15 e4 81 40 00    	call   *0x4081e4
403f36:	8b f8                	mov    %eax,%edi
403f38:	3b fd                	cmp    %ebp,%edi
403f3a:	74 1d                	je     0x403f59
403f3c:	55                   	push   %ebp
403f3d:	55                   	push   %ebp
403f3e:	68 f3 00 00 00       	push   $0xf3
403f43:	57                   	push   %edi
403f44:	ff 15 18 82 40 00    	call   *0x408218
403f4a:	57                   	push   %edi
403f4b:	ff 15 a0 81 40 00    	call   *0x4081a0
403f51:	85 c0                	test   %eax,%eax
403f53:	0f 84 d3 03 00 00    	je     0x40432c
403f59:	83 fe 01             	cmp    $0x1,%esi
403f5c:	75 03                	jne    0x403f61
403f5e:	56                   	push   %esi
403f5f:	eb 2e                	jmp    0x403f8f
403f61:	83 fe 03             	cmp    $0x3,%esi
403f64:	75 0c                	jne    0x403f72
403f66:	39 2d 9c a3 40 00    	cmp    %ebp,0x40a39c
403f6c:	7e 3f                	jle    0x403fad
403f6e:	6a ff                	push   $0xffffffff
403f70:	eb 1d                	jmp    0x403f8f
403f72:	6a 02                	push   $0x2
403f74:	5f                   	pop    %edi
403f75:	3b f7                	cmp    %edi,%esi
403f77:	75 34                	jne    0x403fad
403f79:	39 2d ec a2 42 00    	cmp    %ebp,0x42a2ec
403f7f:	74 15                	je     0x403f96
403f81:	57                   	push   %edi
403f82:	e8 84 d4 ff ff       	call   0x40140b
403f87:	89 3d f8 1e 42 00    	mov    %edi,0x421ef8
403f8d:	6a 78                	push   $0x78
403f8f:	e8 a4 03 00 00       	call   0x404338
403f94:	eb 30                	jmp    0x403fc6
403f96:	6a 03                	push   $0x3
403f98:	e8 6e d4 ff ff       	call   0x40140b
403f9d:	85 c0                	test   %eax,%eax
403f9f:	75 25                	jne    0x403fc6
403fa1:	c7 05 f8 1e 42 00 01 	movl   $0x1,0x421ef8
403fa8:	00 00 00
403fab:	eb e0                	jmp    0x403f8d
403fad:	ff 74 24 30          	push   0x30(%esp)
403fb1:	ff 74 24 30          	push   0x30(%esp)
403fb5:	68 11 01 00 00       	push   $0x111
403fba:	ff 35 18 92 42 00    	push   0x429218
403fc0:	ff 15 18 82 40 00    	call   *0x408218
403fc6:	ff 74 24 30          	push   0x30(%esp)
403fca:	ff 74 24 30          	push   0x30(%esp)
403fce:	53                   	push   %ebx
403fcf:	e8 f2 03 00 00       	call   0x4043c6
403fd4:	e9 55 03 00 00       	jmp    0x40432e
403fd9:	8b 44 24 2c          	mov    0x2c(%esp),%eax
403fdd:	8b 7c 24 24          	mov    0x24(%esp),%edi
403fe1:	3b d9                	cmp    %ecx,%ebx
403fe3:	a3 10 37 42 00       	mov    %eax,0x423710
403fe8:	75 4d                	jne    0x404037
403fea:	8b 35 e4 81 40 00    	mov    0x4081e4,%esi
403ff0:	6a 01                	push   $0x1
403ff2:	57                   	push   %edi
403ff3:	89 3d 48 a2 42 00    	mov    %edi,0x42a248
403ff9:	ff d6                	call   *%esi
403ffb:	6a 02                	push   $0x2
403ffd:	57                   	push   %edi
403ffe:	a3 24 37 42 00       	mov    %eax,0x423724
404003:	ff d6                	call   *%esi
404005:	6a ff                	push   $0xffffffff
404007:	6a 1c                	push   $0x1c
404009:	57                   	push   %edi
40400a:	a3 f0 16 42 00       	mov    %eax,0x4216f0
40400f:	e8 4b 03 00 00       	call   0x40435f
404014:	ff 35 28 92 42 00    	push   0x429228
40401a:	6a f2                	push   $0xfffffff2
40401c:	57                   	push   %edi
40401d:	ff 15 98 81 40 00    	call   *0x408198
404023:	6a 04                	push   $0x4
404025:	e8 e1 d3 ff ff       	call   0x40140b
40402a:	a3 0c 92 42 00       	mov    %eax,0x42920c
40402f:	33 c0                	xor    %eax,%eax
404031:	40                   	inc    %eax
404032:	a3 10 37 42 00       	mov    %eax,0x423710
404037:	8b 0d 9c a3 40 00    	mov    0x40a39c,%ecx
40403d:	33 ed                	xor    %ebp,%ebp
40403f:	8b f1                	mov    %ecx,%esi
404041:	c1 e6 06             	shl    $0x6,%esi
404044:	03 35 80 a2 42 00    	add    0x42a280,%esi
40404a:	3b cd                	cmp    %ebp,%ecx
40404c:	7c 3e                	jl     0x40408c
40404e:	83 f8 01             	cmp    $0x1,%eax
404051:	75 31                	jne    0x404084
404053:	55                   	push   %ebp
404054:	ff 76 10             	push   0x10(%esi)
404057:	e8 2d d3 ff ff       	call   0x401389
40405c:	85 c0                	test   %eax,%eax
40405e:	74 24                	je     0x404084
404060:	6a 01                	push   $0x1
404062:	55                   	push   %ebp
404063:	68 0f 04 00 00       	push   $0x40f
404068:	ff 35 18 92 42 00    	push   0x429218
40406e:	ff 15 18 82 40 00    	call   *0x408218
404074:	33 c0                	xor    %eax,%eax
404076:	39 2d 0c 92 42 00    	cmp    %ebp,0x42920c
40407c:	0f 94 c0             	sete   %al
40407f:	e9 aa 02 00 00       	jmp    0x40432e
404084:	39 2e                	cmp    %ebp,(%esi)
404086:	0f 84 a0 02 00 00    	je     0x40432c
40408c:	68 0b 04 00 00       	push   $0x40b
404091:	e8 15 03 00 00       	call   0x4043ab
404096:	a1 10 37 42 00       	mov    0x423710,%eax
40409b:	01 05 9c a3 40 00    	add    %eax,0x40a39c
4040a1:	c1 e0 06             	shl    $0x6,%eax
4040a4:	03 f0                	add    %eax,%esi
4040a6:	a1 9c a3 40 00       	mov    0x40a39c,%eax
4040ab:	3b 05 84 a2 42 00    	cmp    0x42a284,%eax
4040b1:	75 07                	jne    0x4040ba
4040b3:	6a 01                	push   $0x1
4040b5:	e8 51 d3 ff ff       	call   0x40140b
4040ba:	39 2d 0c 92 42 00    	cmp    %ebp,0x42920c
4040c0:	0f 85 24 02 00 00    	jne    0x4042ea
4040c6:	a1 84 a2 42 00       	mov    0x42a284,%eax
4040cb:	39 05 9c a3 40 00    	cmp    %eax,0x40a39c
4040d1:	0f 83 13 02 00 00    	jae    0x4042ea
4040d7:	ff 76 24             	push   0x24(%esi)
4040da:	8b 5e 14             	mov    0x14(%esi),%ebx
4040dd:	68 00 a0 43 00       	push   $0x43a000
4040e2:	e8 23 23 00 00       	call   0x40640a
4040e7:	ff 76 20             	push   0x20(%esi)
4040ea:	68 19 fc ff ff       	push   $0xfffffc19
4040ef:	57                   	push   %edi
4040f0:	e8 6a 02 00 00       	call   0x40435f
4040f5:	ff 76 1c             	push   0x1c(%esi)
4040f8:	68 1b fc ff ff       	push   $0xfffffc1b
4040fd:	57                   	push   %edi
4040fe:	e8 5c 02 00 00       	call   0x40435f
404103:	ff 76 28             	push   0x28(%esi)
404106:	68 1a fc ff ff       	push   $0xfffffc1a
40410b:	57                   	push   %edi
40410c:	e8 4e 02 00 00       	call   0x40435f
404111:	6a 03                	push   $0x3
404113:	57                   	push   %edi
404114:	ff 15 e4 81 40 00    	call   *0x4081e4
40411a:	39 2d ec a2 42 00    	cmp    %ebp,0x42a2ec
404120:	89 44 24 2c          	mov    %eax,0x2c(%esp)
404124:	74 08                	je     0x40412e
404126:	66 81 e3 fd fe       	and    $0xfefd,%bx
40412b:	83 cb 04             	or     $0x4,%ebx
40412e:	8b cb                	mov    %ebx,%ecx
404130:	83 e1 08             	and    $0x8,%ecx
404133:	51                   	push   %ecx
404134:	50                   	push   %eax
404135:	ff 15 68 82 40 00    	call   *0x408268
40413b:	8b c3                	mov    %ebx,%eax
40413d:	25 00 01 00 00       	and    $0x100,%eax
404142:	50                   	push   %eax
404143:	ff 74 24 30          	push   0x30(%esp)
404147:	ff 15 10 82 40 00    	call   *0x408210
40414d:	8b c3                	mov    %ebx,%eax
40414f:	83 e0 02             	and    $0x2,%eax
404152:	50                   	push   %eax
404153:	e8 29 02 00 00       	call   0x404381
404158:	83 e3 04             	and    $0x4,%ebx
40415b:	53                   	push   %ebx
40415c:	ff 35 f0 16 42 00    	push   0x4216f0
404162:	ff 15 10 82 40 00    	call   *0x408210
404168:	3b dd                	cmp    %ebp,%ebx
40416a:	74 03                	je     0x40416f
40416c:	55                   	push   %ebp
40416d:	eb 02                	jmp    0x404171
40416f:	6a 01                	push   $0x1
404171:	68 60 f0 00 00       	push   $0xf060
404176:	55                   	push   %ebp
404177:	57                   	push   %edi
404178:	ff 15 94 81 40 00    	call   *0x408194
40417e:	50                   	push   %eax
40417f:	ff 15 9c 81 40 00    	call   *0x40819c
404185:	8b 1d 18 82 40 00    	mov    0x408218,%ebx
40418b:	6a 01                	push   $0x1
40418d:	55                   	push   %ebp
40418e:	68 f4 00 00 00       	push   $0xf4
404193:	ff 74 24 38          	push   0x38(%esp)
404197:	ff d3                	call   *%ebx
404199:	39 2d ec a2 42 00    	cmp    %ebp,0x42a2ec
40419f:	74 13                	je     0x4041b4
4041a1:	55                   	push   %ebp
4041a2:	6a 02                	push   $0x2
4041a4:	68 01 04 00 00       	push   $0x401
4041a9:	57                   	push   %edi
4041aa:	ff d3                	call   *%ebx
4041ac:	ff 35 f0 16 42 00    	push   0x4216f0
4041b2:	eb 06                	jmp    0x4041ba
4041b4:	ff 35 24 37 42 00    	push   0x423724
4041ba:	e8 d5 01 00 00       	call   0x404394
4041bf:	e8 a3 fc ff ff       	call   0x403e67
4041c4:	bb 28 37 42 00       	mov    $0x423728,%ebx
4041c9:	50                   	push   %eax
4041ca:	53                   	push   %ebx
4041cb:	e8 18 22 00 00       	call   0x4063e8
4041d0:	ff 76 18             	push   0x18(%esi)
4041d3:	53                   	push   %ebx
4041d4:	e8 25 22 00 00       	call   0x4063fe
4041d9:	8d 04 45 28 37 42 00 	lea    0x423728(,%eax,2),%eax
4041e0:	50                   	push   %eax
4041e1:	e8 24 22 00 00       	call   0x40640a
4041e6:	53                   	push   %ebx
4041e7:	57                   	push   %edi
4041e8:	ff 15 5c 82 40 00    	call   *0x40825c
4041ee:	55                   	push   %ebp
4041ef:	ff 76 08             	push   0x8(%esi)
4041f2:	e8 92 d1 ff ff       	call   0x401389
4041f7:	85 c0                	test   %eax,%eax
4041f9:	0f 85 97 fe ff ff    	jne    0x404096
4041ff:	39 2e                	cmp    %ebp,(%esi)
404201:	0f 84 8f fe ff ff    	je     0x404096
404207:	83 7e 04 05          	cmpl   $0x5,0x4(%esi)
40420b:	75 1d                	jne    0x40422a
40420d:	39 2d ec a2 42 00    	cmp    %ebp,0x42a2ec
404213:	0f 85 13 01 00 00    	jne    0x40432c
404219:	39 2d e0 a2 42 00    	cmp    %ebp,0x42a2e0
40421f:	0f 85 71 fe ff ff    	jne    0x404096
404225:	e9 02 01 00 00       	jmp    0x40432c
40422a:	ff 35 18 92 42 00    	push   0x429218
404230:	ff 15 50 82 40 00    	call   *0x408250
404236:	89 35 00 27 42 00    	mov    %esi,0x422700
40423c:	39 2e                	cmp    %ebp,(%esi)
40423e:	0f 8e c5 00 00 00    	jle    0x404309
404244:	8b 46 04             	mov    0x4(%esi),%eax
404247:	56                   	push   %esi
404248:	ff 34 85 a0 a3 40 00 	push   0x40a3a0(,%eax,4)
40424f:	66 8b 06             	mov    (%esi),%ax