40673f:	cc                   	int3
406740:	8b ff                	mov    %edi,%edi
406742:	55                   	push   %ebp
406743:	8b ec                	mov    %esp,%ebp
406745:	81 ec 10 02 00 00    	sub    $0x210,%esp
40674b:	a1 44 10 41 00       	mov    0x411044,%eax
406750:	33 c5                	xor    %ebp,%eax
406752:	89 45 fc             	mov    %eax,-0x4(%ebp)
406755:	83 a5 f8 fd ff ff 00 	andl   $0x0,-0x208(%ebp)
40675c:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
406762:	53                   	push   %ebx
406763:	56                   	push   %esi
406764:	8b 75 0c             	mov    0xc(%ebp),%esi
406767:	57                   	push   %edi
406768:	8b 7d 08             	mov    0x8(%ebp),%edi
40676b:	68 00 02 00 00       	push   $0x200
406770:	6a 00                	push   $0x0
406772:	50                   	push   %eax
406773:	89 b5 f0 fd ff ff    	mov    %esi,-0x210(%ebp)
406779:	e8 46 8c 00 00       	call   0x40f3c4
40677e:	83 c4 0c             	add    $0xc,%esp
406781:	85 ff                	test   %edi,%edi
406783:	0f 84 8b 01 00 00    	je     0x406914
406789:	85 f6                	test   %esi,%esi
40678b:	0f 84 83 01 00 00    	je     0x406914
406791:	8b 5e 0c             	mov    0xc(%esi),%ebx
406794:	8d 85 f8 fd ff ff    	lea    -0x208(%ebp),%eax
40679a:	50                   	push   %eax
40679b:	57                   	push   %edi
40679c:	ff 15 94 21 41 00    	call   *0x412194
4067a2:	85 c0                	test   %eax,%eax
4067a4:	0f 84 65 01 00 00    	je     0x40690f
4067aa:	6a f0                	push   $0xfffffff0
4067ac:	57                   	push   %edi
4067ad:	ff 15 6c 21 41 00    	call   *0x41216c
4067b3:	a9 00 00 00 10       	test   $0x10000000,%eax
4067b8:	75 0a                	jne    0x4067c4
4067ba:	83 7e 08 01          	cmpl   $0x1,0x8(%esi)
4067be:	0f 84 4b 01 00 00    	je     0x40690f
4067c4:	6a 04                	push   $0x4
4067c6:	57                   	push   %edi
4067c7:	ff 15 68 21 41 00    	call   *0x412168
4067cd:	85 c0                	test   %eax,%eax
4067cf:	0f 85 3a 01 00 00    	jne    0x40690f
4067d5:	8b 85 f8 fd ff ff    	mov    -0x208(%ebp),%eax
4067db:	33 d2                	xor    %edx,%edx
4067dd:	51                   	push   %ecx
4067de:	89 85 f4 fd ff ff    	mov    %eax,-0x20c(%ebp)
4067e4:	8b cb                	mov    %ebx,%ecx
4067e6:	6a 00                	push   $0x0
4067e8:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
4067ee:	50                   	push   %eax
4067ef:	68 00 00 04 00       	push   $0x40000
4067f4:	e8 e7 21 00 00       	call   0x4089e0
4067f9:	8b f0                	mov    %eax,%esi
4067fb:	8b cb                	mov    %ebx,%ecx
4067fd:	83 fe ff             	cmp    $0xffffffff,%esi
406800:	75 0c                	jne    0x40680e
406802:	6a 06                	push   $0x6
406804:	5a                   	pop    %edx
406805:	e8 81 24 00 00       	call   0x408c8b
40680a:	8b f0                	mov    %eax,%esi
40680c:	eb 40                	jmp    0x40684e
40680e:	6a 00                	push   $0x0
406810:	8b d6                	mov    %esi,%edx
406812:	e8 ff 1f 00 00       	call   0x408816
406817:	85 c0                	test   %eax,%eax
406819:	74 2a                	je     0x406845
40681b:	81 78 04 00 00 08 00 	cmpl   $0x80000,0x4(%eax)
406822:	75 21                	jne    0x406845
406824:	8b 48 0c             	mov    0xc(%eax),%ecx
406827:	6a 00                	push   $0x0
406829:	6a 03                	push   $0x3
40682b:	5a                   	pop    %edx
40682c:	e8 e5 1f 00 00       	call   0x408816
406831:	85 c0                	test   %eax,%eax
406833:	74 10                	je     0x406845
406835:	81 78 04 00 00 09 00 	cmpl   $0x90000,0x4(%eax)
40683c:	75 07                	jne    0x406845
40683e:	8b 40 0c             	mov    0xc(%eax),%eax
406841:	8b 00                	mov    (%eax),%eax
406843:	eb 02                	jmp    0x406847
406845:	33 c0                	xor    %eax,%eax
406847:	85 c0                	test   %eax,%eax
406849:	74 03                	je     0x40684e
40684b:	83 ce ff             	or     $0xffffffff,%esi
40684e:	83 fe ff             	cmp    $0xffffffff,%esi
406851:	0f 84 b8 00 00 00    	je     0x40690f
406857:	57                   	push   %edi
406858:	ff 15 64 21 41 00    	call   *0x412164
40685e:	6a 00                	push   $0x0
406860:	8b d6                	mov    %esi,%edx
406862:	89 85 f4 fd ff ff    	mov    %eax,-0x20c(%ebp)
406868:	8b cb                	mov    %ebx,%ecx
40686a:	e8 a7 1f 00 00       	call   0x408816
40686f:	85 c0                	test   %eax,%eax
406871:	74 12                	je     0x406885
406873:	81 78 04 00 00 08 00 	cmpl   $0x80000,0x4(%eax)
40687a:	75 09                	jne    0x406885
40687c:	8b 48 0c             	mov    0xc(%eax),%ecx
40687f:	57                   	push   %edi
406880:	e8 b0 29 00 00       	call   0x409235
406885:	6a 00                	push   $0x0
406887:	8b d6                	mov    %esi,%edx
406889:	8b cb                	mov    %ebx,%ecx
40688b:	e8 86 1f 00 00       	call   0x408816
406890:	85 c0                	test   %eax,%eax
406892:	74 17                	je     0x4068ab
406894:	81 78 04 00 00 08 00 	cmpl   $0x80000,0x4(%eax)
40689b:	75 0e                	jne    0x4068ab
40689d:	ff b5 f4 fd ff ff    	push   -0x20c(%ebp)
4068a3:	8b 48 0c             	mov    0xc(%eax),%ecx
4068a6:	e8 35 29 00 00       	call   0x4091e0
4068ab:	ff b5 f8 fd ff ff    	push   -0x208(%ebp)
4068b1:	8b d6                	mov    %esi,%edx
4068b3:	8b cb                	mov    %ebx,%ecx
4068b5:	6a 00                	push   $0x0
4068b7:	e8 5e 2a 00 00       	call   0x40931a
4068bc:	8b 85 f0 fd ff ff    	mov    -0x210(%ebp),%eax
4068c2:	8b d6                	mov    %esi,%edx
4068c4:	51                   	push   %ecx
4068c5:	8b cb                	mov    %ebx,%ecx
4068c7:	ff 70 04             	push   0x4(%eax)
4068ca:	6a 01                	push   $0x1
4068cc:	e8 19 2a 00 00       	call   0x4092ea
4068d1:	8b 85 f0 fd ff ff    	mov    -0x210(%ebp),%eax
4068d7:	8b d6                	mov    %esi,%edx
4068d9:	51                   	push   %ecx
4068da:	8b cb                	mov    %ebx,%ecx
4068dc:	ff 30                	push   (%eax)
4068de:	6a 02                	push   $0x2
4068e0:	e8 05 2a 00 00       	call   0x4092ea
4068e5:	68 00 01 00 00       	push   $0x100
4068ea:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
4068f0:	50                   	push   %eax
4068f1:	57                   	push   %edi
4068f2:	ff 15 60 21 41 00    	call   *0x412160
4068f8:	85 c0                	test   %eax,%eax
4068fa:	74 13                	je     0x40690f
4068fc:	51                   	push   %ecx
4068fd:	8d 8d fc fd ff ff    	lea    -0x204(%ebp),%ecx
406903:	8b d6                	mov    %esi,%edx
406905:	51                   	push   %ecx
406906:	6a 04                	push   $0x4
406908:	8b cb                	mov    %ebx,%ecx
40690a:	e8 db 29 00 00       	call   0x4092ea
40690f:	33 c0                	xor    %eax,%eax
406911:	40                   	inc    %eax
406912:	eb 02                	jmp    0x406916
406914:	33 c0                	xor    %eax,%eax
406916:	8b 4d fc             	mov    -0x4(%ebp),%ecx
406919:	5f                   	pop    %edi
40691a:	5e                   	pop    %esi
40691b:	33 cd                	xor    %ebp,%ecx
40691d:	5b                   	pop    %ebx
40691e:	e8 ad 83 00 00       	call   0x40ecd0
406923:	c9                   	leave
406924:	c2 08 00             	ret    $0x8
406927:	6a 0c                	push   $0xc
406929:	b8 74 f9 40 00       	mov    $0x40f974,%eax
40692e:	e8 1c 8a 00 00       	call   0x40f34f
406933:	8b f1                	mov    %ecx,%esi
406935:	8d 4d ec             	lea    -0x14(%ebp),%ecx
406938:	ff 15 f8 21 41 00    	call   *0x4121f8
40693e:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
406942:	85 f6                	test   %esi,%esi
406944:	0f 84 bc 00 00 00    	je     0x406a06
40694a:	8b ce                	mov    %esi,%ecx
40694c:	e8 3a 3b 00 00       	call   0x40a48b
406951:	85 c0                	test   %eax,%eax
406953:	0f 84 ad 00 00 00    	je     0x406a06
406959:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40695d:	56                   	push   %esi
40695e:	8d 4d ec             	lea    -0x14(%ebp),%ecx
406961:	ff 15 2c 22 41 00    	call   *0x41222c
406967:	68 50 11 40 00       	push   $0x401150
40696c:	ff 75 ec             	push   -0x14(%ebp)
40696f:	ff 15 bc 22 41 00    	call   *0x4122bc
406975:	59                   	pop    %ecx
406976:	59                   	pop    %ecx
406977:	85 c0                	test   %eax,%eax
406979:	75 14                	jne    0x40698f
40697b:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40697f:	8d 4d ec             	lea    -0x14(%ebp),%ecx
406982:	ff 15 30 22 41 00    	call   *0x412230
406988:	33 c0                	xor    %eax,%eax
40698a:	e9 87 00 00 00       	jmp    0x406a16
40698f:	68 e0 16 40 00       	push   $0x4016e0
406994:	8d 4d ec             	lea    -0x14(%ebp),%ecx
406997:	ff 15 14 22 41 00    	call   *0x412214
40699d:	83 ce ff             	or     $0xffffffff,%esi
4069a0:	3b c6                	cmp    %esi,%eax
4069a2:	74 05                	je     0x4069a9
4069a4:	89 75 fc             	mov    %esi,-0x4(%ebp)
4069a7:	eb d6                	jmp    0x40697f
4069a9:	6a 5c                	push   $0x5c
4069ab:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4069ae:	ff 15 10 22 41 00    	call   *0x412210
4069b4:	3b c6                	cmp    %esi,%eax
4069b6:	74 39                	je     0x4069f1
4069b8:	40                   	inc    %eax
4069b9:	50                   	push   %eax
4069ba:	8d 45 e8             	lea    -0x18(%ebp),%eax
4069bd:	50                   	push   %eax
4069be:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4069c1:	ff 15 0c 22 41 00    	call   *0x41220c
4069c7:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
4069cb:	50                   	push   %eax
4069cc:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4069cf:	ff 15 24 22 41 00    	call   *0x412224
4069d5:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4069d9:	8d 4d e8             	lea    -0x18(%ebp),%ecx
4069dc:	ff 15 30 22 41 00    	call   *0x412230
4069e2:	6a 5c                	push   $0x5c
4069e4:	8d 4d ec             	lea    -0x14(%ebp),%ecx
4069e7:	ff 15 10 22 41 00    	call   *0x412210
4069ed:	3b c6                	cmp    %esi,%eax
4069ef:	75 b3                	jne    0x4069a4
4069f1:	89 75 fc             	mov    %esi,-0x4(%ebp)
4069f4:	eb 14                	jmp    0x406a0a
4069f6:	b9 06 10 04 80       	mov    $0x80041006,%ecx
4069fb:	e8 0a 0f 00 00       	call   0x40790a
406a00:	b8 7b 69 40 00       	mov    $0x40697b,%eax
406a05:	c3                   	ret
406a06:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
406a0a:	8d 4d ec             	lea    -0x14(%ebp),%ecx
406a0d:	ff 15 30 22 41 00    	call   *0x412230
406a13:	33 c0                	xor    %eax,%eax
406a15:	40                   	inc    %eax
406a16:	e8 de 88 00 00       	call   0x40f2f9
406a1b:	c3                   	ret
406a1c:	6a 0c                	push   $0xc
406a1e:	b8 a1 f9 40 00       	mov    $0x40f9a1,%eax
406a23:	e8 27 89 00 00       	call   0x40f34f
406a28:	8b f2                	mov    %edx,%esi
406a2a:	8b f9                	mov    %ecx,%edi
406a2c:	8d 4d ec             	lea    -0x14(%ebp),%ecx
406a2f:	ff 15 f8 21 41 00    	call   *0x4121f8
406a35:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
406a39:	85 ff                	test   %edi,%edi
406a3b:	0f 84 e8 00 00 00    	je     0x406b29
406a41:	8b cf                	mov    %edi,%ecx
406a43:	e8 43 3a 00 00       	call   0x40a48b
406a48:	85 c0                	test   %eax,%eax
406a4a:	0f 84 d9 00 00 00    	je     0x406b29
406a50:	33 db                	xor    %ebx,%ebx
406a52:	43                   	inc    %ebx
406a53:	88 5d fc             	mov    %bl,-0x4(%ebp)
406a56:	83 26 00             	andl   $0x0,(%esi)
406a59:	6a 00                	push   $0x0
406a5b:	8b cf                	mov    %edi,%ecx
406a5d:	e8 8a 32 00 00       	call   0x409cec
406a62:	3b c3                	cmp    %ebx,%eax
406a64:	75 14                	jne    0x406a7a
406a66:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
406a6a:	8d 4d ec             	lea    -0x14(%ebp),%ecx
406a6d:	ff 15 30 22 41 00    	call   *0x412230
406a73:	33 c0                	xor    %eax,%eax
406a75:	e9 c3 00 00 00       	jmp    0x406b3d
406a7a:	57                   	push   %edi
406a7b:	8d 4d ec             	lea    -0x14(%ebp),%ecx
406a7e:	ff 15 2c 22 41 00    	call   *0x41222c
406a84:	8b 4d ec             	mov    -0x14(%ebp),%ecx
406a87:	e8 14 45 00 00       	call   0x40afa0
406a8c:	3b c3                	cmp    %ebx,%eax
406a8e:	75 39                	jne    0x406ac9
406a90:	6a 02                	push   $0x2
406a92:	8d 45 e8             	lea    -0x18(%ebp),%eax
406a95:	50                   	push   %eax
406a96:	8d 4d ec             	lea    -0x14(%ebp),%ecx
406a99:	ff 15 0c 22 41 00    	call   *0x41220c
406a9f:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
406aa3:	50                   	push   %eax
406aa4:	8d 4d ec             	lea    -0x14(%ebp),%ecx
406aa7:	ff 15 24 22 41 00    	call   *0x412224
406aad:	88 5d fc             	mov    %bl,-0x4(%ebp)
406ab0:	8d 4d e8             	lea    -0x18(%ebp),%ecx
406ab3:	ff 15 30 22 41 00    	call   *0x412230
406ab9:	8d 4d ec             	lea    -0x14(%ebp),%ecx
406abc:	ff 15 38 22 41 00    	call   *0x412238
406ac2:	8b 40 04             	mov    0x4(%eax),%eax
406ac5:	85 c0                	test   %eax,%eax
406ac7:	74 9d                	je     0x406a66
406ac9:	68 fc 16 40 00       	push   $0x4016fc
406ace:	8d 4d ec             	lea    -0x14(%ebp),%ecx
406ad1:	ff 15 14 22 41 00    	call   *0x412214
406ad7:	83 cf ff             	or     $0xffffffff,%edi
406ada:	3b c7                	cmp    %edi,%eax
406adc:	74 05                	je     0x406ae3
406ade:	89 7d fc             	mov    %edi,-0x4(%ebp)
406ae1:	eb 87                	jmp    0x406a6a
406ae3:	6a 5c                	push   $0x5c
406ae5:	8d 4d ec             	lea    -0x14(%ebp),%ecx
406ae8:	ff 15 10 22 41 00    	call   *0x412210
406aee:	3b c7                	cmp    %edi,%eax
406af0:	75 ec                	jne    0x406ade
406af2:	68 38 17 40 00       	push   $0x401738
406af7:	ff 75 ec             	push   -0x14(%ebp)
406afa:	ff 15 bc 22 41 00    	call   *0x4122bc
406b00:	59                   	pop    %ecx
406b01:	59                   	pop    %ecx
406b02:	85 c0                	test   %eax,%eax
406b04:	75 04                	jne    0x406b0a
406b06:	89 1e                	mov    %ebx,(%esi)
406b08:	eb 0a                	jmp    0x406b14
406b0a:	8b 4d ec             	mov    -0x14(%ebp),%ecx
406b0d:	e8 d0 44 00 00       	call   0x40afe2
406b12:	89 06                	mov    %eax,(%esi)
406b14:	89 7d fc             	mov    %edi,-0x4(%ebp)
406b17:	eb 19                	jmp    0x406b32
406b19:	b9 06 10 04 80       	mov    $0x80041006,%ecx
406b1e:	e8 e7 0d 00 00       	call   0x40790a
406b23:	b8 66 6a 40 00       	mov    $0x406a66,%eax
406b28:	c3                   	ret
406b29:	33 db                	xor    %ebx,%ebx
406b2b:	43                   	inc    %ebx
406b2c:	89 1e                	mov    %ebx,(%esi)
406b2e:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
406b32:	8d 4d ec             	lea    -0x14(%ebp),%ecx
406b35:	ff 15 30 22 41 00    	call   *0x412230
406b3b:	8b c3                	mov    %ebx,%eax
406b3d:	e8 b7 87 00 00       	call   0x40f2f9
406b42:	c3                   	ret
406b43:	6a 10                	push   $0x10
406b45:	b8 bc f9 40 00       	mov    $0x40f9bc,%eax
406b4a:	e8 00 88 00 00       	call   0x40f34f
406b4f:	8b f9                	mov    %ecx,%edi
406b51:	89 7d e8             	mov    %edi,-0x18(%ebp)
406b54:	33 db                	xor    %ebx,%ebx
406b56:	89 5d ec             	mov    %ebx,-0x14(%ebp)
406b59:	89 5d fc             	mov    %ebx,-0x4(%ebp)
406b5c:	85 ff                	test   %edi,%edi
406b5e:	74 48                	je     0x406ba8
406b60:	39 1f                	cmp    %ebx,(%edi)
406b62:	75 44                	jne    0x406ba8
406b64:	53                   	push   %ebx
406b65:	53                   	push   %ebx
406b66:	ff 15 e4 21 41 00    	call   *0x4121e4
406b6c:	85 c0                	test   %eax,%eax
406b6e:	78 7b                	js     0x406beb
406b70:	53                   	push   %ebx
406b71:	53                   	push   %ebx
406b72:	53                   	push   %ebx
406b73:	6a 03                	push   $0x3
406b75:	33 f6                	xor    %esi,%esi
406b77:	46                   	inc    %esi
406b78:	56                   	push   %esi
406b79:	53                   	push   %ebx
406b7a:	53                   	push   %ebx
406b7b:	6a ff                	push   $0xffffffff