41580e:	65 72 00             	gs jb  0x415811
415811:	00 00                	add    %al,(%eax)
415813:	00 74 72 69          	add    %dh,0x69(%edx,%esi,2)
415817:	63 61 72             	arpl   %esp,0x72(%ecx)
41581a:	62 6f 78             	bound  %ebp,0x78(%edi)
41581d:	79 6c                	jns    0x41588b
41581f:	69 63 00 00 00 4b 4f 	imul   $0x4f4b0000,0x0(%ebx),%esp
415826:	4e                   	dec    %esi
415827:	54                   	push   %esp
415828:	41                   	inc    %ecx
415829:	4b                   	dec    %ebx
41582a:	54                   	push   %esp
41582b:	45                   	inc    %ebp
41582c:	52                   	push   %edx
41582d:	53                   	push   %ebx
41582e:	00 00                	add    %al,(%eax)
415830:	52                   	push   %edx
415831:	45                   	inc    %ebp
415832:	41                   	inc    %ecx
415833:	50                   	push   %eax
415834:	50                   	push   %eax
415835:	45                   	inc    %ebp
415836:	41                   	inc    %ecx
415837:	53                   	push   %ebx
415838:	45                   	inc    %ebp
415839:	00 00                	add    %al,(%eax)
41583b:	00 4e 6f             	add    %cl,0x6f(%esi)
41583e:	72 6e                	jb     0x4158ae
415840:	6f                   	outsl  %ds:(%esi),(%dx)
415841:	72 77                	jb     0x4158ba
415843:	65 73 74             	gs jae 0x4158ba
415846:	31 00                	xor    %eax,(%eax)
415848:	cc                   	int3
415849:	cc                   	int3
41584a:	cc                   	int3
41584b:	cc                   	int3
41584c:	cc                   	int3
41584d:	cc                   	int3
41584e:	cc                   	int3
41584f:	cc                   	int3
415850:	e9 e9 e9 e9 cc       	jmp    0xcd2b423e
415855:	cc                   	int3
415856:	cc                   	int3
415857:	cc                   	int3
415858:	cc                   	int3
415859:	cc                   	int3
41585a:	cc                   	int3
41585b:	cc                   	int3
41585c:	cc                   	int3
41585d:	cc                   	int3
41585e:	cc                   	int3
41585f:	cc                   	int3
415860:	55                   	push   %ebp
415861:	8b ec                	mov    %esp,%ebp
415863:	83 ec 0c             	sub    $0xc,%esp
415866:	68 c6 12 40 00       	push   $0x4012c6
41586b:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
415871:	50                   	push   %eax
415872:	64 89 25 00 00 00 00 	mov    %esp,%fs:0x0
415879:	81 ec fc 00 00 00    	sub    $0xfc,%esp
41587f:	53                   	push   %ebx
415880:	56                   	push   %esi
415881:	57                   	push   %edi
415882:	89 65 f4             	mov    %esp,-0xc(%ebp)
415885:	c7 45 f8 a8 11 40 00 	movl   $0x4011a8,-0x8(%ebp)
41588c:	8b 75 08             	mov    0x8(%ebp),%esi
41588f:	8b c6                	mov    %esi,%eax
415891:	83 e0 01             	and    $0x1,%eax
415894:	89 45 fc             	mov    %eax,-0x4(%ebp)
415897:	83 e6 fe             	and    $0xfffffffe,%esi
41589a:	8b 0e                	mov    (%esi),%ecx
41589c:	56                   	push   %esi
41589d:	89 75 08             	mov    %esi,0x8(%ebp)
4158a0:	ff 51 04             	call   *0x4(%ecx)
4158a3:	33 db                	xor    %ebx,%ebx
4158a5:	68 e4 4a 41 00       	push   $0x414ae4
4158aa:	89 5d c4             	mov    %ebx,-0x3c(%ebp)
4158ad:	89 5d b8             	mov    %ebx,-0x48(%ebp)
4158b0:	89 5d b4             	mov    %ebx,-0x4c(%ebp)
4158b3:	89 5d b0             	mov    %ebx,-0x50(%ebp)
4158b6:	89 5d ac             	mov    %ebx,-0x54(%ebp)
4158b9:	89 5d 9c             	mov    %ebx,-0x64(%ebp)
4158bc:	89 5d 8c             	mov    %ebx,-0x74(%ebp)
4158bf:	89 9d 7c ff ff ff    	mov    %ebx,-0x84(%ebp)
4158c5:	89 9d 6c ff ff ff    	mov    %ebx,-0x94(%ebp)
4158cb:	89 9d 5c ff ff ff    	mov    %ebx,-0xa4(%ebp)
4158d1:	88 9d 28 ff ff ff    	mov    %bl,-0xd8(%ebp)
4158d7:	89 9d 24 ff ff ff    	mov    %ebx,-0xdc(%ebp)
4158dd:	89 9d 20 ff ff ff    	mov    %ebx,-0xe0(%ebp)
4158e3:	89 9d 18 ff ff ff    	mov    %ebx,-0xe8(%ebp)
4158e9:	89 9d 1c ff ff ff    	mov    %ebx,-0xe4(%ebp)
4158ef:	89 9d 10 ff ff ff    	mov    %ebx,-0xf0(%ebp)
4158f5:	89 9d 14 ff ff ff    	mov    %ebx,-0xec(%ebp)
4158fb:	89 9d 08 ff ff ff    	mov    %ebx,-0xf8(%ebp)
415901:	89 9d 0c ff ff ff    	mov    %ebx,-0xf4(%ebp)
415907:	ff 15 30 11 40 00    	call   *0x401130
41590d:	83 f8 02             	cmp    $0x2,%eax
415910:	74 44                	je     0x415956
415912:	8d 95 5c ff ff ff    	lea    -0xa4(%ebp),%edx
415918:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
41591b:	c7 85 64 ff ff ff ec 	movl   $0x414aec,-0x9c(%ebp)
415922:	4a 41 00
415925:	c7 85 5c ff ff ff 08 	movl   $0x8,-0xa4(%ebp)
41592c:	00 00 00
41592f:	ff 15 58 11 40 00    	call   *0x401158
415935:	8d 55 9c             	lea    -0x64(%ebp),%edx
415938:	52                   	push   %edx
415939:	8d 45 8c             	lea    -0x74(%ebp),%eax
41593c:	50                   	push   %eax
41593d:	ff 15 54 10 40 00    	call   *0x401054
415943:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
415946:	51                   	push   %ecx
415947:	8d 55 9c             	lea    -0x64(%ebp),%edx
41594a:	52                   	push   %edx
41594b:	6a 02                	push   $0x2
41594d:	ff 15 24 10 40 00    	call   *0x401024
415953:	83 c4 0c             	add    $0xc,%esp
415956:	8b 06                	mov    (%esi),%eax
415958:	8d 4d b8             	lea    -0x48(%ebp),%ecx
41595b:	51                   	push   %ecx
41595c:	56                   	push   %esi
41595d:	ff 90 a8 00 00 00    	call   *0xa8(%eax)
415963:	db e2                	fnclex
415965:	3b c3                	cmp    %ebx,%eax
415967:	7d 12                	jge    0x41597b
415969:	68 a8 00 00 00       	push   $0xa8
41596e:	68 90 49 41 00       	push   $0x414990
415973:	56                   	push   %esi
415974:	50                   	push   %eax
415975:	ff 15 44 10 40 00    	call   *0x401044
41597b:	8b 55 b8             	mov    -0x48(%ebp),%edx
41597e:	52                   	push   %edx
41597f:	53                   	push   %ebx
415980:	ff 15 a4 10 40 00    	call   *0x4010a4
415986:	8b f8                	mov    %eax,%edi
415988:	f7 df                	neg    %edi
41598a:	1b ff                	sbb    %edi,%edi
41598c:	47                   	inc    %edi
41598d:	8d 4d b8             	lea    -0x48(%ebp),%ecx
415990:	f7 df                	neg    %edi
415992:	ff 15 90 11 40 00    	call   *0x401190
415998:	66 3b fb             	cmp    %bx,%di
41599b:	0f 84 89 00 00 00    	je     0x415a2a
4159a1:	b8 04 00 02 80       	mov    $0x80020004,%eax
4159a6:	bb 0a 00 00 00       	mov    $0xa,%ebx
4159ab:	8d 95 5c ff ff ff    	lea    -0xa4(%ebp),%edx
4159b1:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
4159b4:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
4159ba:	89 9d 6c ff ff ff    	mov    %ebx,-0x94(%ebp)
4159c0:	89 45 84             	mov    %eax,-0x7c(%ebp)
4159c3:	89 9d 7c ff ff ff    	mov    %ebx,-0x84(%ebp)
4159c9:	89 45 94             	mov    %eax,-0x6c(%ebp)
4159cc:	89 5d 8c             	mov    %ebx,-0x74(%ebp)
4159cf:	c7 85 64 ff ff ff 08 	movl   $0x414b08,-0x9c(%ebp)
4159d6:	4b 41 00
4159d9:	c7 85 5c ff ff ff 08 	movl   $0x8,-0xa4(%ebp)
4159e0:	00 00 00
4159e3:	ff 15 58 11 40 00    	call   *0x401158
4159e9:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
4159ef:	50                   	push   %eax
4159f0:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
4159f6:	51                   	push   %ecx
4159f7:	8d 55 8c             	lea    -0x74(%ebp),%edx
4159fa:	52                   	push   %edx
4159fb:	6a 00                	push   $0x0
4159fd:	8d 45 9c             	lea    -0x64(%ebp),%eax
415a00:	50                   	push   %eax
415a01:	ff 15 64 10 40 00    	call   *0x401064
415a07:	8d 8d 6c ff ff ff    	lea    -0x94(%ebp),%ecx
415a0d:	51                   	push   %ecx
415a0e:	8d 95 7c ff ff ff    	lea    -0x84(%ebp),%edx
415a14:	52                   	push   %edx
415a15:	8d 45 8c             	lea    -0x74(%ebp),%eax
415a18:	50                   	push   %eax
415a19:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
415a1c:	51                   	push   %ecx
415a1d:	6a 04                	push   $0x4
415a1f:	ff 15 24 10 40 00    	call   *0x401024
415a25:	83 c4 14             	add    $0x14,%esp
415a28:	eb 05                	jmp    0x415a2f
415a2a:	bb 0a 00 00 00       	mov    $0xa,%ebx
415a2f:	6a 00                	push   $0x0
415a31:	6a 00                	push   $0x0
415a33:	ff 15 00 10 40 00    	call   *0x401000
415a39:	ff 15 80 10 40 00    	call   *0x401080
415a3f:	dc 1d a0 11 40 00    	fcompl 0x4011a0
415a45:	df e0                	fnstsw %ax
415a47:	f6 c4 40             	test   $0x40,%ah
415a4a:	0f 85 df 00 00 00    	jne    0x415b2f
415a50:	6a 00                	push   $0x0
415a52:	68 34 4b 41 00       	push   $0x414b34
415a57:	8d 55 c4             	lea    -0x3c(%ebp),%edx
415a5a:	52                   	push   %edx
415a5b:	8d 45 9c             	lea    -0x64(%ebp),%eax
415a5e:	50                   	push   %eax
415a5f:	ff 15 5c 11 40 00    	call   *0x40115c
415a65:	a1 38 93 41 00       	mov    0x419338,%eax
415a6a:	83 c4 10             	add    $0x10,%esp
415a6d:	85 c0                	test   %eax,%eax
415a6f:	75 10                	jne    0x415a81
415a71:	68 38 93 41 00       	push   $0x419338
415a76:	68 98 4b 41 00       	push   $0x414b98
415a7b:	ff 15 14 11 40 00    	call   *0x401114
415a81:	8b 3d 38 93 41 00    	mov    0x419338,%edi
415a87:	8b 0f                	mov    (%edi),%ecx
415a89:	8d 55 b0             	lea    -0x50(%ebp),%edx
415a8c:	52                   	push   %edx
415a8d:	57                   	push   %edi
415a8e:	ff 51 1c             	call   *0x1c(%ecx)
415a91:	db e2                	fnclex
415a93:	85 c0                	test   %eax,%eax
415a95:	7d 0f                	jge    0x415aa6
415a97:	6a 1c                	push   $0x1c
415a99:	68 88 4b 41 00       	push   $0x414b88
415a9e:	57                   	push   %edi
415a9f:	50                   	push   %eax
415aa0:	ff 15 44 10 40 00    	call   *0x401044
415aa6:	8b 7d b0             	mov    -0x50(%ebp),%edi
415aa9:	83 ec 10             	sub    $0x10,%esp
415aac:	8b d4                	mov    %esp,%edx
415aae:	b9 02 00 00 00       	mov    $0x2,%ecx
415ab3:	89 0a                	mov    %ecx,(%edx)
415ab5:	89 8d 5c ff ff ff    	mov    %ecx,-0xa4(%ebp)
415abb:	8b 8d 60 ff ff ff    	mov    -0xa0(%ebp),%ecx
415ac1:	33 c0                	xor    %eax,%eax
415ac3:	89 4a 04             	mov    %ecx,0x4(%edx)
415ac6:	89 85 64 ff ff ff    	mov    %eax,-0x9c(%ebp)
415acc:	8b 1f                	mov    (%edi),%ebx
415ace:	89 42 08             	mov    %eax,0x8(%edx)
415ad1:	8b 85 68 ff ff ff    	mov    -0x98(%ebp),%eax
415ad7:	68 a8 4b 41 00       	push   $0x414ba8
415adc:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
415adf:	51                   	push   %ecx
415ae0:	89 42 0c             	mov    %eax,0xc(%edx)
415ae3:	ff 15 c0 10 40 00    	call   *0x4010c0
415ae9:	50                   	push   %eax
415aea:	8d 55 ac             	lea    -0x54(%ebp),%edx
415aed:	52                   	push   %edx
415aee:	ff 15 68 10 40 00    	call   *0x401068
415af4:	50                   	push   %eax
415af5:	57                   	push   %edi
415af6:	ff 53 58             	call   *0x58(%ebx)
415af9:	db e2                	fnclex
415afb:	85 c0                	test   %eax,%eax
415afd:	7d 0f                	jge    0x415b0e
415aff:	6a 58                	push   $0x58
415b01:	68 b8 4b 41 00       	push   $0x414bb8
415b06:	57                   	push   %edi
415b07:	50                   	push   %eax
415b08:	ff 15 44 10 40 00    	call   *0x401044
415b0e:	8d 45 b0             	lea    -0x50(%ebp),%eax
415b11:	50                   	push   %eax
415b12:	8d 4d ac             	lea    -0x54(%ebp),%ecx
415b15:	51                   	push   %ecx
415b16:	6a 02                	push   $0x2
415b18:	ff 15 2c 10 40 00    	call   *0x40102c
415b1e:	83 c4 0c             	add    $0xc,%esp
415b21:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
415b24:	ff 15 18 10 40 00    	call   *0x401018
415b2a:	bb 0a 00 00 00       	mov    $0xa,%ebx
415b2f:	68 cc 4b 41 00       	push   $0x414bcc
415b34:	ff 15 f0 10 40 00    	call   *0x4010f0
415b3a:	8b d0                	mov    %eax,%edx
415b3c:	8d 4d b8             	lea    -0x48(%ebp),%ecx
415b3f:	ff 15 6c 11 40 00    	call   *0x40116c
415b45:	50                   	push   %eax
415b46:	68 d8 4b 41 00       	push   $0x414bd8
415b4b:	ff 15 a4 10 40 00    	call   *0x4010a4
415b51:	8b f8                	mov    %eax,%edi
415b53:	f7 df                	neg    %edi
415b55:	1b ff                	sbb    %edi,%edi
415b57:	f7 df                	neg    %edi
415b59:	8d 4d b8             	lea    -0x48(%ebp),%ecx
415b5c:	f7 df                	neg    %edi
415b5e:	ff 15 90 11 40 00    	call   *0x401190
415b64:	66 85 ff             	test   %di,%di
415b67:	0f 84 99 00 00 00    	je     0x415c06
415b6d:	ff 15 44 11 40 00    	call   *0x401144
415b73:	50                   	push   %eax
415b74:	8d 55 b0             	lea    -0x50(%ebp),%edx
415b77:	52                   	push   %edx
415b78:	ff 15 68 10 40 00    	call   *0x401068
415b7e:	8d 8d 6c ff ff ff    	lea    -0x94(%ebp),%ecx
415b84:	51                   	push   %ecx
415b85:	8d 95 7c ff ff ff    	lea    -0x84(%ebp),%edx
415b8b:	52                   	push   %edx
415b8c:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
415b8f:	51                   	push   %ecx
415b90:	8b f8                	mov    %eax,%edi
415b92:	b8 04 00 02 80       	mov    $0x80020004,%eax
415b97:	8d 55 9c             	lea    -0x64(%ebp),%edx
415b9a:	52                   	push   %edx
415b9b:	68 6d 65 00 00       	push   $0x656d
415ba0:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
415ba6:	89 9d 6c ff ff ff    	mov    %ebx,-0x94(%ebp)
415bac:	89 45 84             	mov    %eax,-0x7c(%ebp)
415baf:	89 9d 7c ff ff ff    	mov    %ebx,-0x84(%ebp)
415bb5:	89 45 94             	mov    %eax,-0x6c(%ebp)
415bb8:	89 5d 8c             	mov    %ebx,-0x74(%ebp)
415bbb:	89 45 a4             	mov    %eax,-0x5c(%ebp)
415bbe:	89 5d 9c             	mov    %ebx,-0x64(%ebp)
415bc1:	8b 07                	mov    (%edi),%eax
415bc3:	57                   	push   %edi
415bc4:	ff 50 44             	call   *0x44(%eax)
415bc7:	db e2                	fnclex
415bc9:	85 c0                	test   %eax,%eax
415bcb:	7d 0f                	jge    0x415bdc
415bcd:	6a 44                	push   $0x44
415bcf:	68 e0 4b 41 00       	push   $0x414be0
415bd4:	57                   	push   %edi
415bd5:	50                   	push   %eax
415bd6:	ff 15 44 10 40 00    	call   *0x401044
415bdc:	8d 4d b0             	lea    -0x50(%ebp),%ecx
415bdf:	ff 15 94 11 40 00    	call   *0x401194
415be5:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
415beb:	50                   	push   %eax
415bec:	8d 8d 7c ff ff ff    	lea    -0x84(%ebp),%ecx
415bf2:	51                   	push   %ecx
415bf3:	8d 55 8c             	lea    -0x74(%ebp),%edx
415bf6:	52                   	push   %edx
415bf7:	8d 45 9c             	lea    -0x64(%ebp),%eax
415bfa:	50                   	push   %eax
415bfb:	6a 04                	push   $0x4
415bfd:	ff 15 24 10 40 00    	call   *0x401024
415c03:	83 c4 14             	add    $0x14,%esp
415c06:	8b 3d 28 11 40 00    	mov    0x401128,%edi
415c0c:	ba f4 4b 41 00       	mov    $0x414bf4,%edx
415c11:	8d 4d b8             	lea    -0x48(%ebp),%ecx
415c14:	c7 85 18 ff ff ff 00 	movl   $0x96800000,-0xe8(%ebp)
415c1b:	00 80 96
415c1e:	c7 85 1c ff ff ff 1f 	movl   $0x4202a31f,-0xe4(%ebp)
415c25:	a3 02 42
415c28:	ff d7                	call   *%edi
415c2a:	8b 1d d8 10 40 00    	mov    0x4010d8,%ebx
415c30:	b9 ec 00 00 00       	mov    $0xec,%ecx
415c35:	ff d3                	call   *%ebx
415c37:	8b 0e                	mov    (%esi),%ecx
415c39:	88 85 28 ff ff ff    	mov    %al,-0xd8(%ebp)
415c3f:	8d 95 10 ff ff ff    	lea    -0xf0(%ebp),%edx
415c45:	52                   	push   %edx
415c46:	8d 85 18 ff ff ff    	lea    -0xe8(%ebp),%eax
415c4c:	50                   	push   %eax
415c4d:	68 24 4c 41 00       	push   $0x414c24
415c52:	68 08 4c 41 00       	push   $0x414c08
415c57:	68 47 a2 02 42       	push   $0x4202a247
415c5c:	68 00 00 a8 6b       	push   $0x6ba80000
415c61:	8d 55 b8             	lea    -0x48(%ebp),%edx
415c64:	52                   	push   %edx
415c65:	8d 85 28 ff ff ff    	lea    -0xd8(%ebp),%eax
415c6b:	50                   	push   %eax