403ba5:	e8 e6 28 00 00       	call   0x406490
403baa:	85 c0                	test   %eax,%eax
403bac:	75 0a                	jne    0x403bb8
403bae:	68 04 83 40 00       	push   $0x408304
403bb3:	e8 d8 28 00 00       	call   0x406490
403bb8:	8b 35 24 82 40 00    	mov    0x408224,%esi
403bbe:	bd f8 82 40 00       	mov    $0x4082f8,%ebp
403bc3:	57                   	push   %edi
403bc4:	55                   	push   %ebp
403bc5:	53                   	push   %ebx
403bc6:	ff d6                	call   *%esi
403bc8:	85 c0                	test   %eax,%eax
403bca:	75 16                	jne    0x403be2
403bcc:	57                   	push   %edi
403bcd:	68 ec 82 40 00       	push   $0x4082ec
403bd2:	53                   	push   %ebx
403bd3:	ff d6                	call   *%esi
403bd5:	57                   	push   %edi
403bd6:	89 2d e4 eb 42 00    	mov    %ebp,0x42ebe4
403bdc:	ff 15 18 82 40 00    	call   *0x408218
403be2:	a1 00 ec 42 00       	mov    0x42ec00,%eax
403be7:	53                   	push   %ebx
403be8:	83 c0 69             	add    $0x69,%eax
403beb:	68 20 3d 40 00       	push   $0x403d20
403bf0:	0f b7 c0             	movzwl %ax,%eax
403bf3:	53                   	push   %ebx
403bf4:	50                   	push   %eax
403bf5:	ff 35 20 f4 42 00    	push   0x42f420
403bfb:	ff 15 28 82 40 00    	call   *0x408228
403c01:	6a 05                	push   $0x5
403c03:	8b f0                	mov    %eax,%esi
403c05:	e8 01 d8 ff ff       	call   0x40140b
403c0a:	6a 01                	push   $0x1
403c0c:	e8 c2 fc ff ff       	call   0x4038d3
403c11:	8b c6                	mov    %esi,%eax
403c13:	eb 2b                	jmp    0x403c40
403c15:	53                   	push   %ebx
403c16:	e8 44 17 00 00       	call   0x40535f
403c1b:	85 c0                	test   %eax,%eax
403c1d:	74 18                	je     0x403c37
403c1f:	39 1d ec eb 42 00    	cmp    %ebx,0x42ebec
403c25:	0f 85 4e ff ff ff    	jne    0x403b79
403c2b:	6a 02                	push   $0x2
403c2d:	e8 d9 d7 ff ff       	call   0x40140b
403c32:	e9 42 ff ff ff       	jmp    0x403b79
403c37:	6a 01                	push   $0x1
403c39:	e8 cd d7 ff ff       	call   0x40140b
403c3e:	33 c0                	xor    %eax,%eax
403c40:	5f                   	pop    %edi
403c41:	5e                   	pop    %esi
403c42:	5d                   	pop    %ebp
403c43:	5b                   	pop    %ebx
403c44:	83 c4 10             	add    $0x10,%esp
403c47:	c3                   	ret
403c48:	53                   	push   %ebx
403c49:	55                   	push   %ebp
403c4a:	56                   	push   %esi
403c4b:	57                   	push   %edi
403c4c:	bf 00 60 43 00       	mov    $0x436000,%edi
403c51:	bb ff ff 00 00       	mov    $0xffff,%ebx
403c56:	57                   	push   %edi
403c57:	e8 81 24 00 00       	call   0x4060dd
403c5c:	8b 35 84 f4 42 00    	mov    0x42f484,%esi
403c62:	85 f6                	test   %esi,%esi
403c64:	74 45                	je     0x403cab
403c66:	8b 0d 34 f4 42 00    	mov    0x42f434,%ecx
403c6c:	8b 49 64             	mov    0x64(%ecx),%ecx
403c6f:	8b d1                	mov    %ecx,%edx
403c71:	0f af ce             	imul   %esi,%ecx
403c74:	f7 da                	neg    %edx
403c76:	03 0d 80 f4 42 00    	add    0x42f480,%ecx
403c7c:	03 ca                	add    %edx,%ecx
403c7e:	4e                   	dec    %esi
403c7f:	66 8b 29             	mov    (%ecx),%bp
403c82:	66 33 e8             	xor    %ax,%bp
403c85:	23 eb                	and    %ebx,%ebp
403c87:	66 85 ed             	test   %bp,%bp
403c8a:	74 06                	je     0x403c92
403c8c:	85 f6                	test   %esi,%esi
403c8e:	75 ec                	jne    0x403c7c
403c90:	eb 19                	jmp    0x403cab
403c92:	8b 51 02             	mov    0x2(%ecx),%edx
403c95:	89 15 00 ec 42 00    	mov    %edx,0x42ec00
403c9b:	8b 51 06             	mov    0x6(%ecx),%edx
403c9e:	89 15 e8 f4 42 00    	mov    %edx,0x42f4e8
403ca4:	8d 51 0a             	lea    0xa(%ecx),%edx
403ca7:	85 d2                	test   %edx,%edx
403ca9:	75 12                	jne    0x403cbd
403cab:	66 81 fb ff ff       	cmp    $0xffff,%bx
403cb0:	75 07                	jne    0x403cb9
403cb2:	bb ff 03 00 00       	mov    $0x3ff,%ebx
403cb7:	eb a3                	jmp    0x403c5c
403cb9:	33 db                	xor    %ebx,%ebx
403cbb:	eb 9f                	jmp    0x403c5c
403cbd:	89 15 fc eb 42 00    	mov    %edx,0x42ebfc
403cc3:	0f b7 01             	movzwl (%ecx),%eax
403cc6:	50                   	push   %eax
403cc7:	57                   	push   %edi
403cc8:	e8 f7 23 00 00       	call   0x4060c4
403ccd:	e8 2f 00 00 00       	call   0x403d01
403cd2:	a1 6c f4 42 00       	mov    0x42f46c,%eax
403cd7:	8b 35 68 f4 42 00    	mov    0x42f468,%esi
403cdd:	85 c0                	test   %eax,%eax
403cdf:	74 1b                	je     0x403cfc
403ce1:	8b f8                	mov    %eax,%edi
403ce3:	8b 06                	mov    (%esi),%eax
403ce5:	85 c0                	test   %eax,%eax
403ce7:	74 0a                	je     0x403cf3
403ce9:	50                   	push   %eax
403cea:	8d 46 18             	lea    0x18(%esi),%eax
403ced:	50                   	push   %eax
403cee:	e8 95 24 00 00       	call   0x406188
403cf3:	81 c6 18 04 00 00    	add    $0x418,%esi
403cf9:	4f                   	dec    %edi
403cfa:	75 e7                	jne    0x403ce3
403cfc:	5f                   	pop    %edi
403cfd:	5e                   	pop    %esi
403cfe:	5d                   	pop    %ebp
403cff:	5b                   	pop    %ebx
403d00:	c3                   	ret
403d01:	56                   	push   %esi
403d02:	be 20 ec 42 00       	mov    $0x42ec20,%esi
403d07:	6a fe                	push   $0xfffffffe
403d09:	56                   	push   %esi
403d0a:	e8 79 24 00 00       	call   0x406188
403d0f:	56                   	push   %esi
403d10:	ff 35 78 a8 42 00    	push   0x42a878
403d16:	ff 15 40 82 40 00    	call   *0x408240
403d1c:	8b c6                	mov    %esi,%eax
403d1e:	5e                   	pop    %esi
403d1f:	c3                   	ret
403d20:	83 ec 10             	sub    $0x10,%esp
403d23:	b9 10 01 00 00       	mov    $0x110,%ecx
403d28:	53                   	push   %ebx
403d29:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
403d2d:	55                   	push   %ebp
403d2e:	56                   	push   %esi
403d2f:	3b d9                	cmp    %ecx,%ebx
403d31:	57                   	push   %edi
403d32:	0f 84 3b 01 00 00    	je     0x403e73
403d38:	81 fb 08 04 00 00    	cmp    $0x408,%ebx
403d3e:	0f 84 2f 01 00 00    	je     0x403e73
403d44:	8b 7c 24 24          	mov    0x24(%esp),%edi
403d48:	33 ed                	xor    %ebp,%ebp
403d4a:	83 fb 47             	cmp    $0x47,%ebx
403d4d:	75 13                	jne    0x403d62
403d4f:	6a 13                	push   $0x13
403d51:	55                   	push   %ebp
403d52:	55                   	push   %ebp
403d53:	55                   	push   %ebp
403d54:	55                   	push   %ebp
403d55:	57                   	push   %edi
403d56:	ff 35 78 a8 42 00    	push   0x42a878
403d5c:	ff 15 94 81 40 00    	call   *0x408194
403d62:	83 fb 05             	cmp    $0x5,%ebx
403d65:	75 18                	jne    0x403d7f
403d67:	8b 44 24 2c          	mov    0x2c(%esp),%eax
403d6b:	48                   	dec    %eax
403d6c:	f7 d8                	neg    %eax
403d6e:	1b c0                	sbb    %eax,%eax
403d70:	23 c3                	and    %ebx,%eax
403d72:	50                   	push   %eax
403d73:	ff 35 78 a8 42 00    	push   0x42a878
403d79:	ff 15 48 82 40 00    	call   *0x408248
403d7f:	81 fb 0d 04 00 00    	cmp    $0x40d,%ebx
403d85:	75 1a                	jne    0x403da1
403d87:	ff 35 f8 eb 42 00    	push   0x42ebf8
403d8d:	ff 15 70 82 40 00    	call   *0x408270
403d93:	8b 44 24 2c          	mov    0x2c(%esp),%eax
403d97:	a3 f8 eb 42 00       	mov    %eax,0x42ebf8
403d9c:	e9 fd 03 00 00       	jmp    0x40419e
403da1:	83 fb 11             	cmp    $0x11,%ebx
403da4:	75 11                	jne    0x403db7
403da6:	55                   	push   %ebp
403da7:	55                   	push   %ebp
403da8:	57                   	push   %edi
403da9:	ff 15 4c 82 40 00    	call   *0x40824c
403daf:	33 c0                	xor    %eax,%eax
403db1:	40                   	inc    %eax
403db2:	e9 0c 04 00 00       	jmp    0x4041c3
403db7:	81 fb 11 01 00 00    	cmp    $0x111,%ebx
403dbd:	0f 85 9d 00 00 00    	jne    0x403e60
403dc3:	0f b7 74 24 2c       	movzwl 0x2c(%esp),%esi
403dc8:	56                   	push   %esi
403dc9:	57                   	push   %edi
403dca:	ff 15 d0 81 40 00    	call   *0x4081d0
403dd0:	8b f8                	mov    %eax,%edi
403dd2:	3b fd                	cmp    %ebp,%edi
403dd4:	74 1d                	je     0x403df3
403dd6:	55                   	push   %ebp
403dd7:	55                   	push   %ebp
403dd8:	68 f3 00 00 00       	push   $0xf3
403ddd:	57                   	push   %edi
403dde:	ff 15 00 82 40 00    	call   *0x408200
403de4:	57                   	push   %edi
403de5:	ff 15 90 81 40 00    	call   *0x408190
403deb:	85 c0                	test   %eax,%eax
403ded:	0f 84 ce 03 00 00    	je     0x4041c1
403df3:	83 fe 01             	cmp    $0x1,%esi
403df6:	75 03                	jne    0x403dfb
403df8:	56                   	push   %esi
403df9:	eb 2e                	jmp    0x403e29
403dfb:	83 fe 03             	cmp    $0x3,%esi
403dfe:	75 0c                	jne    0x403e0c
403e00:	39 2d f8 a1 40 00    	cmp    %ebp,0x40a1f8
403e06:	7e 3f                	jle    0x403e47
403e08:	6a ff                	push   $0xffffffff
403e0a:	eb 1d                	jmp    0x403e29
403e0c:	6a 02                	push   $0x2
403e0e:	5f                   	pop    %edi
403e0f:	3b f7                	cmp    %edi,%esi
403e11:	75 34                	jne    0x403e47
403e13:	39 2d cc f4 42 00    	cmp    %ebp,0x42f4cc
403e19:	74 15                	je     0x403e30
403e1b:	57                   	push   %edi
403e1c:	e8 ea d5 ff ff       	call   0x40140b
403e21:	89 3d 68 9c 42 00    	mov    %edi,0x429c68
403e27:	6a 78                	push   $0x78
403e29:	e8 9f 03 00 00       	call   0x4041cd
403e2e:	eb 30                	jmp    0x403e60
403e30:	6a 03                	push   $0x3
403e32:	e8 d4 d5 ff ff       	call   0x40140b
403e37:	85 c0                	test   %eax,%eax
403e39:	75 25                	jne    0x403e60
403e3b:	c7 05 68 9c 42 00 01 	movl   $0x1,0x429c68
403e42:	00 00 00
403e45:	eb e0                	jmp    0x403e27
403e47:	ff 74 24 30          	push   0x30(%esp)
403e4b:	ff 74 24 30          	push   0x30(%esp)
403e4f:	68 11 01 00 00       	push   $0x111
403e54:	ff 35 f8 eb 42 00    	push   0x42ebf8
403e5a:	ff 15 00 82 40 00    	call   *0x408200
403e60:	ff 74 24 30          	push   0x30(%esp)
403e64:	ff 74 24 30          	push   0x30(%esp)
403e68:	53                   	push   %ebx
403e69:	e8 ed 03 00 00       	call   0x40425b
403e6e:	e9 50 03 00 00       	jmp    0x4041c3
403e73:	8b 44 24 2c          	mov    0x2c(%esp),%eax
403e77:	8b 7c 24 24          	mov    0x24(%esp),%edi
403e7b:	3b d9                	cmp    %ecx,%ebx
403e7d:	a3 80 a8 42 00       	mov    %eax,0x42a880
403e82:	75 4d                	jne    0x403ed1
403e84:	8b 35 d0 81 40 00    	mov    0x4081d0,%esi
403e8a:	6a 01                	push   $0x1
403e8c:	57                   	push   %edi
403e8d:	89 3d 28 f4 42 00    	mov    %edi,0x42f428
403e93:	ff d6                	call   *%esi
403e95:	6a 02                	push   $0x2
403e97:	57                   	push   %edi
403e98:	a3 94 a8 42 00       	mov    %eax,0x42a894
403e9d:	ff d6                	call   *%esi
403e9f:	6a ff                	push   $0xffffffff
403ea1:	6a 1c                	push   $0x1c
403ea3:	57                   	push   %edi
403ea4:	a3 60 98 42 00       	mov    %eax,0x429860
403ea9:	e8 46 03 00 00       	call   0x4041f4
403eae:	ff 35 08 ec 42 00    	push   0x42ec08
403eb4:	6a f2                	push   $0xfffffff2
403eb6:	57                   	push   %edi
403eb7:	ff 15 88 81 40 00    	call   *0x408188
403ebd:	6a 04                	push   $0x4
403ebf:	e8 47 d5 ff ff       	call   0x40140b
403ec4:	a3 ec eb 42 00       	mov    %eax,0x42ebec
403ec9:	33 c0                	xor    %eax,%eax
403ecb:	40                   	inc    %eax
403ecc:	a3 80 a8 42 00       	mov    %eax,0x42a880
403ed1:	8b 0d f8 a1 40 00    	mov    0x40a1f8,%ecx
403ed7:	33 ed                	xor    %ebp,%ebp
403ed9:	8b f1                	mov    %ecx,%esi
403edb:	c1 e6 06             	shl    $0x6,%esi
403ede:	03 35 60 f4 42 00    	add    0x42f460,%esi
403ee4:	3b cd                	cmp    %ebp,%ecx
403ee6:	7c 3e                	jl     0x403f26
403ee8:	83 f8 01             	cmp    $0x1,%eax
403eeb:	75 31                	jne    0x403f1e
403eed:	55                   	push   %ebp
403eee:	ff 76 10             	push   0x10(%esi)
403ef1:	e8 93 d4 ff ff       	call   0x401389
403ef6:	85 c0                	test   %eax,%eax
403ef8:	74 24                	je     0x403f1e
403efa:	6a 01                	push   $0x1
403efc:	55                   	push   %ebp
403efd:	68 0f 04 00 00       	push   $0x40f
403f02:	ff 35 f8 eb 42 00    	push   0x42ebf8
403f08:	ff 15 00 82 40 00    	call   *0x408200
403f0e:	33 c0                	xor    %eax,%eax
403f10:	39 2d ec eb 42 00    	cmp    %ebp,0x42ebec
403f16:	0f 94 c0             	sete   %al
403f19:	e9 a5 02 00 00       	jmp    0x4041c3
403f1e:	39 2e                	cmp    %ebp,(%esi)
403f20:	0f 84 9b 02 00 00    	je     0x4041c1
403f26:	68 0b 04 00 00       	push   $0x40b
403f2b:	e8 10 03 00 00       	call   0x404240
403f30:	a1 80 a8 42 00       	mov    0x42a880,%eax
403f35:	01 05 f8 a1 40 00    	add    %eax,0x40a1f8
403f3b:	c1 e0 06             	shl    $0x6,%eax
403f3e:	03 f0                	add    %eax,%esi
403f40:	a1 f8 a1 40 00       	mov    0x40a1f8,%eax
403f45:	3b 05 64 f4 42 00    	cmp    0x42f464,%eax
403f4b:	75 07                	jne    0x403f54
403f4d:	6a 01                	push   $0x1
403f4f:	e8 b7 d4 ff ff       	call   0x40140b
403f54:	39 2d ec eb 42 00    	cmp    %ebp,0x42ebec
403f5a:	0f 85 1f 02 00 00    	jne    0x40417f
403f60:	a1 64 f4 42 00       	mov    0x42f464,%eax
403f65:	39 05 f8 a1 40 00    	cmp    %eax,0x40a1f8
403f6b:	0f 83 0e 02 00 00    	jae    0x40417f
403f71:	ff 76 24             	push   0x24(%esi)
403f74:	8b 5e 14             	mov    0x14(%esi),%ebx
403f77:	68 00 78 43 00       	push   $0x437800
403f7c:	e8 07 22 00 00       	call   0x406188
403f81:	ff 76 20             	push   0x20(%esi)
403f84:	68 19 fc ff ff       	push   $0xfffffc19
403f89:	57                   	push   %edi
403f8a:	e8 65 02 00 00       	call   0x4041f4
403f8f:	ff 76 1c             	push   0x1c(%esi)
403f92:	68 1b fc ff ff       	push   $0xfffffc1b
403f97:	57                   	push   %edi
403f98:	e8 57 02 00 00       	call   0x4041f4
403f9d:	ff 76 28             	push   0x28(%esi)
403fa0:	68 1a fc ff ff       	push   $0xfffffc1a
403fa5:	57                   	push   %edi
403fa6:	e8 49 02 00 00       	call   0x4041f4
403fab:	6a 03                	push   $0x3
403fad:	57                   	push   %edi
403fae:	ff 15 d0 81 40 00    	call   *0x4081d0
403fb4:	39 2d cc f4 42 00    	cmp    %ebp,0x42f4cc
403fba:	89 44 24 2c          	mov    %eax,0x2c(%esp)
403fbe:	74 08                	je     0x403fc8
403fc0:	66 81 e3 fd fe       	and    $0xfefd,%bx
403fc5:	83 cb 04             	or     $0x4,%ebx
403fc8:	8b cb                	mov    %ebx,%ecx
403fca:	83 e1 08             	and    $0x8,%ecx
403fcd:	51                   	push   %ecx
403fce:	50                   	push   %eax
403fcf:	ff 15 48 82 40 00    	call   *0x408248
403fd5:	8b c3                	mov    %ebx,%eax
403fd7:	25 00 01 00 00       	and    $0x100,%eax
403fdc:	50                   	push   %eax
403fdd:	ff 74 24 30          	push   0x30(%esp)
403fe1:	ff 15 f8 81 40 00    	call   *0x4081f8
403fe7:	8b c3                	mov    %ebx,%eax
403fe9:	83 e0 02             	and    $0x2,%eax
403fec:	50                   	push   %eax
403fed:	e8 24 02 00 00       	call   0x404216
403ff2:	83 e3 04             	and    $0x4,%ebx
403ff5:	53                   	push   %ebx
403ff6:	ff 35 60 98 42 00    	push   0x429860
403ffc:	ff 15 f8 81 40 00    	call   *0x4081f8
404002:	3b dd                	cmp    %ebp,%ebx