4037ed:	e8 44 57 00 00       	call   0x408f36
4037f2:	8b 47 08             	mov    0x8(%edi),%eax
4037f5:	50                   	push   %eax
4037f6:	56                   	push   %esi
4037f7:	68 ff 0f 1f 00       	push   $0x1f0fff
4037fc:	ff 15 0c a1 40 00    	call   *0x40a10c
403802:	3b c6                	cmp    %esi,%eax
403804:	75 15                	jne    0x40381b
403806:	8d 45 dc             	lea    -0x24(%ebp),%eax
403809:	68 68 a4 40 00       	push   $0x40a468
40380e:	50                   	push   %eax
40380f:	c7 45 dc 20 c5 40 00 	movl   $0x40c520,-0x24(%ebp)
403816:	e8 1b 57 00 00       	call   0x408f36
40381b:	8d 8d 9c fe ff ff    	lea    -0x164(%ebp),%ecx
403821:	68 0c 01 00 00       	push   $0x10c
403826:	51                   	push   %ecx
403827:	68 2c 01 00 00       	push   $0x12c
40382c:	68 3b 6c 40 00       	push   $0x406c3b
403831:	50                   	push   %eax
403832:	e8 39 33 00 00       	call   0x406b70
403837:	83 c4 14             	add    $0x14,%esp
40383a:	3b c6                	cmp    %esi,%eax
40383c:	75 15                	jne    0x403853
40383e:	8d 45 e0             	lea    -0x20(%ebp),%eax
403841:	68 68 a4 40 00       	push   $0x40a468
403846:	50                   	push   %eax
403847:	c7 45 e0 04 c5 40 00 	movl   $0x40c504,-0x20(%ebp)
40384e:	e8 e3 56 00 00       	call   0x408f36
403853:	8d 45 d4             	lea    -0x2c(%ebp),%eax
403856:	68 68 a4 40 00       	push   $0x40a468
40385b:	50                   	push   %eax
40385c:	c7 45 d4 e8 c4 40 00 	movl   $0x40c4e8,-0x2c(%ebp)
403863:	e8 ce 56 00 00       	call   0x408f36
403868:	8d 45 d8             	lea    -0x28(%ebp),%eax
40386b:	68 68 a4 40 00       	push   $0x40a468
403870:	50                   	push   %eax
403871:	c7 45 d8 cc c4 40 00 	movl   $0x40c4cc,-0x28(%ebp)
403878:	e8 b9 56 00 00       	call   0x408f36
40387d:	8d 45 ec             	lea    -0x14(%ebp),%eax
403880:	68 68 a4 40 00       	push   $0x40a468
403885:	50                   	push   %eax
403886:	c7 45 ec b4 c4 40 00 	movl   $0x40c4b4,-0x14(%ebp)
40388d:	e8 a4 56 00 00       	call   0x408f36
403892:	ff 75 d0             	push   -0x30(%ebp)
403895:	ff 75 08             	push   0x8(%ebp)
403898:	e8 68 4d 00 00       	call   0x408605
40389d:	59                   	pop    %ecx
40389e:	b8 a5 38 40 00       	mov    $0x4038a5,%eax
4038a3:	59                   	pop    %ecx
4038a4:	c3                   	ret
4038a5:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
4038a9:	80 7d 10 00          	cmpb   $0x0,0x10(%ebp)
4038ad:	75 0a                	jne    0x4038b9
4038af:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
4038b2:	6a fe                	push   $0xfffffffe
4038b4:	e8 05 01 00 00       	call   0x4039be
4038b9:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4038bc:	5f                   	pop    %edi
4038bd:	5e                   	pop    %esi
4038be:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4038c5:	5b                   	pop    %ebx
4038c6:	c9                   	leave
4038c7:	c2 0c 00             	ret    $0xc
4038ca:	53                   	push   %ebx
4038cb:	56                   	push   %esi
4038cc:	57                   	push   %edi
4038cd:	33 ff                	xor    %edi,%edi
4038cf:	57                   	push   %edi
4038d0:	8b d9                	mov    %ecx,%ebx
4038d2:	ff 74 24 18          	push   0x18(%esp)
4038d6:	57                   	push   %edi
4038d7:	ff 74 24 1c          	push   0x1c(%esp)
4038db:	57                   	push   %edi
4038dc:	57                   	push   %edi
4038dd:	57                   	push   %edi
4038de:	57                   	push   %edi
4038df:	68 0d 00 00 50       	push   $0x5000000d
4038e4:	57                   	push   %edi
4038e5:	68 20 c3 40 00       	push   $0x40c320
4038ea:	68 00 02 00 00       	push   $0x200
4038ef:	ff 15 98 a2 40 00    	call   *0x40a298
4038f5:	8d b3 60 02 00 00    	lea    0x260(%ebx),%esi
4038fb:	3b c7                	cmp    %edi,%eax
4038fd:	89 06                	mov    %eax,(%esi)
4038ff:	75 04                	jne    0x403905
403901:	33 c0                	xor    %eax,%eax
403903:	eb 0a                	jmp    0x40390f
403905:	50                   	push   %eax
403906:	8b cb                	mov    %ebx,%ecx
403908:	e8 08 00 00 00       	call   0x403915
40390d:	8b 06                	mov    (%esi),%eax
40390f:	5f                   	pop    %edi
403910:	5e                   	pop    %esi
403911:	5b                   	pop    %ebx
403912:	c2 08 00             	ret    $0x8
403915:	55                   	push   %ebp
403916:	8b ec                	mov    %esp,%ebp
403918:	83 ec 20             	sub    $0x20,%esp
40391b:	53                   	push   %ebx
40391c:	8b 5d 08             	mov    0x8(%ebp),%ebx
40391f:	56                   	push   %esi
403920:	8b 35 dc a2 40 00    	mov    0x40a2dc,%esi
403926:	57                   	push   %edi
403927:	6a 20                	push   $0x20
403929:	6a 00                	push   $0x0
40392b:	68 36 10 00 00       	push   $0x1036
403930:	53                   	push   %ebx
403931:	ff d6                	call   *%esi
403933:	8d 45 e0             	lea    -0x20(%ebp),%eax
403936:	bf 1b 10 00 00       	mov    $0x101b,%edi
40393b:	50                   	push   %eax
40393c:	6a 00                	push   $0x0
40393e:	57                   	push   %edi
40393f:	53                   	push   %ebx
403940:	c7 45 e0 06 00 00 00 	movl   $0x6,-0x20(%ebp)
403947:	c7 45 ec b8 c5 40 00 	movl   $0x40c5b8,-0x14(%ebp)
40394e:	c7 45 e8 f0 00 00 00 	movl   $0xf0,-0x18(%ebp)
403955:	ff d6                	call   *%esi
403957:	8d 45 e0             	lea    -0x20(%ebp),%eax
40395a:	c7 45 ec b0 c5 40 00 	movl   $0x40c5b0,-0x14(%ebp)
403961:	50                   	push   %eax
403962:	6a 00                	push   $0x0
403964:	57                   	push   %edi
403965:	53                   	push   %ebx
403966:	c7 45 e8 c8 00 00 00 	movl   $0xc8,-0x18(%ebp)
40396d:	ff d6                	call   *%esi
40396f:	8d 45 e0             	lea    -0x20(%ebp),%eax
403972:	c7 45 ec a0 c5 40 00 	movl   $0x40c5a0,-0x14(%ebp)
403979:	50                   	push   %eax
40397a:	6a 00                	push   $0x0
40397c:	57                   	push   %edi
40397d:	53                   	push   %ebx
40397e:	c7 45 e8 8c 00 00 00 	movl   $0x8c,-0x18(%ebp)
403985:	ff d6                	call   *%esi
403987:	8d 45 e0             	lea    -0x20(%ebp),%eax
40398a:	c7 45 ec 94 c5 40 00 	movl   $0x40c594,-0x14(%ebp)
403991:	50                   	push   %eax
403992:	6a 00                	push   $0x0
403994:	57                   	push   %edi
403995:	53                   	push   %ebx
403996:	c7 45 e8 f0 00 00 00 	movl   $0xf0,-0x18(%ebp)
40399d:	ff d6                	call   *%esi
40399f:	8d 45 e0             	lea    -0x20(%ebp),%eax
4039a2:	c7 45 ec 8c c5 40 00 	movl   $0x40c58c,-0x14(%ebp)
4039a9:	50                   	push   %eax
4039aa:	6a 00                	push   $0x0
4039ac:	57                   	push   %edi
4039ad:	53                   	push   %ebx
4039ae:	c7 45 e8 69 00 00 00 	movl   $0x69,-0x18(%ebp)
4039b5:	ff d6                	call   *%esi
4039b7:	5f                   	pop    %edi
4039b8:	5e                   	pop    %esi
4039b9:	5b                   	pop    %ebx
4039ba:	c9                   	leave
4039bb:	c2 04 00             	ret    $0x4
4039be:	b8 4c 94 40 00       	mov    $0x40944c,%eax
4039c3:	e8 68 55 00 00       	call   0x408f30
4039c8:	81 ec e0 02 00 00    	sub    $0x2e0,%esp
4039ce:	83 7d 08 fe          	cmpl   $0xfffffffe,0x8(%ebp)
4039d2:	53                   	push   %ebx
4039d3:	56                   	push   %esi
4039d4:	57                   	push   %edi
4039d5:	8b f1                	mov    %ecx,%esi
4039d7:	89 65 f0             	mov    %esp,-0x10(%ebp)
4039da:	89 75 b0             	mov    %esi,-0x50(%ebp)
4039dd:	75 09                	jne    0x4039e8
4039df:	8b 86 58 02 00 00    	mov    0x258(%esi),%eax
4039e5:	89 45 08             	mov    %eax,0x8(%ebp)
4039e8:	8b 45 08             	mov    0x8(%ebp),%eax
4039eb:	8d 7e 08             	lea    0x8(%esi),%edi
4039ee:	89 86 58 02 00 00    	mov    %eax,0x258(%esi)
4039f4:	50                   	push   %eax
4039f5:	8b 86 5c 02 00 00    	mov    0x25c(%esi),%eax
4039fb:	57                   	push   %edi
4039fc:	8b 88 e8 01 00 00    	mov    0x1e8(%eax),%ecx
403a02:	e8 8f 30 00 00       	call   0x406a96
403a07:	83 f8 01             	cmp    $0x1,%eax
403a0a:	75 17                	jne    0x403a23
403a0c:	8b 3f                	mov    (%edi),%edi
403a0e:	33 db                	xor    %ebx,%ebx
403a10:	3b fb                	cmp    %ebx,%edi
403a12:	74 0f                	je     0x403a23
403a14:	83 ff 04             	cmp    $0x4,%edi
403a17:	75 11                	jne    0x403a2a
403a19:	ff 75 08             	push   0x8(%ebp)
403a1c:	8b ce                	mov    %esi,%ecx
403a1e:	e8 f3 02 00 00       	call   0x403d16
403a23:	33 c0                	xor    %eax,%eax
403a25:	e9 db 02 00 00       	jmp    0x403d05
403a2a:	39 1d e0 d7 40 00    	cmp    %ebx,0x40d7e0
403a30:	0f 84 cc 02 00 00    	je     0x403d02
403a36:	39 1d e4 d7 40 00    	cmp    %ebx,0x40d7e4
403a3c:	0f 84 c0 02 00 00    	je     0x403d02
403a42:	39 1d e8 d7 40 00    	cmp    %ebx,0x40d7e8
403a48:	0f 84 b4 02 00 00    	je     0x403d02
403a4e:	57                   	push   %edi
403a4f:	53                   	push   %ebx
403a50:	68 10 04 00 00       	push   $0x410
403a55:	89 5d ec             	mov    %ebx,-0x14(%ebp)
403a58:	89 5d bc             	mov    %ebx,-0x44(%ebp)
403a5b:	ff 15 0c a1 40 00    	call   *0x40a10c
403a61:	8b f8                	mov    %eax,%edi
403a63:	89 5d fc             	mov    %ebx,-0x4(%ebp)
403a66:	3b fb                	cmp    %ebx,%edi
403a68:	89 7d e0             	mov    %edi,-0x20(%ebp)
403a6b:	75 11                	jne    0x403a7e
403a6d:	8d 45 a4             	lea    -0x5c(%ebp),%eax
403a70:	68 d8 a5 40 00       	push   $0x40a5d8
403a75:	50                   	push   %eax
403a76:	89 5d a4             	mov    %ebx,-0x5c(%ebp)
403a79:	e8 b8 54 00 00       	call   0x408f36
403a7e:	8d 45 e8             	lea    -0x18(%ebp),%eax
403a81:	50                   	push   %eax
403a82:	53                   	push   %ebx
403a83:	53                   	push   %ebx
403a84:	57                   	push   %edi
403a85:	ff 15 e4 d7 40 00    	call   *0x40d7e4
403a8b:	3b c3                	cmp    %ebx,%eax
403a8d:	75 11                	jne    0x403aa0
403a8f:	8d 45 a0             	lea    -0x60(%ebp),%eax
403a92:	68 d8 a5 40 00       	push   $0x40a5d8
403a97:	50                   	push   %eax
403a98:	89 5d a0             	mov    %ebx,-0x60(%ebp)
403a9b:	e8 96 54 00 00       	call   0x408f36
403aa0:	8b 45 e8             	mov    -0x18(%ebp),%eax
403aa3:	c1 e8 02             	shr    $0x2,%eax
403aa6:	c1 e0 02             	shl    $0x2,%eax
403aa9:	50                   	push   %eax
403aaa:	e8 9f 54 00 00       	call   0x408f4e
403aaf:	3b c3                	cmp    %ebx,%eax
403ab1:	59                   	pop    %ecx
403ab2:	89 45 ec             	mov    %eax,-0x14(%ebp)
403ab5:	75 11                	jne    0x403ac8
403ab7:	8d 45 ac             	lea    -0x54(%ebp),%eax
403aba:	68 d8 a5 40 00       	push   $0x40a5d8
403abf:	50                   	push   %eax
403ac0:	89 5d ac             	mov    %ebx,-0x54(%ebp)
403ac3:	e8 6e 54 00 00       	call   0x408f36
403ac8:	8d 45 e8             	lea    -0x18(%ebp),%eax
403acb:	50                   	push   %eax
403acc:	ff 75 e8             	push   -0x18(%ebp)
403acf:	ff 75 ec             	push   -0x14(%ebp)
403ad2:	57                   	push   %edi
403ad3:	ff 15 e4 d7 40 00    	call   *0x40d7e4
403ad9:	3b c3                	cmp    %ebx,%eax
403adb:	75 11                	jne    0x403aee
403add:	8d 45 b4             	lea    -0x4c(%ebp),%eax
403ae0:	68 d8 a5 40 00       	push   $0x40a5d8
403ae5:	50                   	push   %eax
403ae6:	89 5d b4             	mov    %ebx,-0x4c(%ebp)
403ae9:	e8 48 54 00 00       	call   0x408f36
403aee:	8b 45 e8             	mov    -0x18(%ebp),%eax
403af1:	53                   	push   %ebx
403af2:	53                   	push   %ebx
403af3:	6a 0b                	push   $0xb
403af5:	ff b6 60 02 00 00    	push   0x260(%esi)
403afb:	c1 e8 02             	shr    $0x2,%eax
403afe:	89 45 9c             	mov    %eax,-0x64(%ebp)
403b01:	ff 15 dc a2 40 00    	call   *0x40a2dc
403b07:	33 c0                	xor    %eax,%eax
403b09:	89 5d bc             	mov    %ebx,-0x44(%ebp)
403b0c:	89 45 e4             	mov    %eax,-0x1c(%ebp)
403b0f:	bf 06 10 00 00       	mov    $0x1006,%edi
403b14:	3b 45 9c             	cmp    -0x64(%ebp),%eax
403b17:	0f 8d 5c 01 00 00    	jge    0x403c79
403b1d:	8d 8d 94 fe ff ff    	lea    -0x16c(%ebp),%ecx
403b23:	68 04 01 00 00       	push   $0x104
403b28:	51                   	push   %ecx
403b29:	8b 4d ec             	mov    -0x14(%ebp),%ecx
403b2c:	ff 34 81             	push   (%ecx,%eax,4)
403b2f:	ff 75 e0             	push   -0x20(%ebp)
403b32:	ff 15 e8 d7 40 00    	call   *0x40d7e8
403b38:	3b c3                	cmp    %ebx,%eax
403b3a:	0f 84 2e 01 00 00    	je     0x403c6e
403b40:	8d 85 94 fe ff ff    	lea    -0x16c(%ebp),%eax
403b46:	50                   	push   %eax
403b47:	e8 02 55 00 00       	call   0x40904e
403b4c:	59                   	pop    %ecx
403b4d:	8d 84 05 94 fe ff ff 	lea    -0x16c(%ebp,%eax,1),%eax
403b54:	8d 8d 94 fe ff ff    	lea    -0x16c(%ebp),%ecx
403b5a:	3b c1                	cmp    %ecx,%eax
403b5c:	74 08                	je     0x403b66
403b5e:	80 38 5c             	cmpb   $0x5c,(%eax)
403b61:	74 08                	je     0x403b6b
403b63:	48                   	dec    %eax
403b64:	eb ee                	jmp    0x403b54
403b66:	80 38 5c             	cmpb   $0x5c,(%eax)
403b69:	75 01                	jne    0x403b6c
403b6b:	40                   	inc    %eax
403b6c:	8b 4d 08             	mov    0x8(%ebp),%ecx
403b6f:	89 45 cc             	mov    %eax,-0x34(%ebp)
403b72:	8b 45 bc             	mov    -0x44(%ebp),%eax
403b75:	c7 45 b8 05 00 00 00 	movl   $0x5,-0x48(%ebp)
403b7c:	3b 06                	cmp    (%esi),%eax
403b7e:	8d 45 b8             	lea    -0x48(%ebp),%eax
403b81:	50                   	push   %eax
403b82:	89 4d d8             	mov    %ecx,-0x28(%ebp)
403b85:	89 5d c0             	mov    %ebx,-0x40(%ebp)
403b88:	53                   	push   %ebx
403b89:	7c 07                	jl     0x403b92
403b8b:	68 07 10 00 00       	push   $0x1007
403b90:	eb 01                	jmp    0x403b93
403b92:	57                   	push   %edi
403b93:	ff b6 60 02 00 00    	push   0x260(%esi)
403b99:	8b 8e 5c 02 00 00    	mov    0x25c(%esi),%ecx
403b9f:	e8 4e 46 00 00       	call   0x4081f2
403ba4:	8d 85 94 fe ff ff    	lea    -0x16c(%ebp),%eax
403baa:	8b 8e 5c 02 00 00    	mov    0x25c(%esi),%ecx
403bb0:	89 45 cc             	mov    %eax,-0x34(%ebp)
403bb3:	8d 45 b8             	lea    -0x48(%ebp),%eax
403bb6:	50                   	push   %eax
403bb7:	53                   	push   %ebx
403bb8:	57                   	push   %edi
403bb9:	c7 45 b8 01 00 00 00 	movl   $0x1,-0x48(%ebp)
403bc0:	ff b6 60 02 00 00    	push   0x260(%esi)
403bc6:	c7 45 c0 04 00 00 00 	movl   $0x4,-0x40(%ebp)
403bcd:	e8 20 46 00 00       	call   0x4081f2
403bd2:	8d 85 94 fe ff ff    	lea    -0x16c(%ebp),%eax
403bd8:	50                   	push   %eax
403bd9:	e8 40 4e 00 00       	call   0x408a1e
403bde:	59                   	pop    %ecx
403bdf:	6a 03                	push   $0x3
403be1:	8d 8d 14 fd ff ff    	lea    -0x2ec(%ebp),%ecx
403be7:	68 80 00 00 00       	push   $0x80
403bec:	51                   	push   %ecx
403bed:	50                   	push   %eax
403bee:	e8 f5 4e 00 00       	call   0x408ae8
403bf3:	8d 85 14 fd ff ff    	lea    -0x2ec(%ebp),%eax
403bf9:	83 c4 10             	add    $0x10,%esp
403bfc:	89 45 cc             	mov    %eax,-0x34(%ebp)
403bff:	8b 8e 5c 02 00 00    	mov    0x25c(%esi),%ecx
403c05:	8d 45 b8             	lea    -0x48(%ebp),%eax
403c08:	c7 45 c0 01 00 00 00 	movl   $0x1,-0x40(%ebp)
403c0f:	50                   	push   %eax
403c10:	53                   	push   %ebx
403c11:	57                   	push   %edi
403c12:	ff b6 60 02 00 00    	push   0x260(%esi)
403c18:	e8 d5 45 00 00       	call   0x4081f2
403c1d:	8d 85 94 fd ff ff    	lea    -0x26c(%ebp),%eax
403c23:	8b 8e 5c 02 00 00    	mov    0x25c(%esi),%ecx
403c29:	89 45 cc             	mov    %eax,-0x34(%ebp)
403c2c:	8d 45 b8             	lea    -0x48(%ebp),%eax
403c2f:	50                   	push   %eax
403c30:	53                   	push   %ebx
403c31:	57                   	push   %edi
403c32:	c7 45 c0 02 00 00 00 	movl   $0x2,-0x40(%ebp)
403c39:	ff b6 60 02 00 00    	push   0x260(%esi)
403c3f:	e8 ae 45 00 00       	call   0x4081f2
403c44:	8d 85 14 fe ff ff    	lea    -0x1ec(%ebp),%eax
403c4a:	8b 8e 5c 02 00 00    	mov    0x25c(%esi),%ecx