4186dd:	56                   	push   %esi
4186de:	6a 01                	push   $0x1
4186e0:	89 45 f4             	mov    %eax,-0xc(%ebp)
4186e3:	ff 15 2c a4 44 00    	call   *0x44a42c
4186e9:	59                   	pop    %ecx
4186ea:	50                   	push   %eax
4186eb:	ff 15 0c a0 44 00    	call   *0x44a00c
4186f1:	85 c0                	test   %eax,%eax
4186f3:	0f 84 a1 00 00 00    	je     0x41879a
4186f9:	8b 45 f4             	mov    -0xc(%ebp),%eax
4186fc:	39 45 fc             	cmp    %eax,-0x4(%ebp)
4186ff:	0f 85 95 00 00 00    	jne    0x41879a
418705:	8b 45 f8             	mov    -0x8(%ebp),%eax
418708:	8b f3                	mov    %ebx,%esi
41870a:	b9 22 20 00 00       	mov    $0x2022,%ecx
41870f:	eb 08                	jmp    0x418719
418711:	66 39 0b             	cmp    %cx,(%ebx)
418714:	75 07                	jne    0x41871d
418716:	83 c3 02             	add    $0x2,%ebx
418719:	3b d8                	cmp    %eax,%ebx
41871b:	72 f4                	jb     0x418711
41871d:	3b de                	cmp    %esi,%ebx
41871f:	74 48                	je     0x418769
418721:	83 3f 00             	cmpl   $0x0,(%edi)
418724:	74 0a                	je     0x418730
418726:	6a 02                	push   $0x2
418728:	ff 37                	push   (%edi)
41872a:	ff 15 14 a0 44 00    	call   *0x44a014
418730:	6a 00                	push   $0x0
418732:	8b c3                	mov    %ebx,%eax
418734:	8d 4d fc             	lea    -0x4(%ebp),%ecx
418737:	2b c6                	sub    %esi,%eax
418739:	51                   	push   %ecx
41873a:	d1 f8                	sar    $1,%eax
41873c:	50                   	push   %eax
41873d:	56                   	push   %esi
41873e:	6a 01                	push   $0x1
418740:	89 45 f4             	mov    %eax,-0xc(%ebp)
418743:	ff 15 2c a4 44 00    	call   *0x44a42c
418749:	59                   	pop    %ecx
41874a:	50                   	push   %eax
41874b:	ff 15 0c a0 44 00    	call   *0x44a00c
418751:	8b f0                	mov    %eax,%esi
418753:	e8 b8 5b ff ff       	call   0x40e310
418758:	85 f6                	test   %esi,%esi
41875a:	74 3e                	je     0x41879a
41875c:	8b 45 f4             	mov    -0xc(%ebp),%eax
41875f:	39 45 fc             	cmp    %eax,-0x4(%ebp)
418762:	75 36                	jne    0x41879a
418764:	8b 45 f8             	mov    -0x8(%ebp),%eax
418767:	8b f3                	mov    %ebx,%esi
418769:	b9 22 20 00 00       	mov    $0x2022,%ecx
41876e:	3b f0                	cmp    %eax,%esi
418770:	0f 82 40 ff ff ff    	jb     0x4186b6
418776:	e9 cc c2 fe ff       	jmp    0x404a47
41877b:	6a 00                	push   $0x0
41877d:	50                   	push   %eax
41877e:	6a 02                	push   $0x2
418780:	68 8c 1f 40 00       	push   $0x401f8c
418785:	6a 01                	push   $0x1
418787:	ff 15 2c a4 44 00    	call   *0x44a42c
41878d:	59                   	pop    %ecx
41878e:	50                   	push   %eax
41878f:	ff 15 0c a0 44 00    	call   *0x44a00c
418795:	e9 d0 c2 fe ff       	jmp    0x404a6a
41879a:	33 c9                	xor    %ecx,%ecx
41879c:	41                   	inc    %ecx
41879d:	e8 f6 55 ff ff       	call   0x40dd98
4187a2:	85 c0                	test   %eax,%eax
4187a4:	74 06                	je     0x4187ac
4187a6:	6a 00                	push   $0x0
4187a8:	6a 1d                	push   $0x1d
4187aa:	eb 0f                	jmp    0x4187bb
4187ac:	33 c9                	xor    %ecx,%ecx
4187ae:	41                   	inc    %ecx
4187af:	e8 1b 18 01 00       	call   0x429fcf
4187b4:	85 c0                	test   %eax,%eax
4187b6:	75 0a                	jne    0x4187c2
4187b8:	50                   	push   %eax
4187b9:	6a 70                	push   $0x70
4187bb:	e8 24 f1 fe ff       	call   0x4078e4
4187c0:	59                   	pop    %ecx
4187c1:	59                   	pop    %ecx
4187c2:	e8 5b 11 01 00       	call   0x429922
4187c7:	6a 01                	push   $0x1
4187c9:	68 30 0a 44 00       	push   $0x440a30
4187ce:	ff 15 30 a4 44 00    	call   *0x44a430
4187d4:	cc                   	int3
4187d5:	39 46 04             	cmp    %eax,0x4(%esi)
4187d8:	0f 82 d1 c2 fe ff    	jb     0x404aaf
4187de:	6a 00                	push   $0x0
4187e0:	e8 5b c0 00 00       	call   0x424840
4187e5:	83 66 04 00          	andl   $0x0,0x4(%esi)
4187e9:	8b ce                	mov    %esi,%ecx
4187eb:	e8 b1 9e ff ff       	call   0x4126a1
4187f0:	8b 46 1c             	mov    0x1c(%esi),%eax
4187f3:	48                   	dec    %eax
4187f4:	89 46 24             	mov    %eax,0x24(%esi)
4187f7:	5e                   	pop    %esi
4187f8:	c3                   	ret
4187f9:	ff 75 08             	push   0x8(%ebp)
4187fc:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
418802:	e8 3a 1e ff ff       	call   0x40a641
418807:	f6 85 dc fd ff ff 80 	testb  $0x80,-0x224(%ebp)
41880e:	74 15                	je     0x418825
418810:	8b 45 e8             	mov    -0x18(%ebp),%eax
418813:	85 c0                	test   %eax,%eax
418815:	75 06                	jne    0x41881d
418817:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
41881d:	50                   	push   %eax
41881e:	ff 15 68 a3 44 00    	call   *0x44a368
418824:	59                   	pop    %ecx
418825:	8b 45 e8             	mov    -0x18(%ebp),%eax
418828:	85 c0                	test   %eax,%eax
41882a:	75 06                	jne    0x418832
41882c:	8d 85 e0 fd ff ff    	lea    -0x220(%ebp),%eax
418832:	50                   	push   %eax
418833:	ba 00 1f 40 00       	mov    $0x401f00,%edx
418838:	8b ce                	mov    %esi,%ecx
41883a:	e8 c5 dd ff ff       	call   0x416604
41883f:	8b d8                	mov    %eax,%ebx
418841:	85 db                	test   %ebx,%ebx
418843:	0f 85 67 c3 fe ff    	jne    0x404bb0
418849:	8b 4d e8             	mov    -0x18(%ebp),%ecx
41884c:	85 c9                	test   %ecx,%ecx
41884e:	75 06                	jne    0x418856
418850:	8d 8d e0 fd ff ff    	lea    -0x220(%ebp),%ecx
418856:	0f b7 01             	movzwl (%ecx),%eax
418859:	8b d0                	mov    %eax,%edx
41885b:	66 85 c0             	test   %ax,%ax
41885e:	74 0f                	je     0x41886f
418860:	33 d2                	xor    %edx,%edx
418862:	8b c1                	mov    %ecx,%eax
418864:	83 c1 02             	add    $0x2,%ecx
418867:	66 39 11             	cmp    %dx,(%ecx)
41886a:	75 f6                	jne    0x418862
41886c:	0f b7 10             	movzwl (%eax),%edx
41886f:	66 83 fa 5c          	cmp    $0x5c,%dx
418873:	74 1b                	je     0x418890
418875:	68 0c 25 40 00       	push   $0x40250c
41887a:	ba 00 1f 40 00       	mov    $0x401f00,%edx
41887f:	8b ce                	mov    %esi,%ecx
418881:	e8 7e dd ff ff       	call   0x416604
418886:	8b d8                	mov    %eax,%ebx
418888:	85 db                	test   %ebx,%ebx
41888a:	0f 85 20 c3 fe ff    	jne    0x404bb0
418890:	8b 95 dc fd ff ff    	mov    -0x224(%ebp),%edx
418896:	e9 fd c2 fe ff       	jmp    0x404b98
41889b:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41889e:	e8 55 c1 fe ff       	call   0x4049f8
4188a3:	85 c0                	test   %eax,%eax
4188a5:	0f 85 5f c3 fe ff    	jne    0x404c0a
4188ab:	8b 45 08             	mov    0x8(%ebp),%eax
4188ae:	ff 70 04             	push   0x4(%eax)
4188b1:	6a 01                	push   $0x1
4188b3:	68 39 23 00 00       	push   $0x2339
4188b8:	ff 75 0c             	push   0xc(%ebp)
4188bb:	e8 6a fa 00 00       	call   0x42832a
4188c0:	83 c4 10             	add    $0x10,%esp
4188c3:	e9 42 c3 fe ff       	jmp    0x404c0a
4188c8:	85 c0                	test   %eax,%eax
4188ca:	0f 88 9a c3 fe ff    	js     0x404c6a
4188d0:	57                   	push   %edi
4188d1:	56                   	push   %esi
4188d2:	ff 74 24 20          	push   0x20(%esp)
4188d6:	83 e0 ef             	and    $0xffffffef,%eax
4188d9:	89 07                	mov    %eax,(%edi)
4188db:	e8 10 c3 fe ff       	call   0x404bf0
4188e0:	8b 17                	mov    (%edi),%edx
4188e2:	83 ca 10             	or     $0x10,%edx
4188e5:	89 17                	mov    %edx,(%edi)
4188e7:	85 c0                	test   %eax,%eax
4188e9:	0f 85 9b c3 fe ff    	jne    0x404c8a
4188ef:	81 ca 00 00 00 80    	or     $0x80000000,%edx
4188f5:	89 17                	mov    %edx,(%edi)
4188f7:	e9 6e c3 fe ff       	jmp    0x404c6a
4188fc:	f6 c2 04             	test   $0x4,%dl
4188ff:	74 11                	je     0x418912
418901:	8b 4c 24 10          	mov    0x10(%esp),%ecx
418905:	51                   	push   %ecx
418906:	8b ce                	mov    %esi,%ecx
418908:	e8 15 29 01 00       	call   0x42b222
41890d:	e9 74 c3 fe ff       	jmp    0x404c86
418912:	f7 c2 02 04 00 00    	test   $0x402,%edx
418918:	0f 84 6f 06 00 00    	je     0x418f8d
41891e:	ff 74 24 10          	push   0x10(%esp)
418922:	8b ce                	mov    %esi,%ecx
418924:	52                   	push   %edx
418925:	8b 57 5c             	mov    0x5c(%edi),%edx
418928:	e8 20 20 01 00       	call   0x42a94d
41892d:	8b d8                	mov    %eax,%ebx
41892f:	33 c0                	xor    %eax,%eax
418931:	89 44 24 28          	mov    %eax,0x28(%esp)
418935:	85 db                	test   %ebx,%ebx
418937:	0f 85 a8 04 00 00    	jne    0x418de5
41893d:	f7 07 00 04 00 00    	testl  $0x400,(%edi)
418943:	74 3a                	je     0x41897f
418945:	8b 5c 24 0c          	mov    0xc(%esp),%ebx
418949:	66 39 43 02          	cmp    %ax,0x2(%ebx)
41894d:	74 25                	je     0x418974
41894f:	8b 15 90 e1 42 00    	mov    0x42e190,%edx
418955:	8b ce                	mov    %esi,%ecx
418957:	8d 52 13             	lea    0x13(%edx),%edx
41895a:	e8 52 f7 00 00       	call   0x4280b1
41895f:	0f b7 43 02          	movzwl 0x2(%ebx),%eax
418963:	8b 17                	mov    (%edi),%edx
418965:	51                   	push   %ecx
418966:	8d 4b 30             	lea    0x30(%ebx),%ecx
418969:	8d 04 41             	lea    (%ecx,%eax,2),%eax
41896c:	8b ce                	mov    %esi,%ecx
41896e:	50                   	push   %eax
41896f:	e8 24 bf fe ff       	call   0x404898
418974:	8b 15 90 e1 42 00    	mov    0x42e190,%edx
41897a:	83 c2 20             	add    $0x20,%edx
41897d:	eb 09                	jmp    0x418988
41897f:	8b 15 90 e1 42 00    	mov    0x42e190,%edx
418985:	83 c2 13             	add    $0x13,%edx
418988:	8b ce                	mov    %esi,%ecx
41898a:	e8 22 f7 00 00       	call   0x4280b1
41898f:	f7 07 00 00 04 00    	testl  $0x40000,(%edi)
418995:	bb a0 3f 40 00       	mov    $0x403fa0,%ebx
41899a:	89 5c 24 14          	mov    %ebx,0x14(%esp)
41899e:	0f 84 e5 01 00 00    	je     0x418b89
4189a4:	33 c0                	xor    %eax,%eax
4189a6:	c7 44 24 1c 01 01 00 	movl   $0x101,0x1c(%esp)
4189ad:	00
4189ae:	b9 04 01 00 00       	mov    $0x104,%ecx
4189b3:	89 44 24 0c          	mov    %eax,0xc(%esp)
4189b7:	51                   	push   %ecx
4189b8:	50                   	push   %eax
4189b9:	89 84 24 48 02 00 00 	mov    %eax,0x248(%esp)
4189c0:	8d 44 24 40          	lea    0x40(%esp),%eax
4189c4:	50                   	push   %eax
4189c5:	c7 44 24 30 10 00 00 	movl   $0x10,0x30(%esp)
4189cc:	00
4189cd:	c6 84 24 50 02 00 00 	movb   $0x1,0x250(%esp)
4189d4:	01
4189d5:	89 8c 24 54 02 00 00 	mov    %ecx,0x254(%esp)
4189dc:	e8 dc f5 ff ff       	call   0x417fbd
4189e1:	33 c0                	xor    %eax,%eax
4189e3:	8d 4c 24 44          	lea    0x44(%esp),%ecx
4189e7:	83 c4 0c             	add    $0xc,%esp
4189ea:	38 84 24 44 02 00 00 	cmp    %al,0x244(%esp)
4189f1:	0f 94 c0             	sete   %al
4189f4:	48                   	dec    %eax
4189f5:	25 e3 7e 00 00       	and    $0x7ee3,%eax
4189fa:	05 04 01 00 00       	add    $0x104,%eax
4189ff:	50                   	push   %eax
418a00:	e8 eb 59 ff ff       	call   0x40e3f0
418a05:	85 c0                	test   %eax,%eax
418a07:	79 12                	jns    0x418a1b
418a09:	53                   	push   %ebx
418a0a:	ba 00 1f 40 00       	mov    $0x401f00,%edx
418a0f:	8b ce                	mov    %esi,%ecx
418a11:	e8 ee db ff ff       	call   0x416604
418a16:	e9 52 01 00 00       	jmp    0x418b6d
418a1b:	b9 00 00 01 00       	mov    $0x10000,%ecx
418a20:	e8 ab 52 ff ff       	call   0x40dcd0
418a25:	8b d8                	mov    %eax,%ebx
418a27:	85 db                	test   %ebx,%ebx
418a29:	75 16                	jne    0x418a41
418a2b:	68 a0 3f 40 00       	push   $0x403fa0
418a30:	ba 00 1f 40 00       	mov    $0x401f00,%edx
418a35:	8b ce                	mov    %esi,%ecx
418a37:	e8 c8 db ff ff       	call   0x416604
418a3c:	e9 0f 01 00 00       	jmp    0x418b50
418a41:	8b 8c 24 40 02 00 00 	mov    0x240(%esp),%ecx
418a48:	85 c9                	test   %ecx,%ecx
418a4a:	75 04                	jne    0x418a50
418a4c:	8d 4c 24 38          	lea    0x38(%esp),%ecx
418a50:	8b 44 24 10          	mov    0x10(%esp),%eax
418a54:	8b 94 24 48 02 00 00 	mov    0x248(%esp),%edx
418a5b:	83 c0 2c             	add    $0x2c,%eax
418a5e:	50                   	push   %eax
418a5f:	8b 44 24 1c          	mov    0x1c(%esp),%eax
418a63:	ff 70 04             	push   0x4(%eax)
418a66:	e8 4d aa ff ff       	call   0x4134b8
418a6b:	85 c0                	test   %eax,%eax
418a6d:	0f 85 c5 00 00 00    	jne    0x418b38
418a73:	8b 84 24 40 02 00 00 	mov    0x240(%esp),%eax
418a7a:	85 c0                	test   %eax,%eax
418a7c:	75 04                	jne    0x418a82
418a7e:	8d 44 24 38          	lea    0x38(%esp),%eax
418a82:	8d 4c 24 30          	lea    0x30(%esp),%ecx
418a86:	51                   	push   %ecx
418a87:	68 00 00 01 00       	push   $0x10000
418a8c:	53                   	push   %ebx
418a8d:	6a 01                	push   $0x1
418a8f:	50                   	push   %eax
418a90:	ff 15 0c a3 44 00    	call   *0x44a30c
418a96:	85 c0                	test   %eax,%eax
418a98:	0f 84 9a 00 00 00    	je     0x418b38
418a9e:	8d 44 24 34          	lea    0x34(%esp),%eax
418aa2:	50                   	push   %eax
418aa3:	8d 44 24 10          	lea    0x10(%esp),%eax
418aa7:	50                   	push   %eax
418aa8:	53                   	push   %ebx
418aa9:	ff 15 08 a3 44 00    	call   *0x44a308
418aaf:	85 c0                	test   %eax,%eax
418ab1:	0f 84 81 00 00 00    	je     0x418b38
418ab7:	e8 33 e8 ff ff       	call   0x4172ef
418abc:	84 c0                	test   %al,%al
418abe:	74 5f                	je     0x418b1f
418ac0:	8d 44 24 2c          	lea    0x2c(%esp),%eax
418ac4:	50                   	push   %eax
418ac5:	8d 44 24 28          	lea    0x28(%esp),%eax
418ac9:	50                   	push   %eax
418aca:	8d 84 24 98 02 00 00 	lea    0x298(%esp),%eax
418ad1:	50                   	push   %eax
418ad2:	8d 44 24 28          	lea    0x28(%esp),%eax
418ad6:	50                   	push   %eax
418ad7:	8d 84 24 c0 02 00 00 	lea    0x2c0(%esp),%eax
418ade:	50                   	push   %eax
418adf:	ff 74 24 20          	push   0x20(%esp)
418ae3:	33 c0                	xor    %eax,%eax
418ae5:	50                   	push   %eax
418ae6:	ff 15 34 d0 44 00    	call   *0x44d034
418aec:	85 c0                	test   %eax,%eax
418aee:	74 2f                	je     0x418b1f
418af0:	8d 84 24 90 02 00 00 	lea    0x290(%esp),%eax
418af7:	ba 00 1f 40 00       	mov    $0x401f00,%edx
418afc:	50                   	push   %eax
418afd:	8b ce                	mov    %esi,%ecx
418aff:	e8 00 db ff ff       	call   0x416604
418b04:	68 0c 25 40 00       	push   $0x40250c
418b09:	ba 00 1f 40 00       	mov    $0x401f00,%edx
418b0e:	8b ce                	mov    %esi,%ecx
418b10:	e8 ef da ff ff       	call   0x416604
418b15:	8d 84 24 b0 02 00 00 	lea    0x2b0(%esp),%eax
418b1c:	50                   	push   %eax
418b1d:	eb 05                	jmp    0x418b24
418b1f:	68 a0 3f 40 00       	push   $0x403fa0
418b24:	ba 00 1f 40 00       	mov    $0x401f00,%edx
418b29:	8b ce                	mov    %esi,%ecx
418b2b:	e8 d4 da ff ff       	call   0x416604
418b30:	33 c0                	xor    %eax,%eax
418b32:	89 44 24 0c          	mov    %eax,0xc(%esp)
418b36:	eb 11                	jmp    0x418b49
418b38:	68 a0 3f 40 00       	push   $0x403fa0
418b3d:	ba 00 1f 40 00       	mov    $0x401f00,%edx
418b42:	8b ce                	mov    %esi,%ecx
418b44:	e8 bb da ff ff       	call   0x416604
418b49:	8b cb                	mov    %ebx,%ecx
418b4b:	e8 10 51 ff ff       	call   0x40dc60
418b50:	f7 07 00 04 00 00    	testl  $0x400,(%edi)
418b56:	8b 15 90 e1 42 00    	mov    0x42e190,%edx
418b5c:	74 05                	je     0x418b63
418b5e:	83 c2 37             	add    $0x37,%edx
418b61:	eb 03                	jmp    0x418b66
418b63:	83 c2 2a             	add    $0x2a,%edx