401be0:	e8 4b a0 00 00       	call   0x40bc30
401be5:	81 ec 80 00 00 00    	sub    $0x80,%esp
401beb:	56                   	push   %esi
401bec:	8b f1                	mov    %ecx,%esi
401bee:	6a 00                	push   $0x0
401bf0:	6a 00                	push   $0x0
401bf2:	ff b6 c8 00 00 00    	push   0xc8(%esi)
401bf8:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
401bfe:	e8 df 78 01 00       	call   0x4194e2
401c03:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
401c07:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
401c0d:	e8 7c 79 01 00       	call   0x41958e
401c12:	83 f8 01             	cmp    $0x1,%eax
401c15:	75 20                	jne    0x401c37
401c17:	8b 45 dc             	mov    -0x24(%ebp),%eax
401c1a:	6a 01                	push   $0x1
401c1c:	6a 00                	push   $0x0
401c1e:	89 86 c8 00 00 00    	mov    %eax,0xc8(%esi)
401c24:	ff 76 1c             	push   0x1c(%esi)
401c27:	c7 86 c4 00 00 00 19 	movl   $0x19,0xc4(%esi)
401c2e:	00 00 00
401c31:	ff 15 54 99 43 00    	call   *0x439954
401c37:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
401c3b:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
401c41:	e8 13 b3 01 00       	call   0x41cf59
401c46:	8b 4d f4             	mov    -0xc(%ebp),%ecx
401c49:	5e                   	pop    %esi
401c4a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
401c51:	c9                   	leave
401c52:	c3                   	ret
401c53:	b8 46 5a 42 00       	mov    $0x425a46,%eax
401c58:	e8 d3 9f 00 00       	call   0x40bc30
401c5d:	51                   	push   %ecx
401c5e:	68 e4 00 00 00       	push   $0xe4
401c63:	e8 99 b0 01 00       	call   0x41cd01
401c68:	59                   	pop    %ecx
401c69:	8b c8                	mov    %eax,%ecx
401c6b:	89 4d f0             	mov    %ecx,-0x10(%ebp)
401c6e:	33 c0                	xor    %eax,%eax
401c70:	3b c8                	cmp    %eax,%ecx
401c72:	89 45 fc             	mov    %eax,-0x4(%ebp)
401c75:	74 05                	je     0x401c7c
401c77:	e8 12 00 00 00       	call   0x401c8e
401c7c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
401c7f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
401c86:	c9                   	leave
401c87:	c3                   	ret
401c88:	b8 f0 96 42 00       	mov    $0x4296f0,%eax
401c8d:	c3                   	ret
401c8e:	b8 58 5a 42 00       	mov    $0x425a58,%eax
401c93:	e8 98 9f 00 00       	call   0x40bc30
401c98:	51                   	push   %ecx
401c99:	56                   	push   %esi
401c9a:	8b f1                	mov    %ecx,%esi
401c9c:	89 75 f0             	mov    %esi,-0x10(%ebp)
401c9f:	e8 2f 26 02 00       	call   0x4242d3
401ca4:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
401ca8:	8d 4e 6c             	lea    0x6c(%esi),%ecx
401cab:	e8 cc f5 ff ff       	call   0x40127c
401cb0:	8b 4d f4             	mov    -0xc(%ebp),%ecx
401cb3:	c7 06 28 97 42 00    	movl   $0x429728,(%esi)
401cb9:	8b c6                	mov    %esi,%eax
401cbb:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
401cc2:	5e                   	pop    %esi
401cc3:	c9                   	leave
401cc4:	c3                   	ret
401cc5:	56                   	push   %esi
401cc6:	8b f1                	mov    %ecx,%esi
401cc8:	e8 53 00 00 00       	call   0x401d20
401ccd:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
401cd2:	74 07                	je     0x401cdb
401cd4:	56                   	push   %esi
401cd5:	e8 7d 00 00 00       	call   0x401d57
401cda:	59                   	pop    %ecx
401cdb:	8b c6                	mov    %esi,%eax
401cdd:	5e                   	pop    %esi
401cde:	c2 04 00             	ret    $0x4
401ce1:	b8 6c 5a 42 00       	mov    $0x425a6c,%eax
401ce6:	e8 45 9f 00 00       	call   0x40bc30
401ceb:	51                   	push   %ecx
401cec:	56                   	push   %esi
401ced:	8b f1                	mov    %ecx,%esi
401cef:	89 75 f0             	mov    %esi,-0x10(%ebp)
401cf2:	e8 dc 25 02 00       	call   0x4242d3
401cf7:	8b 45 08             	mov    0x8(%ebp),%eax
401cfa:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
401cfe:	8d 4e 6c             	lea    0x6c(%esi),%ecx
401d01:	89 46 68             	mov    %eax,0x68(%esi)
401d04:	e8 73 f5 ff ff       	call   0x40127c
401d09:	8b 4d f4             	mov    -0xc(%ebp),%ecx
401d0c:	c7 06 28 97 42 00    	movl   $0x429728,(%esi)
401d12:	8b c6                	mov    %esi,%eax
401d14:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
401d1b:	5e                   	pop    %esi
401d1c:	c9                   	leave
401d1d:	c2 04 00             	ret    $0x4
401d20:	b8 80 5a 42 00       	mov    $0x425a80,%eax
401d25:	e8 06 9f 00 00       	call   0x40bc30
401d2a:	56                   	push   %esi
401d2b:	8b f1                	mov    %ecx,%esi
401d2d:	c7 06 28 97 42 00    	movl   $0x429728,(%esi)
401d33:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
401d37:	8d 4e 6c             	lea    0x6c(%esi),%ecx
401d3a:	e8 3a f6 ff ff       	call   0x401379
401d3f:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
401d43:	8b ce                	mov    %esi,%ecx
401d45:	e8 6d 3a 02 00       	call   0x4257b7
401d4a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
401d4d:	5e                   	pop    %esi
401d4e:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
401d55:	c9                   	leave
401d56:	c3                   	ret
401d57:	ff 35 c0 50 43 00    	push   0x4350c0
401d5d:	ff 15 74 97 43 00    	call   *0x439774
401d63:	ff 74 24 04          	push   0x4(%esp)
401d67:	e8 d1 af 01 00       	call   0x41cd3d
401d6c:	59                   	pop    %ecx
401d6d:	c3                   	ret
401d6e:	55                   	push   %ebp
401d6f:	8b ec                	mov    %esp,%ebp
401d71:	83 ec 10             	sub    $0x10,%esp
401d74:	53                   	push   %ebx
401d75:	56                   	push   %esi
401d76:	8b f1                	mov    %ecx,%esi
401d78:	57                   	push   %edi
401d79:	ff 76 68             	push   0x68(%esi)
401d7c:	e8 3f 85 01 00       	call   0x41a2c0
401d81:	8b d8                	mov    %eax,%ebx
401d83:	8d 45 f0             	lea    -0x10(%ebp),%eax
401d86:	50                   	push   %eax
401d87:	ff 73 1c             	push   0x1c(%ebx)
401d8a:	ff 15 4c 99 43 00    	call   *0x43994c
401d90:	8d 45 f0             	lea    -0x10(%ebp),%eax
401d93:	53                   	push   %ebx
401d94:	8d 7e 6c             	lea    0x6c(%esi),%edi
401d97:	50                   	push   %eax
401d98:	68 00 00 00 50       	push   $0x50000000
401d9d:	68 78 11 43 00       	push   $0x431178
401da2:	8b cf                	mov    %edi,%ecx
401da4:	e8 97 f4 ff ff       	call   0x401240
401da9:	85 c0                	test   %eax,%eax
401dab:	74 03                	je     0x401db0
401dad:	89 7e 1c             	mov    %edi,0x1c(%esi)
401db0:	5f                   	pop    %edi
401db1:	5e                   	pop    %esi
401db2:	5b                   	pop    %ebx
401db3:	c9                   	leave
401db4:	c3                   	ret
401db5:	e9 0c c5 01 00       	jmp    0x41e2c6
401dba:	b8 08 97 42 00       	mov    $0x429708,%eax
401dbf:	c3                   	ret
401dc0:	b8 b0 97 42 00       	mov    $0x4297b0,%eax
401dc5:	c3                   	ret
401dc6:	56                   	push   %esi
401dc7:	8b f1                	mov    %ecx,%esi
401dc9:	6a 00                	push   $0x0
401dcb:	e8 19 2b 02 00       	call   0x4248e9
401dd0:	c7 06 e8 97 42 00    	movl   $0x4297e8,(%esi)
401dd6:	8b c6                	mov    %esi,%eax
401dd8:	5e                   	pop    %esi
401dd9:	c3                   	ret
401dda:	56                   	push   %esi
401ddb:	8b f1                	mov    %ecx,%esi
401ddd:	e8 14 00 00 00       	call   0x401df6
401de2:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
401de7:	74 07                	je     0x401df0
401de9:	56                   	push   %esi
401dea:	e8 4e af 01 00       	call   0x41cd3d
401def:	59                   	pop    %ecx
401df0:	8b c6                	mov    %esi,%eax
401df2:	5e                   	pop    %esi
401df3:	c2 04 00             	ret    $0x4
401df6:	e9 38 2c 02 00       	jmp    0x424a33
401dfb:	e8 05 00 00 00       	call   0x401e05
401e00:	e9 0a 00 00 00       	jmp    0x401e0f
401e05:	b9 c8 50 43 00       	mov    $0x4350c8,%ecx
401e0a:	e9 b7 ff ff ff       	jmp    0x401dc6
401e0f:	68 1b 1e 40 00       	push   $0x401e1b
401e14:	e8 c7 9e 00 00       	call   0x40bce0
401e19:	59                   	pop    %ecx
401e1a:	c3                   	ret
401e1b:	b9 c8 50 43 00       	mov    $0x4350c8,%ecx
401e20:	e9 d1 ff ff ff       	jmp    0x401df6
401e25:	e8 05 00 00 00       	call   0x401e2f
401e2a:	e9 0a 00 00 00       	jmp    0x401e39
401e2f:	b9 8c 51 43 00       	mov    $0x43518c,%ecx
401e34:	e9 67 23 01 00       	jmp    0x4141a0
401e39:	68 45 1e 40 00       	push   $0x401e45
401e3e:	e8 9d 9e 00 00       	call   0x40bce0
401e43:	59                   	pop    %ecx
401e44:	c3                   	ret
401e45:	b9 8c 51 43 00       	mov    $0x43518c,%ecx
401e4a:	e9 81 29 01 00       	jmp    0x4147d0
401e4f:	e8 05 00 00 00       	call   0x401e59
401e54:	e9 0a 00 00 00       	jmp    0x401e63
401e59:	b9 88 51 43 00       	mov    $0x435188,%ecx
401e5e:	e9 bd 3b 01 00       	jmp    0x415a20
401e63:	68 6f 1e 40 00       	push   $0x401e6f
401e68:	e8 73 9e 00 00       	call   0x40bce0
401e6d:	59                   	pop    %ecx
401e6e:	c3                   	ret
401e6f:	b9 88 51 43 00       	mov    $0x435188,%ecx
401e74:	e9 f7 40 01 00       	jmp    0x415f70
401e79:	8b 54 24 04          	mov    0x4(%esp),%edx
401e7d:	33 c0                	xor    %eax,%eax
401e7f:	8a 0a                	mov    (%edx),%cl
401e81:	84 c9                	test   %cl,%cl
401e83:	74 21                	je     0x401ea6
401e85:	56                   	push   %esi
401e86:	8b f0                	mov    %eax,%esi
401e88:	c1 ee 0d             	shr    $0xd,%esi
401e8b:	c1 e0 13             	shl    $0x13,%eax
401e8e:	0b c6                	or     %esi,%eax
401e90:	80 f9 61             	cmp    $0x61,%cl
401e93:	0f be c9             	movsbl %cl,%ecx
401e96:	7c 03                	jl     0x401e9b
401e98:	83 e9 20             	sub    $0x20,%ecx
401e9b:	03 c1                	add    %ecx,%eax
401e9d:	8a 4a 01             	mov    0x1(%edx),%cl
401ea0:	42                   	inc    %edx
401ea1:	84 c9                	test   %cl,%cl
401ea3:	75 e1                	jne    0x401e86
401ea5:	5e                   	pop    %esi
401ea6:	c3                   	ret
401ea7:	b8 20 77 42 00       	mov    $0x427720,%eax
401eac:	e8 7f 9d 00 00       	call   0x40bc30
401eb1:	b8 1c 15 00 00       	mov    $0x151c,%eax
401eb6:	e8 85 9e 00 00       	call   0x40bd40
401ebb:	57                   	push   %edi
401ebc:	33 ff                	xor    %edi,%edi
401ebe:	39 7d 14             	cmp    %edi,0x14(%ebp)
401ec1:	0f 86 c6 88 00 00    	jbe    0x40a78d
401ec7:	56                   	push   %esi
401ec8:	53                   	push   %ebx
401ec9:	33 c0                	xor    %eax,%eax
401ecb:	88 84 05 d8 ea ff ff 	mov    %al,-0x1528(%ebp,%eax,1)
401ed2:	40                   	inc    %eax
401ed3:	3d 8e 0a 00 00       	cmp    $0xa8e,%eax
401ed8:	72 f1                	jb     0x401ecb
401eda:	33 f6                	xor    %esi,%esi
401edc:	8b c6                	mov    %esi,%eax
401ede:	33 d2                	xor    %edx,%edx
401ee0:	f7 75 0c             	divl   0xc(%ebp)
401ee3:	8b 45 08             	mov    0x8(%ebp),%eax
401ee6:	8a 9c 35 d8 ea ff ff 	mov    -0x1528(%ebp,%esi,1),%bl
401eed:	8d 8c 35 d8 ea ff ff 	lea    -0x1528(%ebp,%esi,1),%ecx
401ef4:	0f b6 04 02          	movzbl (%edx,%eax,1),%eax
401ef8:	0f b6 d3             	movzbl %bl,%edx
401efb:	03 c7                	add    %edi,%eax
401efd:	bf 8e 0a 00 00       	mov    $0xa8e,%edi
401f02:	03 c2                	add    %edx,%eax
401f04:	33 d2                	xor    %edx,%edx
401f06:	f7 f7                	div    %edi
401f08:	46                   	inc    %esi
401f09:	81 fe 8e 0a 00 00    	cmp    $0xa8e,%esi
401f0f:	8b fa                	mov    %edx,%edi
401f11:	8a 94 3d d8 ea ff ff 	mov    -0x1528(%ebp,%edi,1),%dl
401f18:	88 11                	mov    %dl,(%ecx)
401f1a:	8d 84 3d d8 ea ff ff 	lea    -0x1528(%ebp,%edi,1),%eax
401f21:	88 18                	mov    %bl,(%eax)
401f23:	72 b7                	jb     0x401edc
401f25:	33 c0                	xor    %eax,%eax
401f27:	ff 4d 14             	decl   0x14(%ebp)
401f2a:	89 85 6c f5 ff ff    	mov    %eax,-0xa94(%ebp)
401f30:	89 85 a8 fa ff ff    	mov    %eax,-0x558(%ebp)
401f36:	89 45 08             	mov    %eax,0x8(%ebp)
401f39:	be 0a 4a 08 00       	mov    $0x84a0a,%esi
401f3e:	83 cb ff             	or     $0xffffffff,%ebx
401f41:	8b 45 08             	mov    0x8(%ebp),%eax
401f44:	33 d2                	xor    %edx,%edx
401f46:	40                   	inc    %eax
401f47:	b9 8e 0a 00 00       	mov    $0xa8e,%ecx
401f4c:	f7 f1                	div    %ecx
401f4e:	6a 00                	push   $0x0
401f50:	6a 00                	push   $0x0
401f52:	8b fa                	mov    %edx,%edi
401f54:	33 d2                	xor    %edx,%edx
401f56:	89 7d 08             	mov    %edi,0x8(%ebp)
401f59:	8a 84 3d d8 ea ff ff 	mov    -0x1528(%ebp,%edi,1),%al
401f60:	0f b6 c8             	movzbl %al,%ecx
401f63:	88 45 0c             	mov    %al,0xc(%ebp)
401f66:	8b 85 a8 fa ff ff    	mov    -0x558(%ebp),%eax
401f6c:	03 c1                	add    %ecx,%eax
401f6e:	b9 8e 0a 00 00       	mov    $0xa8e,%ecx
401f73:	f7 f1                	div    %ecx
401f75:	8a 8c 15 d8 ea ff ff 	mov    -0x1528(%ebp,%edx,1),%cl
401f7c:	88 8c 3d d8 ea ff ff 	mov    %cl,-0x1528(%ebp,%edi,1)
401f83:	8a 4d 0c             	mov    0xc(%ebp),%cl
401f86:	88 8c 15 d8 ea ff ff 	mov    %cl,-0x1528(%ebp,%edx,1)
401f8d:	89 95 a8 fa ff ff    	mov    %edx,-0x558(%ebp)
401f93:	8d 84 15 d8 ea ff ff 	lea    -0x1528(%ebp,%edx,1),%eax
401f9a:	ff 15 40 99 43 00    	call   *0x439940
401fa0:	8b f8                	mov    %eax,%edi
401fa2:	85 ff                	test   %edi,%edi
401fa4:	0f 84 9c 87 00 00    	je     0x40a746
401faa:	8d 4d e8             	lea    -0x18(%ebp),%ecx
401fad:	e8 da c9 01 00       	call   0x41e98c
401fb2:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
401fb6:	56                   	push   %esi
401fb7:	8d 4d e8             	lea    -0x18(%ebp),%ecx
401fba:	e8 2a cc 01 00       	call   0x41ebe9
401fbf:	8d 4d e8             	lea    -0x18(%ebp),%ecx
401fc2:	89 5d fc             	mov    %ebx,-0x4(%ebp)
401fc5:	e8 d6 ca 01 00       	call   0x41eaa0
401fca:	85 ff                	test   %edi,%edi
401fcc:	0f 84 74 87 00 00    	je     0x40a746
401fd2:	8d 8d b8 f5 ff ff    	lea    -0xa48(%ebp),%ecx
401fd8:	e8 af c9 01 00       	call   0x41e98c
401fdd:	56                   	push   %esi
401fde:	8d 8d b8 f5 ff ff    	lea    -0xa48(%ebp),%ecx
401fe4:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
401feb:	e8 f9 cb 01 00       	call   0x41ebe9
401ff0:	8d 8d b8 f5 ff ff    	lea    -0xa48(%ebp),%ecx
401ff6:	89 5d fc             	mov    %ebx,-0x4(%ebp)
401ff9:	e8 a2 ca 01 00       	call   0x41eaa0
401ffe:	85 ff                	test   %edi,%edi
402000:	0f 84 40 87 00 00    	je     0x40a746
402006:	8d 4d e0             	lea    -0x20(%ebp),%ecx
402009:	e8 7e c9 01 00       	call   0x41e98c
40200e:	56                   	push   %esi
40200f:	8d 4d e0             	lea    -0x20(%ebp),%ecx
402012:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
402019:	e8 cb cb 01 00       	call   0x41ebe9
40201e:	8d 4d e0             	lea    -0x20(%ebp),%ecx
402021:	89 5d fc             	mov    %ebx,-0x4(%ebp)
402024:	e8 77 ca 01 00       	call   0x41eaa0
402029:	85 ff                	test   %edi,%edi
40202b:	0f 84 15 87 00 00    	je     0x40a746
402031:	8d 8d a0 fa ff ff    	lea    -0x560(%ebp),%ecx
402037:	e8 50 c9 01 00       	call   0x41e98c
40203c:	56                   	push   %esi
40203d:	8d 8d a0 fa ff ff    	lea    -0x560(%ebp),%ecx
402043:	c7 45 fc 03 00 00 00 	movl   $0x3,-0x4(%ebp)
40204a:	e8 9a cb 01 00       	call   0x41ebe9
40204f:	8d 8d a0 fa ff ff    	lea    -0x560(%ebp),%ecx
402055:	89 5d fc             	mov    %ebx,-0x4(%ebp)
402058:	e8 43 ca 01 00       	call   0x41eaa0
40205d:	85 ff                	test   %edi,%edi
40205f:	0f 84 e1 86 00 00    	je     0x40a746
402065:	8d 4d d8             	lea    -0x28(%ebp),%ecx
402068:	e8 1f c9 01 00       	call   0x41e98c
40206d:	56                   	push   %esi
40206e:	8d 4d d8             	lea    -0x28(%ebp),%ecx
402071:	c7 45 fc 04 00 00 00 	movl   $0x4,-0x4(%ebp)
402078:	e8 6c cb 01 00       	call   0x41ebe9
40207d:	8d 4d d8             	lea    -0x28(%ebp),%ecx
402080:	89 5d fc             	mov    %ebx,-0x4(%ebp)
402083:	e8 18 ca 01 00       	call   0x41eaa0
402088:	85 ff                	test   %edi,%edi
40208a:	0f 84 b6 86 00 00    	je     0x40a746