41eaa4:	50                   	push   %eax
41eaa5:	ff 15 d0 22 45 00    	call   *0x4522d0
41eaab:	83 c4 0c             	add    $0xc,%esp
41eaae:	8d 85 74 f9 ff ff    	lea    -0x68c(%ebp),%eax
41eab4:	68 f0 d5 40 00       	push   $0x40d5f0
41eab9:	68 04 01 00 00       	push   $0x104
41eabe:	50                   	push   %eax
41eabf:	ff 15 cc 22 45 00    	call   *0x4522cc
41eac5:	83 c4 0c             	add    $0xc,%esp
41eac8:	8d 85 74 f9 ff ff    	lea    -0x68c(%ebp),%eax
41eace:	57                   	push   %edi
41eacf:	57                   	push   %edi
41ead0:	6a 03                	push   $0x3
41ead2:	57                   	push   %edi
41ead3:	6a 01                	push   $0x1
41ead5:	68 80 00 00 00       	push   $0x80
41eada:	50                   	push   %eax
41eadb:	ff 15 ec 20 45 00    	call   *0x4520ec
41eae1:	8b f0                	mov    %eax,%esi
41eae3:	83 fe ff             	cmp    $0xffffffff,%esi
41eae6:	75 0a                	jne    0x41eaf2
41eae8:	ff 15 6c 20 45 00    	call   *0x45206c
41eaee:	8b f8                	mov    %eax,%edi
41eaf0:	eb 2f                	jmp    0x41eb21
41eaf2:	8d 85 54 f9 ff ff    	lea    -0x6ac(%ebp),%eax
41eaf8:	50                   	push   %eax
41eaf9:	56                   	push   %esi
41eafa:	ff 15 b0 20 45 00    	call   *0x4520b0
41eb00:	85 c0                	test   %eax,%eax
41eb02:	75 0a                	jne    0x41eb0e
41eb04:	ff 15 6c 20 45 00    	call   *0x45206c
41eb0a:	8b f8                	mov    %eax,%edi
41eb0c:	eb 0c                	jmp    0x41eb1a
41eb0e:	8b 85 54 f9 ff ff    	mov    -0x6ac(%ebp),%eax
41eb14:	89 85 64 f9 ff ff    	mov    %eax,-0x69c(%ebp)
41eb1a:	56                   	push   %esi
41eb1b:	ff 15 10 21 45 00    	call   *0x452110
41eb21:	8b 03                	mov    (%ebx),%eax
41eb23:	57                   	push   %edi
41eb24:	8b 70 10             	mov    0x10(%eax),%esi
41eb27:	8b ce                	mov    %esi,%ecx
41eb29:	ff 15 84 23 45 00    	call   *0x452384
41eb2f:	8b cb                	mov    %ebx,%ecx
41eb31:	ff d6                	call   *%esi
41eb33:	8b f8                	mov    %eax,%edi
41eb35:	81 ff ed f8 ff ff    	cmp    $0xfffff8ed,%edi
41eb3b:	75 05                	jne    0x41eb42
41eb3d:	83 ce ff             	or     $0xffffffff,%esi
41eb40:	eb 0e                	jmp    0x41eb50
41eb42:	85 ff                	test   %edi,%edi
41eb44:	0f 88 47 02 00 00    	js     0x41ed91
41eb4a:	8b b5 64 f9 ff ff    	mov    -0x69c(%ebp),%esi
41eb50:	68 44 db 40 00       	push   $0x40db44
41eb55:	ff 15 74 23 45 00    	call   *0x452374
41eb5b:	83 c4 04             	add    $0x4,%esp
41eb5e:	6a 0a                	push   $0xa
41eb60:	81 fe 00 28 00 00    	cmp    $0x2800,%esi
41eb66:	7c 1f                	jl     0x41eb87
41eb68:	8b c6                	mov    %esi,%eax
41eb6a:	99                   	cltd
41eb6b:	81 e2 ff 03 00 00    	and    $0x3ff,%edx
41eb71:	03 c2                	add    %edx,%eax
41eb73:	c1 f8 0a             	sar    $0xa,%eax
41eb76:	50                   	push   %eax
41eb77:	68 80 db 40 00       	push   $0x40db80
41eb7c:	ff 15 74 23 45 00    	call   *0x452374
41eb82:	83 c4 0c             	add    $0xc,%esp
41eb85:	eb 23                	jmp    0x41ebaa
41eb87:	85 f6                	test   %esi,%esi
41eb89:	78 11                	js     0x41eb9c
41eb8b:	56                   	push   %esi
41eb8c:	68 94 db 40 00       	push   $0x40db94
41eb91:	ff 15 74 23 45 00    	call   *0x452374
41eb97:	83 c4 0c             	add    $0xc,%esp
41eb9a:	eb 0e                	jmp    0x41ebaa
41eb9c:	68 ac db 40 00       	push   $0x40dbac
41eba1:	ff 15 74 23 45 00    	call   *0x452374
41eba7:	83 c4 08             	add    $0x8,%esp
41ebaa:	8d 45 8c             	lea    -0x74(%ebp),%eax
41ebad:	68 38 db 40 00       	push   $0x40db38
41ebb2:	50                   	push   %eax
41ebb3:	ff 15 68 23 45 00    	call   *0x452368
41ebb9:	83 c4 08             	add    $0x8,%esp
41ebbc:	85 c0                	test   %eax,%eax
41ebbe:	74 1a                	je     0x41ebda
41ebc0:	8d 45 8c             	lea    -0x74(%ebp),%eax
41ebc3:	68 b8 db 40 00       	push   $0x40dbb8
41ebc8:	50                   	push   %eax
41ebc9:	ff 15 68 23 45 00    	call   *0x452368
41ebcf:	83 c4 08             	add    $0x8,%esp
41ebd2:	85 c0                	test   %eax,%eax
41ebd4:	0f 85 b5 01 00 00    	jne    0x41ed8f
41ebda:	8d 85 84 fd ff ff    	lea    -0x27c(%ebp),%eax
41ebe0:	50                   	push   %eax
41ebe1:	ff 15 94 20 45 00    	call   *0x452094
41ebe7:	85 c0                	test   %eax,%eax
41ebe9:	74 3b                	je     0x41ec26
41ebeb:	83 f8 04             	cmp    $0x4,%eax
41ebee:	74 36                	je     0x41ec26
41ebf0:	ff 75 08             	push   0x8(%ebp)
41ebf3:	8b 95 70 f9 ff ff    	mov    -0x690(%ebp),%edx
41ebf9:	ff b5 5c f9 ff ff    	push   -0x6a4(%ebp)
41ebff:	8b 8d 6c f9 ff ff    	mov    -0x694(%ebp),%ecx
41ec05:	8b 33                	mov    (%ebx),%esi
41ec07:	e8 84 f2 ff ff       	call   0x41de90
41ec0c:	8b 76 10             	mov    0x10(%esi),%esi
41ec0f:	8b ce                	mov    %esi,%ecx
41ec11:	50                   	push   %eax
41ec12:	ff 15 84 23 45 00    	call   *0x452384
41ec18:	8b cb                	mov    %ebx,%ecx
41ec1a:	ff d6                	call   *%esi
41ec1c:	8b f8                	mov    %eax,%edi
41ec1e:	85 ff                	test   %edi,%edi
41ec20:	0f 88 6b 01 00 00    	js     0x41ed91
41ec26:	6a 00                	push   $0x0
41ec28:	c7 85 44 f9 ff ff 00 	movl   $0x0,-0x6bc(%ebp)
41ec2f:	00 00 00
41ec32:	8d 85 68 f9 ff ff    	lea    -0x698(%ebp),%eax
41ec38:	c7 85 48 f9 ff ff 00 	movl   $0x0,-0x6b8(%ebp)
41ec3f:	00 00 00
41ec42:	c7 85 54 f9 ff ff 00 	movl   $0x0,-0x6ac(%ebp)
41ec49:	00 00 00
41ec4c:	c7 85 58 f9 ff ff 00 	movl   $0x0,-0x6a8(%ebp)
41ec53:	00 00 00
41ec56:	8b 33                	mov    (%ebx),%esi
41ec58:	6a 01                	push   $0x1
41ec5a:	50                   	push   %eax
41ec5b:	ff b5 6c f9 ff ff    	push   -0x694(%ebp)
41ec61:	8b 76 64             	mov    0x64(%esi),%esi
41ec64:	8b ce                	mov    %esi,%ecx
41ec66:	ff 15 84 23 45 00    	call   *0x452384
41ec6c:	8b cb                	mov    %ebx,%ecx
41ec6e:	ff d6                	call   *%esi
41ec70:	8b f8                	mov    %eax,%edi
41ec72:	85 ff                	test   %edi,%edi
41ec74:	0f 88 17 01 00 00    	js     0x41ed91
41ec7a:	8b bd 68 f9 ff ff    	mov    -0x698(%ebp),%edi
41ec80:	8d 8d 54 f9 ff ff    	lea    -0x6ac(%ebp),%ecx
41ec86:	6a 00                	push   $0x0
41ec88:	51                   	push   %ecx
41ec89:	8b 07                	mov    (%edi),%eax
41ec8b:	8b 70 0c             	mov    0xc(%eax),%esi
41ec8e:	8b ce                	mov    %esi,%ecx
41ec90:	ff 15 84 23 45 00    	call   *0x452384
41ec96:	8b cf                	mov    %edi,%ecx
41ec98:	ff d6                	call   *%esi
41ec9a:	8b f8                	mov    %eax,%edi
41ec9c:	85 ff                	test   %edi,%edi
41ec9e:	0f 88 ed 00 00 00    	js     0x41ed91
41eca4:	8b bd 68 f9 ff ff    	mov    -0x698(%ebp),%edi
41ecaa:	8d 8d 44 f9 ff ff    	lea    -0x6bc(%ebp),%ecx
41ecb0:	6a 01                	push   $0x1
41ecb2:	51                   	push   %ecx
41ecb3:	8b 07                	mov    (%edi),%eax
41ecb5:	8b 70 0c             	mov    0xc(%eax),%esi
41ecb8:	8b ce                	mov    %esi,%ecx
41ecba:	ff 15 84 23 45 00    	call   *0x452384
41ecc0:	8b cf                	mov    %edi,%ecx
41ecc2:	ff d6                	call   *%esi
41ecc4:	8b f8                	mov    %eax,%edi
41ecc6:	85 ff                	test   %edi,%edi
41ecc8:	0f 88 c3 00 00 00    	js     0x41ed91
41ecce:	8b 95 54 f9 ff ff    	mov    -0x6ac(%ebp),%edx
41ecd4:	8b c2                	mov    %edx,%eax
41ecd6:	8b bd 44 f9 ff ff    	mov    -0x6bc(%ebp),%edi
41ecdc:	8b ca                	mov    %edx,%ecx
41ecde:	8b 9d 58 f9 ff ff    	mov    -0x6a8(%ebp),%ebx
41ece4:	2b c7                	sub    %edi,%eax
41ece6:	8b b5 48 f9 ff ff    	mov    -0x6b8(%ebp),%esi
41ecec:	89 85 64 f9 ff ff    	mov    %eax,-0x69c(%ebp)
41ecf2:	8b c3                	mov    %ebx,%eax
41ecf4:	1b c6                	sbb    %esi,%eax
41ecf6:	89 95 6c f9 ff ff    	mov    %edx,-0x694(%ebp)
41ecfc:	89 85 5c f9 ff ff    	mov    %eax,-0x6a4(%ebp)
41ed02:	8b c3                	mov    %ebx,%eax
41ed04:	0f ac c1 0a          	shrd   $0xa,%eax,%ecx
41ed08:	6a 0a                	push   $0xa
41ed0a:	c1 e8 0a             	shr    $0xa,%eax
41ed0d:	50                   	push   %eax
41ed0e:	51                   	push   %ecx
41ed0f:	53                   	push   %ebx
41ed10:	52                   	push   %edx
41ed11:	68 38 d9 40 00       	push   $0x40d938
41ed16:	ff 15 74 23 45 00    	call   *0x452374
41ed1c:	8b cf                	mov    %edi,%ecx
41ed1e:	8b c6                	mov    %esi,%eax
41ed20:	0f ac c1 0a          	shrd   $0xa,%eax,%ecx
41ed24:	6a 0a                	push   $0xa
41ed26:	c1 e8 0a             	shr    $0xa,%eax
41ed29:	50                   	push   %eax
41ed2a:	51                   	push   %ecx
41ed2b:	56                   	push   %esi
41ed2c:	57                   	push   %edi
41ed2d:	68 98 d9 40 00       	push   $0x40d998
41ed32:	ff 15 74 23 45 00    	call   *0x452374
41ed38:	8b b5 5c f9 ff ff    	mov    -0x6a4(%ebp),%esi
41ed3e:	b9 64 00 00 00       	mov    $0x64,%ecx
41ed43:	8b bd 64 f9 ff ff    	mov    -0x69c(%ebp),%edi
41ed49:	8b c6                	mov    %esi,%eax
41ed4b:	f7 e1                	mul    %ecx
41ed4d:	83 c4 30             	add    $0x30,%esp
41ed50:	ba 64 00 00 00       	mov    $0x64,%edx
41ed55:	8b c8                	mov    %eax,%ecx
41ed57:	8b c7                	mov    %edi,%eax
41ed59:	f7 e2                	mul    %edx
41ed5b:	6a 0a                	push   $0xa
41ed5d:	53                   	push   %ebx
41ed5e:	ff b5 6c f9 ff ff    	push   -0x694(%ebp)
41ed64:	03 ca                	add    %edx,%ecx
41ed66:	51                   	push   %ecx
41ed67:	50                   	push   %eax
41ed68:	e8 b3 eb 02 00       	call   0x44d920
41ed6d:	50                   	push   %eax
41ed6e:	8b cf                	mov    %edi,%ecx
41ed70:	8b c6                	mov    %esi,%eax
41ed72:	0f ac c1 0a          	shrd   $0xa,%eax,%ecx
41ed76:	c1 e8 0a             	shr    $0xa,%eax
41ed79:	50                   	push   %eax
41ed7a:	51                   	push   %ecx
41ed7b:	56                   	push   %esi
41ed7c:	57                   	push   %edi
41ed7d:	68 f8 d9 40 00       	push   $0x40d9f8
41ed82:	ff 15 74 23 45 00    	call   *0x452374
41ed88:	83 c4 1c             	add    $0x1c,%esp
41ed8b:	33 ff                	xor    %edi,%edi
41ed8d:	eb 14                	jmp    0x41eda3
41ed8f:	85 ff                	test   %edi,%edi
41ed91:	74 10                	je     0x41eda3
41ed93:	6a 0a                	push   $0xa
41ed95:	68 c8 db 40 00       	push   $0x40dbc8
41ed9a:	ff 15 74 23 45 00    	call   *0x452374
41eda0:	83 c4 08             	add    $0x8,%esp
41eda3:	6a 0a                	push   $0xa
41eda5:	68 34 2b 40 00       	push   $0x402b34
41edaa:	ff 15 74 23 45 00    	call   *0x452374
41edb0:	8b 9d 60 f9 ff ff    	mov    -0x6a0(%ebp),%ebx
41edb6:	83 c4 08             	add    $0x8,%esp
41edb9:	85 db                	test   %ebx,%ebx
41edbb:	74 12                	je     0x41edcf
41edbd:	8b 03                	mov    (%ebx),%eax
41edbf:	6a 01                	push   $0x1
41edc1:	8b 30                	mov    (%eax),%esi
41edc3:	8b ce                	mov    %esi,%ecx
41edc5:	ff 15 84 23 45 00    	call   *0x452384
41edcb:	8b cb                	mov    %ebx,%ecx
41edcd:	ff d6                	call   *%esi
41edcf:	8b 9d 68 f9 ff ff    	mov    -0x698(%ebp),%ebx
41edd5:	85 db                	test   %ebx,%ebx
41edd7:	74 12                	je     0x41edeb
41edd9:	8b 03                	mov    (%ebx),%eax
41eddb:	6a 01                	push   $0x1
41eddd:	8b 30                	mov    (%eax),%esi
41eddf:	8b ce                	mov    %esi,%ecx
41ede1:	ff 15 84 23 45 00    	call   *0x452384
41ede7:	8b cb                	mov    %ebx,%ecx
41ede9:	ff d6                	call   *%esi
41edeb:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41edee:	8b c7                	mov    %edi,%eax
41edf0:	5f                   	pop    %edi
41edf1:	5e                   	pop    %esi
41edf2:	33 cd                	xor    %ebp,%ecx
41edf4:	5b                   	pop    %ebx
41edf5:	e8 56 e1 02 00       	call   0x44cf50
41edfa:	8b e5                	mov    %ebp,%esp
41edfc:	5d                   	pop    %ebp
41edfd:	c2 04 00             	ret    $0x4
41ee00:	8b ff                	mov    %edi,%edi
41ee02:	55                   	push   %ebp
41ee03:	8b ec                	mov    %esp,%ebp
41ee05:	51                   	push   %ecx
41ee06:	53                   	push   %ebx
41ee07:	56                   	push   %esi
41ee08:	57                   	push   %edi
41ee09:	6a 0a                	push   $0xa
41ee0b:	68 34 2b 40 00       	push   $0x402b34
41ee10:	8b fa                	mov    %edx,%edi
41ee12:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
41ee19:	8b f1                	mov    %ecx,%esi
41ee1b:	ff 15 74 23 45 00    	call   *0x452374
41ee21:	83 c4 08             	add    $0x8,%esp
41ee24:	8d 45 fc             	lea    -0x4(%ebp),%eax
41ee27:	68 2c dc 40 00       	push   $0x40dc2c
41ee2c:	6a 00                	push   $0x0
41ee2e:	6a 22                	push   $0x22
41ee30:	6a 00                	push   $0x0
41ee32:	50                   	push   %eax
41ee33:	ff 15 3c 20 45 00    	call   *0x45203c
41ee39:	8b c8                	mov    %eax,%ecx
41ee3b:	85 c9                	test   %ecx,%ecx
41ee3d:	0f 88 75 01 00 00    	js     0x41efb8
41ee43:	6a 00                	push   $0x0
41ee45:	6a 00                	push   $0x0
41ee47:	6a 23                	push   $0x23
41ee49:	6a 00                	push   $0x0
41ee4b:	8d 45 fc             	lea    -0x4(%ebp),%eax
41ee4e:	50                   	push   %eax
41ee4f:	ff 15 3c 20 45 00    	call   *0x45203c
41ee55:	8b c8                	mov    %eax,%ecx
41ee57:	85 c9                	test   %ecx,%ecx
41ee59:	0f 88 59 01 00 00    	js     0x41efb8
41ee5f:	6a 00                	push   $0x0
41ee61:	6a 00                	push   $0x0
41ee63:	6a 0a                	push   $0xa
41ee65:	6a 00                	push   $0x0
41ee67:	8d 45 fc             	lea    -0x4(%ebp),%eax
41ee6a:	50                   	push   %eax
41ee6b:	ff 15 3c 20 45 00    	call   *0x45203c
41ee71:	8b c8                	mov    %eax,%ecx
41ee73:	85 c9                	test   %ecx,%ecx
41ee75:	0f 88 3d 01 00 00    	js     0x41efb8
41ee7b:	8b d7                	mov    %edi,%edx
41ee7d:	8d 4d fc             	lea    -0x4(%ebp),%ecx
41ee80:	e8 4b eb ff ff       	call   0x41d9d0
41ee85:	8b c8                	mov    %eax,%ecx
41ee87:	85 c9                	test   %ecx,%ecx
41ee89:	0f 88 29 01 00 00    	js     0x41efb8
41ee8f:	83 7e 10 17          	cmpl   $0x17,0x10(%esi)
41ee93:	8b 47 04             	mov    0x4(%edi),%eax
41ee96:	75 0c                	jne    0x41eea4
41ee98:	8b c8                	mov    %eax,%ecx
41ee9a:	e8 71 ed ff ff       	call   0x41dc10
41ee9f:	e9 12 01 00 00       	jmp    0x41efb6
41eea4:	89 46 1c             	mov    %eax,0x1c(%esi)
41eea7:	8b 46 10             	mov    0x10(%esi),%eax
41eeaa:	83 f8 05             	cmp    $0x5,%eax
41eead:	0f 85 f0 00 00 00    	jne    0x41efa3
41eeb3:	8b 4f 30             	mov    0x30(%edi),%ecx
41eeb6:	33 c0                	xor    %eax,%eax
41eeb8:	f7 c1 00 00 00 02    	test   $0x2000000,%ecx
41eebe:	74 07                	je     0x41eec7
41eec0:	b8 00 08 00 00       	mov    $0x800,%eax
41eec5:	eb 0d                	jmp    0x41eed4
41eec7:	f7 c1 00 00 20 00    	test   $0x200000,%ecx
41eecd:	74 05                	je     0x41eed4
41eecf:	b8 00 10 00 00       	mov    $0x1000,%eax
41eed4:	f7 c1 00 10 00 00    	test   $0x1000,%ecx
41eeda:	74 07                	je     0x41eee3
41eedc:	b8 00 20 00 00       	mov    $0x2000,%eax
41eee1:	eb 1c                	jmp    0x41eeff
41eee3:	f7 c1 00 00 00 01    	test   $0x1000000,%ecx
41eee9:	74 07                	je     0x41eef2
41eeeb:	b8 00 40 00 00       	mov    $0x4000,%eax
41eef0:	eb 0d                	jmp    0x41eeff
41eef2:	f7 c1 00 00 80 00    	test   $0x800000,%ecx
41eef8:	74 05                	je     0x41eeff
41eefa:	b8 00 80 00 00       	mov    $0x8000,%eax
41eeff:	8b 4e 50             	mov    0x50(%esi),%ecx
41ef02:	85 c9                	test   %ecx,%ecx
41ef04:	75 43                	jne    0x41ef49
41ef06:	e8 e5 ed 01 00       	call   0x43dcf0