403b98:	8b 56 4c             	mov    0x4c(%esi),%edx
403b9b:	a1 98 a2 42 00       	mov    0x42a298,%eax
403ba0:	bb e0 81 42 00       	mov    $0x4281e0,%ebx
403ba5:	57                   	push   %edi
403ba6:	8d 14 50             	lea    (%eax,%edx,2),%edx
403ba9:	53                   	push   %ebx
403baa:	8d 04 48             	lea    (%eax,%ecx,2),%eax
403bad:	52                   	push   %edx
403bae:	50                   	push   %eax
403baf:	ff 76 44             	push   0x44(%esi)
403bb2:	e8 ff 26 00 00       	call   0x4062b6
403bb7:	66 a1 e0 81 42 00    	mov    0x4281e0,%ax
403bbd:	66 3b c7             	cmp    %di,%ax
403bc0:	74 57                	je     0x403c19
403bc2:	66 3d 22 00          	cmp    $0x22,%ax
403bc6:	75 10                	jne    0x403bd8
403bc8:	bb e2 81 42 00       	mov    $0x4281e2,%ebx
403bcd:	6a 22                	push   $0x22
403bcf:	53                   	push   %ebx
403bd0:	e8 15 21 00 00       	call   0x405cea
403bd5:	66 89 38             	mov    %di,(%eax)
403bd8:	53                   	push   %ebx
403bd9:	e8 20 28 00 00       	call   0x4063fe
403bde:	8d 44 43 f8          	lea    -0x8(%ebx,%eax,2),%eax
403be2:	3b c3                	cmp    %ebx,%eax
403be4:	76 26                	jbe    0x403c0c
403be6:	68 bc a3 40 00       	push   $0x40a3bc
403beb:	50                   	push   %eax
403bec:	ff 15 04 81 40 00    	call   *0x408104
403bf2:	85 c0                	test   %eax,%eax
403bf4:	75 16                	jne    0x403c0c
403bf6:	53                   	push   %ebx
403bf7:	ff 15 94 80 40 00    	call   *0x408094
403bfd:	83 f8 ff             	cmp    $0xffffffff,%eax
403c00:	74 04                	je     0x403c06
403c02:	a8 10                	test   $0x10,%al
403c04:	75 06                	jne    0x403c0c
403c06:	53                   	push   %ebx
403c07:	e8 fd 20 00 00       	call   0x405d09
403c0c:	53                   	push   %ebx
403c0d:	e8 ab 20 00 00       	call   0x405cbd
403c12:	50                   	push   %eax
403c13:	55                   	push   %ebp
403c14:	e8 cf 27 00 00       	call   0x4063e8
403c19:	55                   	push   %ebp
403c1a:	e8 a6 21 00 00       	call   0x405dc5
403c1f:	85 c0                	test   %eax,%eax
403c21:	75 0c                	jne    0x403c2f
403c23:	ff b6 18 01 00 00    	push   0x118(%esi)
403c29:	55                   	push   %ebp
403c2a:	e8 db 27 00 00       	call   0x40640a
403c2f:	68 40 80 00 00       	push   $0x8040
403c34:	57                   	push   %edi
403c35:	57                   	push   %edi
403c36:	6a 01                	push   $0x1
403c38:	6a 67                	push   $0x67
403c3a:	ff 35 40 a2 42 00    	push   0x42a240
403c40:	ff 15 60 82 40 00    	call   *0x408260
403c46:	a3 28 92 42 00       	mov    %eax,0x429228
403c4b:	83 7e 50 ff          	cmpl   $0xffffffff,0x50(%esi)
403c4f:	bb e0 91 42 00       	mov    $0x4291e0,%ebx
403c54:	74 7f                	je     0x403cd5
403c56:	8b 0d 40 a2 42 00    	mov    0x42a240,%ecx
403c5c:	be b4 a3 40 00       	mov    $0x40a3b4,%esi
403c61:	53                   	push   %ebx
403c62:	c7 05 e4 91 42 00 00 	movl   $0x401000,0x4291e4
403c69:	10 40 00
403c6c:	89 0d f0 91 42 00    	mov    %ecx,0x4291f0
403c72:	a3 f4 91 42 00       	mov    %eax,0x4291f4
403c77:	89 35 04 92 42 00    	mov    %esi,0x429204
403c7d:	ff 15 34 82 40 00    	call   *0x408234
403c83:	66 85 c0             	test   %ax,%ax
403c86:	0f 84 18 01 00 00    	je     0x403da4
403c8c:	8d 44 24 10          	lea    0x10(%esp),%eax
403c90:	57                   	push   %edi
403c91:	50                   	push   %eax
403c92:	57                   	push   %edi
403c93:	6a 30                	push   $0x30
403c95:	ff 15 38 82 40 00    	call   *0x408238
403c9b:	57                   	push   %edi
403c9c:	ff 35 40 a2 42 00    	push   0x42a240
403ca2:	8b 44 24 24          	mov    0x24(%esp),%eax
403ca6:	2b 44 24 1c          	sub    0x1c(%esp),%eax
403caa:	57                   	push   %edi
403cab:	57                   	push   %edi
403cac:	50                   	push   %eax
403cad:	8b 44 24 2c          	mov    0x2c(%esp),%eax
403cb1:	2b 44 24 24          	sub    0x24(%esp),%eax
403cb5:	50                   	push   %eax
403cb6:	ff 74 24 2c          	push   0x2c(%esp)
403cba:	ff 74 24 2c          	push   0x2c(%esp)
403cbe:	68 00 00 00 80       	push   $0x80000000
403cc3:	57                   	push   %edi
403cc4:	56                   	push   %esi
403cc5:	68 80 00 00 00       	push   $0x80
403cca:	ff 15 3c 82 40 00    	call   *0x40823c
403cd0:	a3 08 37 42 00       	mov    %eax,0x423708
403cd5:	57                   	push   %edi
403cd6:	e8 30 d7 ff ff       	call   0x40140b
403cdb:	85 c0                	test   %eax,%eax
403cdd:	74 08                	je     0x403ce7
403cdf:	6a 02                	push   $0x2
403ce1:	58                   	pop    %eax
403ce2:	e9 bf 00 00 00       	jmp    0x403da6
403ce7:	e8 c2 00 00 00       	call   0x403dae
403cec:	39 3d 00 a3 42 00    	cmp    %edi,0x42a300
403cf2:	0f 85 83 00 00 00    	jne    0x403d7b
403cf8:	6a 05                	push   $0x5
403cfa:	ff 35 08 37 42 00    	push   0x423708
403d00:	ff 15 68 82 40 00    	call   *0x408268
403d06:	68 3c 83 40 00       	push   $0x40833c
403d0b:	e8 42 2a 00 00       	call   0x406752
403d10:	85 c0                	test   %eax,%eax
403d12:	75 0a                	jne    0x403d1e
403d14:	68 30 83 40 00       	push   $0x408330
403d19:	e8 34 2a 00 00       	call   0x406752
403d1e:	8b 35 40 82 40 00    	mov    0x408240,%esi
403d24:	bd 18 83 40 00       	mov    $0x408318,%ebp
403d29:	53                   	push   %ebx
403d2a:	55                   	push   %ebp
403d2b:	57                   	push   %edi
403d2c:	ff d6                	call   *%esi
403d2e:	85 c0                	test   %eax,%eax
403d30:	75 16                	jne    0x403d48
403d32:	53                   	push   %ebx
403d33:	68 04 83 40 00       	push   $0x408304
403d38:	57                   	push   %edi
403d39:	ff d6                	call   *%esi
403d3b:	53                   	push   %ebx
403d3c:	89 2d 04 92 42 00    	mov    %ebp,0x429204
403d42:	ff 15 34 82 40 00    	call   *0x408234
403d48:	a1 20 92 42 00       	mov    0x429220,%eax
403d4d:	57                   	push   %edi
403d4e:	83 c0 69             	add    $0x69,%eax
403d51:	68 86 3e 40 00       	push   $0x403e86
403d56:	0f b7 c0             	movzwl %ax,%eax
403d59:	57                   	push   %edi
403d5a:	50                   	push   %eax
403d5b:	ff 35 40 a2 42 00    	push   0x42a240
403d61:	ff 15 44 82 40 00    	call   *0x408244
403d67:	6a 05                	push   $0x5
403d69:	8b f0                	mov    %eax,%esi
403d6b:	e8 9b d6 ff ff       	call   0x40140b
403d70:	6a 01                	push   $0x1
403d72:	e8 b1 fc ff ff       	call   0x403a28
403d77:	8b c6                	mov    %esi,%eax
403d79:	eb 2b                	jmp    0x403da6
403d7b:	57                   	push   %edi
403d7c:	e8 a2 17 00 00       	call   0x405523
403d81:	85 c0                	test   %eax,%eax
403d83:	74 18                	je     0x403d9d
403d85:	39 3d 0c 92 42 00    	cmp    %edi,0x42920c
403d8b:	0f 85 4e ff ff ff    	jne    0x403cdf
403d91:	6a 02                	push   $0x2
403d93:	e8 73 d6 ff ff       	call   0x40140b
403d98:	e9 42 ff ff ff       	jmp    0x403cdf
403d9d:	6a 01                	push   $0x1
403d9f:	e8 67 d6 ff ff       	call   0x40140b
403da4:	33 c0                	xor    %eax,%eax
403da6:	5f                   	pop    %edi
403da7:	5e                   	pop    %esi
403da8:	5d                   	pop    %ebp
403da9:	5b                   	pop    %ebx
403daa:	83 c4 10             	add    $0x10,%esp
403dad:	c3                   	ret
403dae:	53                   	push   %ebx
403daf:	55                   	push   %ebp
403db0:	56                   	push   %esi
403db1:	57                   	push   %edi
403db2:	bf 00 70 43 00       	mov    $0x437000,%edi
403db7:	bb ff ff 00 00       	mov    $0xffff,%ebx
403dbc:	57                   	push   %edi
403dbd:	e8 86 25 00 00       	call   0x406348
403dc2:	8b 35 a4 a2 42 00    	mov    0x42a2a4,%esi
403dc8:	85 f6                	test   %esi,%esi
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