407d2b:	8b f9                	mov    %ecx,%edi
407d2d:	8d 77 4c             	lea    0x4c(%edi),%esi
407d30:	56                   	push   %esi
407d31:	8d 4d d8             	lea    -0x28(%ebp),%ecx
407d34:	e8 87 a5 ff ff       	call   0x4022c0
407d39:	8d 4d d8             	lea    -0x28(%ebp),%ecx
407d3c:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
407d43:	e8 e8 cc 00 00       	call   0x414a30
407d48:	33 c0                	xor    %eax,%eax
407d4a:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
407d51:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
407d58:	c7 45 d4 07 00 00 00 	movl   $0x7,-0x2c(%ebp)
407d5f:	66 89 45 c0          	mov    %ax,-0x40(%ebp)
407d63:	8d 4d c0             	lea    -0x40(%ebp),%ecx
407d66:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
407d6a:	e8 d1 c9 00 00       	call   0x414740
407d6f:	8b 4d d0             	mov    -0x30(%ebp),%ecx
407d72:	b8 fe ff ff 7f       	mov    $0x7ffffffe,%eax
407d77:	2b c1                	sub    %ecx,%eax
407d79:	83 f8 01             	cmp    $0x1,%eax
407d7c:	0f 82 41 02 00 00    	jb     0x407fc3
407d82:	83 7d d4 08          	cmpl   $0x8,-0x2c(%ebp)
407d86:	8d 45 c0             	lea    -0x40(%ebp),%eax
407d89:	51                   	push   %ecx
407d8a:	0f 43 45 c0          	cmovae -0x40(%ebp),%eax
407d8e:	50                   	push   %eax
407d8f:	6a 01                	push   $0x1
407d91:	68 08 dc 44 00       	push   $0x44dc08
407d96:	51                   	push   %ecx
407d97:	ff 75 a4             	push   -0x5c(%ebp)
407d9a:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
407d9d:	e8 ce 50 00 00       	call   0x40ce70
407da2:	8d 45 8c             	lea    -0x74(%ebp),%eax
407da5:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
407da9:	50                   	push   %eax
407daa:	8d 4d d8             	lea    -0x28(%ebp),%ecx
407dad:	e8 3e 29 00 00       	call   0x40a6f0
407db2:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
407db6:	8b 4d a0             	mov    -0x60(%ebp),%ecx
407db9:	83 f9 08             	cmp    $0x8,%ecx
407dbc:	72 32                	jb     0x407df0
407dbe:	8b 55 8c             	mov    -0x74(%ebp),%edx
407dc1:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
407dc8:	8b c2                	mov    %edx,%eax
407dca:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
407dd0:	72 14                	jb     0x407de6
407dd2:	8b 50 fc             	mov    -0x4(%eax),%edx
407dd5:	83 c1 23             	add    $0x23,%ecx
407dd8:	2b c2                	sub    %edx,%eax
407dda:	83 c0 fc             	add    $0xfffffffc,%eax
407ddd:	83 f8 1f             	cmp    $0x1f,%eax
407de0:	0f 87 e2 01 00 00    	ja     0x407fc8
407de6:	51                   	push   %ecx
407de7:	52                   	push   %edx
407de8:	e8 21 3b 01 00       	call   0x41b90e
407ded:	83 c4 08             	add    $0x8,%esp
407df0:	33 c0                	xor    %eax,%eax
407df2:	c7 45 a8 00 00 00 00 	movl   $0x0,-0x58(%ebp)
407df9:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
407e00:	c7 45 bc 07 00 00 00 	movl   $0x7,-0x44(%ebp)
407e07:	66 89 45 a8          	mov    %ax,-0x58(%ebp)
407e0b:	8d 55 a8             	lea    -0x58(%ebp),%edx
407e0e:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
407e12:	8b ce                	mov    %esi,%ecx
407e14:	e8 a7 cf 00 00       	call   0x414dc0
407e19:	8d 55 a8             	lea    -0x58(%ebp),%edx
407e1c:	8d 4d d8             	lea    -0x28(%ebp),%ecx
407e1f:	e8 dc cc 00 00       	call   0x414b00
407e24:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
407e28:	8d 45 d8             	lea    -0x28(%ebp),%eax
407e2b:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
407e2f:	50                   	push   %eax
407e30:	ff 15 ec f1 43 00    	call   *0x43f1ec
407e36:	83 f8 01             	cmp    $0x1,%eax
407e39:	0f 84 96 00 00 00    	je     0x407ed5
407e3f:	6a 00                	push   $0x0
407e41:	8b ce                	mov    %esi,%ecx
407e43:	e8 48 c2 00 00       	call   0x414090
407e48:	83 c4 04             	add    $0x4,%esp
407e4b:	85 c0                	test   %eax,%eax
407e4d:	0f 85 82 00 00 00    	jne    0x407ed5
407e53:	39 46 10             	cmp    %eax,0x10(%esi)
407e56:	74 7d                	je     0x407ed5
407e58:	39 45 e8             	cmp    %eax,-0x18(%ebp)
407e5b:	74 78                	je     0x407ed5
407e5d:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
407e61:	8d 45 d8             	lea    -0x28(%ebp),%eax
407e64:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
407e68:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
407e6c:	72 02                	jb     0x407e70
407e6e:	8b 36                	mov    (%esi),%esi
407e70:	50                   	push   %eax
407e71:	56                   	push   %esi
407e72:	e8 76 ea 01 00       	call   0x4268ed
407e77:	83 c4 08             	add    $0x8,%esp
407e7a:	85 c0                	test   %eax,%eax
407e7c:	75 57                	jne    0x407ed5
407e7e:	8d 8f d4 00 00 00    	lea    0xd4(%edi),%ecx
407e84:	8d 45 d8             	lea    -0x28(%ebp),%eax
407e87:	3b c8                	cmp    %eax,%ecx
407e89:	74 46                	je     0x407ed1
407e8b:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
407e8f:	8b d0                	mov    %eax,%edx
407e91:	8b 75 e8             	mov    -0x18(%ebp),%esi
407e94:	0f 43 55 d8          	cmovae -0x28(%ebp),%edx
407e98:	8b 41 14             	mov    0x14(%ecx),%eax
407e9b:	3b f0                	cmp    %eax,%esi
407e9d:	77 24                	ja     0x407ec3
407e9f:	8b f9                	mov    %ecx,%edi
407ea1:	83 f8 08             	cmp    $0x8,%eax
407ea4:	72 02                	jb     0x407ea8
407ea6:	8b 39                	mov    (%ecx),%edi
407ea8:	8d 04 36             	lea    (%esi,%esi,1),%eax
407eab:	89 71 10             	mov    %esi,0x10(%ecx)
407eae:	50                   	push   %eax
407eaf:	52                   	push   %edx
407eb0:	57                   	push   %edi
407eb1:	e8 9a 55 01 00       	call   0x41d450
407eb6:	83 c4 0c             	add    $0xc,%esp
407eb9:	b3 01                	mov    $0x1,%bl
407ebb:	33 c0                	xor    %eax,%eax
407ebd:	66 89 04 77          	mov    %ax,(%edi,%esi,2)
407ec1:	eb 14                	jmp    0x407ed7
407ec3:	52                   	push   %edx
407ec4:	c6 45 a4 00          	movb   $0x0,-0x5c(%ebp)
407ec8:	ff 75 a4             	push   -0x5c(%ebp)
407ecb:	56                   	push   %esi
407ecc:	e8 3f a7 ff ff       	call   0x402610
407ed1:	b3 01                	mov    $0x1,%bl
407ed3:	eb 02                	jmp    0x407ed7
407ed5:	32 db                	xor    %bl,%bl
407ed7:	8b 4d bc             	mov    -0x44(%ebp),%ecx
407eda:	83 f9 08             	cmp    $0x8,%ecx
407edd:	72 32                	jb     0x407f11
407edf:	8b 55 a8             	mov    -0x58(%ebp),%edx
407ee2:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
407ee9:	8b c2                	mov    %edx,%eax
407eeb:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
407ef1:	72 14                	jb     0x407f07
407ef3:	8b 50 fc             	mov    -0x4(%eax),%edx
407ef6:	83 c1 23             	add    $0x23,%ecx
407ef9:	2b c2                	sub    %edx,%eax
407efb:	83 c0 fc             	add    $0xfffffffc,%eax
407efe:	83 f8 1f             	cmp    $0x1f,%eax
407f01:	0f 87 c1 00 00 00    	ja     0x407fc8
407f07:	51                   	push   %ecx
407f08:	52                   	push   %edx
407f09:	e8 00 3a 01 00       	call   0x41b90e
407f0e:	83 c4 08             	add    $0x8,%esp
407f11:	8b 4d d4             	mov    -0x2c(%ebp),%ecx
407f14:	33 c0                	xor    %eax,%eax
407f16:	c7 45 b8 00 00 00 00 	movl   $0x0,-0x48(%ebp)
407f1d:	c7 45 bc 07 00 00 00 	movl   $0x7,-0x44(%ebp)
407f24:	66 89 45 a8          	mov    %ax,-0x58(%ebp)
407f28:	83 f9 08             	cmp    $0x8,%ecx
407f2b:	72 2e                	jb     0x407f5b
407f2d:	8b 55 c0             	mov    -0x40(%ebp),%edx
407f30:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
407f37:	8b c2                	mov    %edx,%eax
407f39:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
407f3f:	72 10                	jb     0x407f51
407f41:	8b 50 fc             	mov    -0x4(%eax),%edx
407f44:	83 c1 23             	add    $0x23,%ecx
407f47:	2b c2                	sub    %edx,%eax
407f49:	83 c0 fc             	add    $0xfffffffc,%eax
407f4c:	83 f8 1f             	cmp    $0x1f,%eax
407f4f:	77 77                	ja     0x407fc8
407f51:	51                   	push   %ecx
407f52:	52                   	push   %edx
407f53:	e8 b6 39 01 00       	call   0x41b90e
407f58:	83 c4 08             	add    $0x8,%esp
407f5b:	8b 4d ec             	mov    -0x14(%ebp),%ecx
407f5e:	33 c0                	xor    %eax,%eax
407f60:	c7 45 d0 00 00 00 00 	movl   $0x0,-0x30(%ebp)
407f67:	c7 45 d4 07 00 00 00 	movl   $0x7,-0x2c(%ebp)
407f6e:	66 89 45 c0          	mov    %ax,-0x40(%ebp)
407f72:	83 f9 08             	cmp    $0x8,%ecx
407f75:	72 2e                	jb     0x407fa5
407f77:	8b 55 d8             	mov    -0x28(%ebp),%edx
407f7a:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
407f81:	8b c2                	mov    %edx,%eax
407f83:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
407f89:	72 10                	jb     0x407f9b
407f8b:	8b 50 fc             	mov    -0x4(%eax),%edx
407f8e:	83 c1 23             	add    $0x23,%ecx
407f91:	2b c2                	sub    %edx,%eax
407f93:	83 c0 fc             	add    $0xfffffffc,%eax
407f96:	83 f8 1f             	cmp    $0x1f,%eax
407f99:	77 2d                	ja     0x407fc8
407f9b:	51                   	push   %ecx
407f9c:	52                   	push   %edx
407f9d:	e8 6c 39 01 00       	call   0x41b90e
407fa2:	83 c4 08             	add    $0x8,%esp
407fa5:	8a c3                	mov    %bl,%al
407fa7:	8b 4d f4             	mov    -0xc(%ebp),%ecx
407faa:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
407fb1:	59                   	pop    %ecx
407fb2:	5f                   	pop    %edi
407fb3:	5e                   	pop    %esi
407fb4:	5b                   	pop    %ebx
407fb5:	8b 4d f0             	mov    -0x10(%ebp),%ecx
407fb8:	33 cd                	xor    %ebp,%ecx
407fba:	e8 11 39 01 00       	call   0x41b8d0
407fbf:	8b e5                	mov    %ebp,%esp
407fc1:	5d                   	pop    %ebp
407fc2:	c3                   	ret
407fc3:	e8 d8 92 ff ff       	call   0x4012a0
407fc8:	e8 b2 8a 01 00       	call   0x420a7f
407fcd:	cc                   	int3
407fce:	cc                   	int3
407fcf:	cc                   	int3
407fd0:	55                   	push   %ebp
407fd1:	8b ec                	mov    %esp,%ebp
407fd3:	6a ff                	push   $0xffffffff
407fd5:	68 2d d9 43 00       	push   $0x43d92d
407fda:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
407fe0:	50                   	push   %eax
407fe1:	b8 a0 10 00 00       	mov    $0x10a0,%eax
407fe6:	e8 45 49 01 00       	call   0x41c930
407feb:	a1 14 40 45 00       	mov    0x454014,%eax
407ff0:	33 c5                	xor    %ebp,%eax
407ff2:	89 45 f0             	mov    %eax,-0x10(%ebp)
407ff5:	53                   	push   %ebx
407ff6:	56                   	push   %esi
407ff7:	57                   	push   %edi
407ff8:	50                   	push   %eax
407ff9:	8d 45 f4             	lea    -0xc(%ebp),%eax
407ffc:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
408002:	8b f9                	mov    %ecx,%edi
408004:	8b 45 14             	mov    0x14(%ebp),%eax
408007:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40800a:	8b 55 10             	mov    0x10(%ebp),%edx
40800d:	8b 75 20             	mov    0x20(%ebp),%esi
408010:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
408013:	89 85 64 ef ff ff    	mov    %eax,-0x109c(%ebp)
408019:	8b 45 18             	mov    0x18(%ebp),%eax
40801c:	89 85 68 ef ff ff    	mov    %eax,-0x1098(%ebp)
408022:	8b 45 24             	mov    0x24(%ebp),%eax
408025:	89 85 6c ef ff ff    	mov    %eax,-0x1094(%ebp)
40802b:	8b 45 28             	mov    0x28(%ebp),%eax
40802e:	89 85 5c ef ff ff    	mov    %eax,-0x10a4(%ebp)
408034:	8b 45 08             	mov    0x8(%ebp),%eax
408037:	89 8d 70 ef ff ff    	mov    %ecx,-0x1090(%ebp)
40803d:	89 95 74 ef ff ff    	mov    %edx,-0x108c(%ebp)
408043:	89 b5 60 ef ff ff    	mov    %esi,-0x10a0(%ebp)
408049:	39 47 64             	cmp    %eax,0x64(%edi)
40804c:	0f 8f 2d 06 00 00    	jg     0x40867f
408052:	80 7d 34 00          	cmpb   $0x0,0x34(%ebp)
408056:	0f 84 98 00 00 00    	je     0x4080f4
40805c:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
408062:	85 c0                	test   %eax,%eax
408064:	74 76                	je     0x4080dc
408066:	80 bf d1 00 00 00 00 	cmpb   $0x0,0xd1(%edi)
40806d:	74 6d                	je     0x4080dc
40806f:	8b 00                	mov    (%eax),%eax
408071:	85 c0                	test   %eax,%eax
408073:	74 67                	je     0x4080dc
408075:	68 d0 07 00 00       	push   $0x7d0
40807a:	50                   	push   %eax
40807b:	ff 15 d0 f0 43 00    	call   *0x43f0d0
408081:	85 c0                	test   %eax,%eax
408083:	74 07                	je     0x40808c
408085:	3d 80 00 00 00       	cmp    $0x80,%eax
40808a:	75 50                	jne    0x4080dc
40808c:	8b 8f f8 00 00 00    	mov    0xf8(%edi),%ecx
408092:	2b 8f f0 00 00 00    	sub    0xf0(%edi),%ecx
408098:	8b 87 fc 00 00 00    	mov    0xfc(%edi),%eax
40809e:	1b 87 f4 00 00 00    	sbb    0xf4(%edi),%eax
4080a4:	78 42                	js     0x4080e8
4080a6:	7f 08                	jg     0x4080b0
4080a8:	81 f9 84 03 00 00    	cmp    $0x384,%ecx
4080ae:	72 38                	jb     0x4080e8
4080b0:	51                   	push   %ecx
4080b1:	8b cf                	mov    %edi,%ecx
4080b3:	e8 58 cf 00 00       	call   0x415010
4080b8:	8b 95 74 ef ff ff    	mov    -0x108c(%ebp),%edx
4080be:	84 c0                	test   %al,%al
4080c0:	74 2c                	je     0x4080ee
4080c2:	8b 87 f8 00 00 00    	mov    0xf8(%edi),%eax
4080c8:	8b 8f fc 00 00 00    	mov    0xfc(%edi),%ecx
4080ce:	89 87 f0 00 00 00    	mov    %eax,0xf0(%edi)
4080d4:	89 8f f4 00 00 00    	mov    %ecx,0xf4(%edi)
4080da:	eb 12                	jmp    0x4080ee
4080dc:	c6 87 d1 00 00 00 00 	movb   $0x0,0xd1(%edi)
4080e3:	e9 97 05 00 00       	jmp    0x40867f
4080e8:	8b 95 74 ef ff ff    	mov    -0x108c(%ebp),%edx
4080ee:	8b 8d 70 ef ff ff    	mov    -0x1090(%ebp),%ecx
4080f4:	80 bf d0 00 00 00 00 	cmpb   $0x0,0xd0(%edi)
4080fb:	74 2b                	je     0x408128
4080fd:	8b 37                	mov    (%edi),%esi
4080ff:	6a 00                	push   $0x0
408101:	6a 00                	push   $0x0
408103:	ff b5 68 ef ff ff    	push   -0x1098(%ebp)
408109:	8b 76 18             	mov    0x18(%esi),%esi
40810c:	ff b5 64 ef ff ff    	push   -0x109c(%ebp)
408112:	52                   	push   %edx
408113:	51                   	push   %ecx
408114:	6a 1e                	push   $0x1e
408116:	8b ce                	mov    %esi,%ecx
408118:	ff 15 3c f2 43 00    	call   *0x43f23c
40811e:	8b cf                	mov    %edi,%ecx
408120:	ff d6                	call   *%esi
408122:	8b b5 60 ef ff ff    	mov    -0x10a0(%ebp),%esi
408128:	33 c0                	xor    %eax,%eax
40812a:	c7 85 78 ef ff ff 00 	movl   $0x0,-0x1088(%ebp)
408131:	00 00 00
408134:	c7 85 88 ef ff ff 00 	movl   $0x0,-0x1078(%ebp)
40813b:	00 00 00
40813e:	c7 85 8c ef ff ff 07 	movl   $0x7,-0x1074(%ebp)
408145:	00 00 00
408148:	66 89 85 78 ef ff ff 	mov    %ax,-0x1088(%ebp)
40814f:	89 45 fc             	mov    %eax,-0x4(%ebp)
408152:	89 85 c0 ef ff ff    	mov    %eax,-0x1040(%ebp)
408158:	89 85 d0 ef ff ff    	mov    %eax,-0x1030(%ebp)
40815e:	c7 85 d4 ef ff ff 07 	movl   $0x7,-0x102c(%ebp)
408165:	00 00 00
408168:	66 89 85 c0 ef ff ff 	mov    %ax,-0x1040(%ebp)
40816f:	89 85 a8 ef ff ff    	mov    %eax,-0x1058(%ebp)
408175:	89 85 b8 ef ff ff    	mov    %eax,-0x1048(%ebp)
40817b:	c7 85 bc ef ff ff 07 	movl   $0x7,-0x1044(%ebp)
408182:	00 00 00
408185:	66 89 85 a8 ef ff ff 	mov    %ax,-0x1058(%ebp)
40818c:	89 85 90 ef ff ff    	mov    %eax,-0x1070(%ebp)
408192:	89 85 a0 ef ff ff    	mov    %eax,-0x1060(%ebp)
408198:	c7 85 a4 ef ff ff 07 	movl   $0x7,-0x105c(%ebp)
40819f:	00 00 00
4081a2:	66 89 85 90 ef ff ff 	mov    %ax,-0x1070(%ebp)
4081a9:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
4081ad:	85 db                	test   %ebx,%ebx
4081af:	0f 84 86 00 00 00    	je     0x40823b
4081b5:	8b cb                	mov    %ebx,%ecx
4081b7:	89 85 d8 ef ff ff    	mov    %eax,-0x1028(%ebp)
4081bd:	89 85 e8 ef ff ff    	mov    %eax,-0x1018(%ebp)
4081c3:	89 85 ec ef ff ff    	mov    %eax,-0x1014(%ebp)
4081c9:	8d 51 01             	lea    0x1(%ecx),%edx
4081cc:	0f 1f 40 00          	nopl   0x0(%eax)
4081d0:	8a 01                	mov    (%ecx),%al
4081d2:	41                   	inc    %ecx
4081d3:	84 c0                	test   %al,%al
4081d5:	75 f9                	jne    0x4081d0
4081d7:	2b ca                	sub    %edx,%ecx
4081d9:	51                   	push   %ecx
4081da:	53                   	push   %ebx
4081db:	8d 8d d8 ef ff ff    	lea    -0x1028(%ebp),%ecx
4081e1:	e8 ba 3e 00 00       	call   0x40c0a0
4081e6:	8d 95 78 ef ff ff    	lea    -0x1088(%ebp),%edx
4081ec:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
4081f0:	8d 8d d8 ef ff ff    	lea    -0x1028(%ebp),%ecx
4081f6:	e8 65 c2 00 00       	call   0x414460
4081fb:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)