4099b5:	e8 0e 5b 00 00       	call   0x40f4c8
4099ba:	8b 4d fc             	mov    -0x4(%ebp),%ecx
4099bd:	33 c0                	xor    %eax,%eax
4099bf:	5e                   	pop    %esi
4099c0:	33 cd                	xor    %ebp,%ecx
4099c2:	5b                   	pop    %ebx
4099c3:	e8 18 9f 00 00       	call   0x4138e0
4099c8:	c9                   	leave
4099c9:	c2 08 00             	ret    $0x8
4099cc:	8b ff                	mov    %edi,%edi
4099ce:	55                   	push   %ebp
4099cf:	8b ec                	mov    %esp,%ebp
4099d1:	83 ec 28             	sub    $0x28,%esp
4099d4:	a1 18 51 41 00       	mov    0x415118,%eax
4099d9:	33 c5                	xor    %ebp,%eax
4099db:	89 45 fc             	mov    %eax,-0x4(%ebp)
4099de:	8b 45 08             	mov    0x8(%ebp),%eax
4099e1:	8d 55 dc             	lea    -0x24(%ebp),%edx
4099e4:	53                   	push   %ebx
4099e5:	8b d9                	mov    %ecx,%ebx
4099e7:	89 45 d8             	mov    %eax,-0x28(%ebp)
4099ea:	57                   	push   %edi
4099eb:	8b c8                	mov    %eax,%ecx
4099ed:	e8 ed 4f 00 00       	call   0x40e9df
4099f2:	33 ff                	xor    %edi,%edi
4099f4:	b8 00 30 00 00       	mov    $0x3000,%eax
4099f9:	66 39 44 7d dc       	cmp    %ax,-0x24(%ebp,%edi,2)
4099fe:	74 06                	je     0x409a06
409a00:	47                   	inc    %edi
409a01:	83 ff 03             	cmp    $0x3,%edi
409a04:	7c ee                	jl     0x4099f4
409a06:	83 ff 02             	cmp    $0x2,%edi
409a09:	0f 87 92 00 00 00    	ja     0x409aa1
409a0f:	8b 4b 18             	mov    0x18(%ebx),%ecx
409a12:	56                   	push   %esi
409a13:	e8 96 f4 ff ff       	call   0x408eae
409a18:	8b f0                	mov    %eax,%esi
409a1a:	6a 03                	push   $0x3
409a1c:	5a                   	pop    %edx
409a1d:	66 8b 0c b5 30 51 41 	mov    0x415130(,%esi,4),%cx
409a24:	00
409a25:	66 89 4c 7d dc       	mov    %cx,-0x24(%ebp,%edi,2)
409a2a:	8d 4d dc             	lea    -0x24(%ebp),%ecx
409a2d:	e8 91 f6 ff ff       	call   0x4090c3
409a32:	8d 45 dc             	lea    -0x24(%ebp),%eax
409a35:	33 ff                	xor    %edi,%edi
409a37:	50                   	push   %eax
409a38:	57                   	push   %edi
409a39:	68 00 80 00 00       	push   $0x8000
409a3e:	ff 75 d8             	push   -0x28(%ebp)
409a41:	ff 15 d8 b1 41 00    	call   *0x41b1d8
409a47:	57                   	push   %edi
409a48:	33 c0                	xor    %eax,%eax
409a4a:	66 89 04 b5 30 51 41 	mov    %ax,0x415130(,%esi,4)
409a51:	00
409a52:	be ed 03 00 00       	mov    $0x3ed,%esi
409a57:	ff 73 18             	push   0x18(%ebx)
409a5a:	68 08 10 00 00       	push   $0x1008
409a5f:	56                   	push   %esi
409a60:	ff 73 04             	push   0x4(%ebx)
409a63:	ff 15 d0 b1 41 00    	call   *0x41b1d0
409a69:	50                   	push   %eax
409a6a:	ff 15 d8 b1 41 00    	call   *0x41b1d8
409a70:	57                   	push   %edi
409a71:	57                   	push   %edi
409a72:	68 04 10 00 00       	push   $0x1004
409a77:	56                   	push   %esi
409a78:	ff 73 04             	push   0x4(%ebx)
409a7b:	ff 15 d0 b1 41 00    	call   *0x41b1d0
409a81:	50                   	push   %eax
409a82:	ff 15 d8 b1 41 00    	call   *0x41b1d8
409a88:	85 c0                	test   %eax,%eax
409a8a:	75 14                	jne    0x409aa0
409a8c:	57                   	push   %edi
409a8d:	56                   	push   %esi
409a8e:	8b cb                	mov    %ebx,%ecx
409a90:	e8 d7 31 00 00       	call   0x40cc6c
409a95:	6a 01                	push   $0x1
409a97:	6a 01                	push   $0x1
409a99:	8b cb                	mov    %ebx,%ecx
409a9b:	e8 cc 31 00 00       	call   0x40cc6c
409aa0:	5e                   	pop    %esi
409aa1:	8b 4d fc             	mov    -0x4(%ebp),%ecx
409aa4:	5f                   	pop    %edi
409aa5:	33 cd                	xor    %ebp,%ecx
409aa7:	5b                   	pop    %ebx
409aa8:	e8 33 9e 00 00       	call   0x4138e0
409aad:	c9                   	leave
409aae:	c2 04 00             	ret    $0x4
409ab1:	8b ff                	mov    %edi,%edi
409ab3:	55                   	push   %ebp
409ab4:	8b ec                	mov    %esp,%ebp
409ab6:	83 e4 f8             	and    $0xfffffff8,%esp
409ab9:	81 ec 74 06 00 00    	sub    $0x674,%esp
409abf:	a1 18 51 41 00       	mov    0x415118,%eax
409ac4:	33 c4                	xor    %esp,%eax
409ac6:	89 84 24 70 06 00 00 	mov    %eax,0x670(%esp)
409acd:	83 64 24 08 00       	andl   $0x0,0x8(%esp)
409ad2:	83 64 24 04 00       	andl   $0x0,0x4(%esp)
409ad7:	53                   	push   %ebx
409ad8:	56                   	push   %esi
409ad9:	57                   	push   %edi
409ada:	68 08 02 00 00       	push   $0x208
409adf:	8b d9                	mov    %ecx,%ebx
409ae1:	e8 a6 9a 00 00       	call   0x41358c
409ae6:	8b f8                	mov    %eax,%edi
409ae8:	59                   	pop    %ecx
409ae9:	85 ff                	test   %edi,%edi
409aeb:	0f 84 00 01 00 00    	je     0x409bf1
409af1:	6a 58                	push   $0x58
409af3:	5e                   	pop    %esi
409af4:	33 c0                	xor    %eax,%eax
409af6:	56                   	push   %esi
409af7:	50                   	push   %eax
409af8:	66 89 07             	mov    %ax,(%edi)
409afb:	8d 44 24 20          	lea    0x20(%esp),%eax
409aff:	50                   	push   %eax
409b00:	e8 5c a6 00 00       	call   0x414161
409b05:	8b 43 04             	mov    0x4(%ebx),%eax
409b08:	8d 54 24 24          	lea    0x24(%esp),%edx
409b0c:	8b 0d 70 b0 41 00    	mov    0x41b070,%ecx
409b12:	83 c4 0c             	add    $0xc,%esp
409b15:	89 44 24 1c          	mov    %eax,0x1c(%esp)
409b19:	8d 44 24 14          	lea    0x14(%esp),%eax
409b1d:	89 74 24 18          	mov    %esi,0x18(%esp)
409b21:	c7 44 24 24 58 3a 40 	movl   $0x403a58,0x24(%esp)
409b28:	00
409b29:	50                   	push   %eax
409b2a:	c7 44 24 58 88 3a 40 	movl   $0x403a88,0x58(%esp)
409b31:	00
409b32:	c7 44 24 50 06 08 30 	movl   $0x300806,0x50(%esp)
409b39:	00
409b3a:	89 7c 24 38          	mov    %edi,0x38(%esp)
409b3e:	c7 44 24 3c 04 01 00 	movl   $0x104,0x3c(%esp)
409b45:	00
409b46:	e8 7e 5d 00 00       	call   0x40f8c9
409b4b:	83 7c 24 14 00       	cmpl   $0x0,0x14(%esp)
409b50:	0f 84 93 00 00 00    	je     0x409be9
409b56:	f7 44 24 4c 00 04 00 	testl  $0x400,0x4c(%esp)
409b5d:	00
409b5e:	0f 85 85 00 00 00    	jne    0x409be9
409b64:	6a 00                	push   $0x0
409b66:	68 80 00 00 00       	push   $0x80
409b6b:	6a 02                	push   $0x2
409b6d:	51                   	push   %ecx
409b6e:	e8 01 e0 ff ff       	call   0x407b74
409b73:	59                   	pop    %ecx
409b74:	50                   	push   %eax
409b75:	6a 00                	push   $0x0
409b77:	68 00 00 00 40       	push   $0x40000000
409b7c:	ff 74 24 4c          	push   0x4c(%esp)
409b80:	ff 15 80 b1 41 00    	call   *0x41b180
409b86:	8b f0                	mov    %eax,%esi
409b88:	83 fe ff             	cmp    $0xffffffff,%esi
409b8b:	74 5c                	je     0x409be9
409b8d:	8b 4b 14             	mov    0x14(%ebx),%ecx
409b90:	85 c9                	test   %ecx,%ecx
409b92:	74 4e                	je     0x409be2
409b94:	8d 44 24 70          	lea    0x70(%esp),%eax
409b98:	50                   	push   %eax
409b99:	e8 3b 5a 00 00       	call   0x40f5d9
409b9e:	33 db                	xor    %ebx,%ebx
409ba0:	8d 44 24 10          	lea    0x10(%esp),%eax
409ba4:	53                   	push   %ebx
409ba5:	50                   	push   %eax
409ba6:	6a 10                	push   $0x10
409ba8:	68 e4 3a 40 00       	push   $0x403ae4
409bad:	56                   	push   %esi
409bae:	ff 15 84 b1 41 00    	call   *0x41b184
409bb4:	53                   	push   %ebx
409bb5:	8d 44 24 14          	lea    0x14(%esp),%eax
409bb9:	50                   	push   %eax
409bba:	68 a4 00 00 00       	push   $0xa4
409bbf:	68 30 51 41 00       	push   $0x415130
409bc4:	56                   	push   %esi
409bc5:	ff 15 84 b1 41 00    	call   *0x41b184
409bcb:	53                   	push   %ebx
409bcc:	8d 44 24 14          	lea    0x14(%esp),%eax
409bd0:	50                   	push   %eax
409bd1:	68 04 06 00 00       	push   $0x604
409bd6:	8d 44 24 7c          	lea    0x7c(%esp),%eax
409bda:	50                   	push   %eax
409bdb:	56                   	push   %esi
409bdc:	ff 15 84 b1 41 00    	call   *0x41b184
409be2:	56                   	push   %esi
409be3:	ff 15 54 b1 41 00    	call   *0x41b154
409be9:	57                   	push   %edi
409bea:	ff 15 24 b3 41 00    	call   *0x41b324
409bf0:	59                   	pop    %ecx
409bf1:	8b 8c 24 7c 06 00 00 	mov    0x67c(%esp),%ecx
409bf8:	5f                   	pop    %edi
409bf9:	5e                   	pop    %esi
409bfa:	5b                   	pop    %ebx
409bfb:	33 cc                	xor    %esp,%ecx
409bfd:	e8 de 9c 00 00       	call   0x4138e0
409c02:	8b e5                	mov    %ebp,%esp
409c04:	5d                   	pop    %ebp
409c05:	c3                   	ret
409c06:	8b ff                	mov    %edi,%edi
409c08:	55                   	push   %ebp
409c09:	8b ec                	mov    %esp,%ebp
409c0b:	83 e4 f8             	and    $0xfffffff8,%esp
409c0e:	81 ec d4 06 00 00    	sub    $0x6d4,%esp
409c14:	a1 18 51 41 00       	mov    0x415118,%eax
409c19:	33 c4                	xor    %esp,%eax
409c1b:	89 84 24 d0 06 00 00 	mov    %eax,0x6d0(%esp)
409c22:	53                   	push   %ebx
409c23:	56                   	push   %esi
409c24:	33 c0                	xor    %eax,%eax
409c26:	8b f1                	mov    %ecx,%esi
409c28:	57                   	push   %edi
409c29:	68 08 02 00 00       	push   $0x208
409c2e:	89 74 24 24          	mov    %esi,0x24(%esp)
409c32:	89 44 24 1c          	mov    %eax,0x1c(%esp)
409c36:	89 44 24 10          	mov    %eax,0x10(%esp)
409c3a:	e8 4d 99 00 00       	call   0x41358c
409c3f:	8b f8                	mov    %eax,%edi
409c41:	89 7c 24 28          	mov    %edi,0x28(%esp)
409c45:	59                   	pop    %ecx
409c46:	85 ff                	test   %edi,%edi
409c48:	0f 84 1e 02 00 00    	je     0x409e6c
409c4e:	6a 58                	push   $0x58
409c50:	5b                   	pop    %ebx
409c51:	33 c0                	xor    %eax,%eax
409c53:	53                   	push   %ebx
409c54:	50                   	push   %eax
409c55:	66 89 07             	mov    %ax,(%edi)
409c58:	8d 44 24 30          	lea    0x30(%esp),%eax
409c5c:	50                   	push   %eax
409c5d:	e8 ff a4 00 00       	call   0x414161
409c62:	8b 46 04             	mov    0x4(%esi),%eax
409c65:	8d 54 24 34          	lea    0x34(%esp),%edx
409c69:	8b 0d 6c b0 41 00    	mov    0x41b06c,%ecx
409c6f:	83 c4 0c             	add    $0xc,%esp
409c72:	89 44 24 2c          	mov    %eax,0x2c(%esp)
409c76:	8d 44 24 18          	lea    0x18(%esp),%eax
409c7a:	89 5c 24 28          	mov    %ebx,0x28(%esp)
409c7e:	c7 44 24 34 58 3a 40 	movl   $0x403a58,0x34(%esp)
409c85:	00
409c86:	50                   	push   %eax
409c87:	c7 44 24 68 88 3a 40 	movl   $0x403a88,0x68(%esp)
409c8e:	00
409c8f:	c7 44 24 60 04 18 30 	movl   $0x301804,0x60(%esp)
409c96:	00
409c97:	89 7c 24 48          	mov    %edi,0x48(%esp)
409c9b:	c7 44 24 4c 04 01 00 	movl   $0x104,0x4c(%esp)
409ca2:	00
409ca3:	e8 21 5c 00 00       	call   0x40f8c9
409ca8:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
409cad:	0f 84 b1 01 00 00    	je     0x409e64
409cb3:	f7 44 24 5c 00 04 00 	testl  $0x400,0x5c(%esp)
409cba:	00
409cbb:	0f 85 a3 01 00 00    	jne    0x409e64
409cc1:	33 db                	xor    %ebx,%ebx
409cc3:	53                   	push   %ebx
409cc4:	68 80 00 00 00       	push   $0x80
409cc9:	6a 03                	push   $0x3
409ccb:	51                   	push   %ecx
409ccc:	e8 a3 de ff ff       	call   0x407b74
409cd1:	59                   	pop    %ecx
409cd2:	50                   	push   %eax
409cd3:	53                   	push   %ebx
409cd4:	68 00 00 00 80       	push   $0x80000000
409cd9:	ff 74 24 5c          	push   0x5c(%esp)
409cdd:	ff 15 80 b1 41 00    	call   *0x41b180
409ce3:	89 44 24 14          	mov    %eax,0x14(%esp)
409ce7:	83 f8 ff             	cmp    $0xffffffff,%eax
409cea:	0f 84 74 01 00 00    	je     0x409e64
409cf0:	53                   	push   %ebx
409cf1:	8d 4c 24 10          	lea    0x10(%esp),%ecx
409cf5:	51                   	push   %ecx
409cf6:	6a 10                	push   $0x10
409cf8:	8d 8c 24 cc 00 00 00 	lea    0xcc(%esp),%ecx
409cff:	51                   	push   %ecx
409d00:	50                   	push   %eax
409d01:	ff 15 88 b1 41 00    	call   *0x41b188
409d07:	ba e4 3a 40 00       	mov    $0x403ae4,%edx
409d0c:	8b cb                	mov    %ebx,%ecx
409d0e:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
409d11:	8d 94 24 c0 00 00 00 	lea    0xc0(%esp),%edx
409d18:	3b 04 8a             	cmp    (%edx,%ecx,4),%eax
409d1b:	ba e4 3a 40 00       	mov    $0x403ae4,%edx
409d20:	75 08                	jne    0x409d2a
409d22:	41                   	inc    %ecx
409d23:	83 f9 04             	cmp    $0x4,%ecx
409d26:	75 e6                	jne    0x409d0e
409d28:	eb 20                	jmp    0x409d4a
409d2a:	8b cb                	mov    %ebx,%ecx
409d2c:	ba f4 3a 40 00       	mov    $0x403af4,%edx
409d31:	8d 9c 24 c0 00 00 00 	lea    0xc0(%esp),%ebx
409d38:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
409d3b:	3b 04 8b             	cmp    (%ebx,%ecx,4),%eax
409d3e:	0f 85 16 01 00 00    	jne    0x409e5a
409d44:	41                   	inc    %ecx
409d45:	83 f9 04             	cmp    $0x4,%ecx
409d48:	75 ee                	jne    0x409d38
409d4a:	8b 4e 14             	mov    0x14(%esi),%ecx
409d4d:	85 c9                	test   %ecx,%ecx
409d4f:	0f 84 05 01 00 00    	je     0x409e5a
409d55:	33 c0                	xor    %eax,%eax
409d57:	40                   	inc    %eax
409d58:	89 44 24 10          	mov    %eax,0x10(%esp)
409d5c:	e8 87 53 00 00       	call   0x40f0e8
409d61:	33 ff                	xor    %edi,%edi
409d63:	8d 44 24 0c          	lea    0xc(%esp),%eax
409d67:	57                   	push   %edi
409d68:	50                   	push   %eax
409d69:	68 a4 00 00 00       	push   $0xa4
409d6e:	bb 30 51 41 00       	mov    $0x415130,%ebx
409d73:	53                   	push   %ebx
409d74:	ff 74 24 24          	push   0x24(%esp)
409d78:	ff 15 88 b1 41 00    	call   *0x41b188
409d7e:	57                   	push   %edi
409d7f:	8d 44 24 10          	lea    0x10(%esp),%eax
409d83:	50                   	push   %eax
409d84:	68 04 06 00 00       	push   $0x604
409d89:	8d 84 24 dc 00 00 00 	lea    0xdc(%esp),%eax
409d90:	50                   	push   %eax
409d91:	ff 74 24 24          	push   0x24(%esp)
409d95:	ff 15 88 b1 41 00    	call   *0x41b188
409d9b:	8b 4e 14             	mov    0x14(%esi),%ecx
409d9e:	8d 84 24 d0 00 00 00 	lea    0xd0(%esp),%eax
409da5:	50                   	push   %eax
409da6:	e8 0e 59 00 00       	call   0x40f6b9
409dab:	68 ed 03 00 00       	push   $0x3ed
409db0:	ff 76 04             	push   0x4(%esi)
409db3:	ff 15 d0 b1 41 00    	call   *0x41b1d0
409db9:	57                   	push   %edi
409dba:	57                   	push   %edi
409dbb:	68 09 10 00 00       	push   $0x1009
409dc0:	50                   	push   %eax
409dc1:	89 44 24 2c          	mov    %eax,0x2c(%esp)
409dc5:	ff 15 d8 b1 41 00    	call   *0x41b1d8
409dcb:	6a 3c                	push   $0x3c
409dcd:	8d 84 24 88 00 00 00 	lea    0x88(%esp),%eax
409dd4:	57                   	push   %edi
409dd5:	50                   	push   %eax
409dd6:	e8 86 a3 00 00       	call   0x414161
409ddb:	8b 74 24 1c          	mov    0x1c(%esp),%esi
409ddf:	83 c4 0c             	add    $0xc,%esp
409de2:	c7 84 24 84 00 00 00 	movl   $0x1,0x84(%esp)
409de9:	01 00 00 00
409ded:	33 c9                	xor    %ecx,%ecx
409def:	89 bc 24 8c 00 00 00 	mov    %edi,0x8c(%esp)
409df6:	66 39 0b             	cmp    %cx,(%ebx)
409df9:	74 2a                	je     0x409e25
409dfb:	8d 84 24 84 00 00 00 	lea    0x84(%esp),%eax
409e02:	89 bc 24 88 00 00 00 	mov    %edi,0x88(%esp)
409e09:	50                   	push   %eax
409e0a:	51                   	push   %ecx