403757:	ff 74 24 1c          	push   0x1c(%esp)
40375b:	68 00 00 43 00       	push   $0x430000
403760:	e8 01 2a 00 00       	call   0x406166
403765:	66 0f be 0d a4 a1 40 	movsbw 0x40a1a4,%cx
40376c:	00
40376d:	33 c0                	xor    %eax,%eax
40376f:	6a 1a                	push   $0x1a
403771:	8a 25 a5 a1 40 00    	mov    0x40a1a5,%ah
403777:	5d                   	pop    %ebp
403778:	0b c1                	or     %ecx,%eax
40377a:	bf 58 94 42 00       	mov    $0x429458,%edi
40377f:	66 a3 00 04 43 00    	mov    %ax,0x430400
403785:	a1 34 f4 42 00       	mov    0x42f434,%eax
40378a:	ff b0 20 01 00 00    	push   0x120(%eax)
403790:	57                   	push   %edi
403791:	e8 f2 29 00 00       	call   0x406188
403796:	57                   	push   %edi
403797:	ff 15 28 81 40 00    	call   *0x408128
40379d:	39 5c 24 10          	cmp    %ebx,0x10(%esp)
4037a1:	74 3f                	je     0x4037e2
4037a3:	6a 01                	push   $0x1
4037a5:	57                   	push   %edi
4037a6:	68 00 6c 43 00       	push   $0x436c00
4037ab:	ff 15 88 80 40 00    	call   *0x408088
4037b1:	85 c0                	test   %eax,%eax
4037b3:	74 2d                	je     0x4037e2
4037b5:	53                   	push   %ebx
4037b6:	57                   	push   %edi
4037b7:	e8 89 27 00 00       	call   0x405f45
4037bc:	a1 34 f4 42 00       	mov    0x42f434,%eax
4037c1:	ff b0 24 01 00 00    	push   0x124(%eax)
4037c7:	57                   	push   %edi
4037c8:	e8 bb 29 00 00       	call   0x406188
4037cd:	57                   	push   %edi
4037ce:	e8 32 20 00 00       	call   0x405805
4037d3:	3b c3                	cmp    %ebx,%eax
4037d5:	74 0b                	je     0x4037e2
4037d7:	50                   	push   %eax
4037d8:	ff 15 14 81 40 00    	call   *0x408114
4037de:	89 5c 24 10          	mov    %ebx,0x10(%esp)
4037e2:	fe 05 00 04 43 00    	incb   0x430400
4037e8:	4d                   	dec    %ebp
4037e9:	75 9a                	jne    0x403785
4037eb:	53                   	push   %ebx
4037ec:	56                   	push   %esi
4037ed:	e8 53 27 00 00       	call   0x405f45
4037f2:	e9 cc fe ff ff       	jmp    0x4036c3
4037f7:	39 1d d4 f4 42 00    	cmp    %ebx,0x42f4d4
4037fd:	74 7a                	je     0x403879
4037ff:	8d 44 24 18          	lea    0x18(%esp),%eax
403803:	50                   	push   %eax
403804:	6a 28                	push   $0x28
403806:	ff 15 84 80 40 00    	call   *0x408084
40380c:	50                   	push   %eax
40380d:	ff 15 10 80 40 00    	call   *0x408010
403813:	6a 02                	push   $0x2
403815:	85 c0                	test   %eax,%eax
403817:	5f                   	pop    %edi
403818:	74 30                	je     0x40384a
40381a:	8d 44 24 24          	lea    0x24(%esp),%eax
40381e:	50                   	push   %eax
40381f:	68 90 a1 40 00       	push   $0x40a190
403824:	53                   	push   %ebx
403825:	ff 15 14 80 40 00    	call   *0x408014
40382b:	53                   	push   %ebx
40382c:	53                   	push   %ebx
40382d:	8d 44 24 28          	lea    0x28(%esp),%eax
403831:	53                   	push   %ebx
403832:	50                   	push   %eax
403833:	53                   	push   %ebx
403834:	ff 74 24 2c          	push   0x2c(%esp)
403838:	c7 44 24 38 01 00 00 	movl   $0x1,0x38(%esp)
40383f:	00
403840:	89 7c 24 44          	mov    %edi,0x44(%esp)
403844:	ff 15 00 80 40 00    	call   *0x408000
40384a:	6a 04                	push   $0x4
40384c:	e8 ad 2c 00 00       	call   0x4064fe
403851:	3b c3                	cmp    %ebx,%eax
403853:	be 02 00 04 80       	mov    $0x80040002,%esi
403858:	74 0c                	je     0x403866
40385a:	56                   	push   %esi
40385b:	6a 25                	push   $0x25
40385d:	53                   	push   %ebx
40385e:	53                   	push   %ebx
40385f:	53                   	push   %ebx
403860:	ff d0                	call   *%eax
403862:	85 c0                	test   %eax,%eax
403864:	74 0c                	je     0x403872
403866:	56                   	push   %esi
403867:	57                   	push   %edi
403868:	ff 15 30 82 40 00    	call   *0x408230
40386e:	85 c0                	test   %eax,%eax
403870:	75 07                	jne    0x403879
403872:	6a 09                	push   $0x9
403874:	e8 92 db ff ff       	call   0x40140b
403879:	a1 ec f4 42 00       	mov    0x42f4ec,%eax
40387e:	83 f8 ff             	cmp    $0xffffffff,%eax
403881:	74 04                	je     0x403887
403883:	89 44 24 14          	mov    %eax,0x14(%esp)
403887:	ff 74 24 14          	push   0x14(%esp)
40388b:	ff 15 b0 80 40 00    	call   *0x4080b0
403891:	a1 18 a0 40 00       	mov    0x40a018,%eax
403896:	56                   	push   %esi
403897:	8b 35 14 81 40 00    	mov    0x408114,%esi
40389d:	83 f8 ff             	cmp    $0xffffffff,%eax
4038a0:	74 0a                	je     0x4038ac
4038a2:	50                   	push   %eax
4038a3:	ff d6                	call   *%esi
4038a5:	83 0d 18 a0 40 00 ff 	orl    $0xffffffff,0x40a018
4038ac:	a1 1c a0 40 00       	mov    0x40a01c,%eax
4038b1:	83 f8 ff             	cmp    $0xffffffff,%eax
4038b4:	74 0a                	je     0x4038c0
4038b6:	50                   	push   %eax
4038b7:	ff d6                	call   *%esi
4038b9:	83 0d 1c a0 40 00 ff 	orl    $0xffffffff,0x40a01c
4038c0:	e8 29 00 00 00       	call   0x4038ee
4038c5:	6a 07                	push   $0x7
4038c7:	68 00 68 43 00       	push   $0x436800
4038cc:	e8 5d 20 00 00       	call   0x40592e
4038d1:	5e                   	pop    %esi
4038d2:	c3                   	ret
4038d3:	56                   	push   %esi
4038d4:	8b 35 5c 98 42 00    	mov    0x42985c,%esi
4038da:	eb 0a                	jmp    0x4038e6
4038dc:	ff 74 24 08          	push   0x8(%esp)
4038e0:	ff 56 04             	call   *0x4(%esi)
4038e3:	8b 36                	mov    (%esi),%esi
4038e5:	59                   	pop    %ecx
4038e6:	85 f6                	test   %esi,%esi
4038e8:	75 f2                	jne    0x4038dc
4038ea:	5e                   	pop    %esi
4038eb:	c2 04 00             	ret    $0x4
4038ee:	56                   	push   %esi
4038ef:	8b 35 5c 98 42 00    	mov    0x42985c,%esi
4038f5:	6a 00                	push   $0x0
4038f7:	e8 d7 ff ff ff       	call   0x4038d3
4038fc:	85 f6                	test   %esi,%esi
4038fe:	74 1a                	je     0x40391a
403900:	57                   	push   %edi
403901:	8b fe                	mov    %esi,%edi
403903:	8b 36                	mov    (%esi),%esi
403905:	ff 77 08             	push   0x8(%edi)
403908:	ff 15 4c 81 40 00    	call   *0x40814c
40390e:	57                   	push   %edi
40390f:	ff 15 5c 81 40 00    	call   *0x40815c
403915:	85 f6                	test   %esi,%esi
403917:	75 e8                	jne    0x403901
403919:	5f                   	pop    %edi
40391a:	83 25 5c 98 42 00 00 	andl   $0x0,0x42985c
403921:	5e                   	pop    %esi
403922:	c3                   	ret
403923:	a1 5c 98 42 00       	mov    0x42985c,%eax
403928:	eb 0b                	jmp    0x403935
40392a:	8b 48 08             	mov    0x8(%eax),%ecx
40392d:	3b 4c 24 04          	cmp    0x4(%esp),%ecx
403931:	74 0a                	je     0x40393d
403933:	8b 00                	mov    (%eax),%eax
403935:	85 c0                	test   %eax,%eax
403937:	75 f1                	jne    0x40392a
403939:	40                   	inc    %eax
40393a:	c2 04 00             	ret    $0x4
40393d:	33 c0                	xor    %eax,%eax
40393f:	eb f9                	jmp    0x40393a
403941:	56                   	push   %esi
403942:	8b 74 24 08          	mov    0x8(%esp),%esi
403946:	56                   	push   %esi
403947:	e8 d7 ff ff ff       	call   0x403923
40394c:	85 c0                	test   %eax,%eax
40394e:	75 03                	jne    0x403953
403950:	40                   	inc    %eax
403951:	eb 2c                	jmp    0x40397f
403953:	6a 0c                	push   $0xc
403955:	6a 40                	push   $0x40
403957:	ff 15 58 81 40 00    	call   *0x408158
40395d:	85 c0                	test   %eax,%eax
40395f:	74 1b                	je     0x40397c
403961:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
403965:	89 70 08             	mov    %esi,0x8(%eax)
403968:	89 48 04             	mov    %ecx,0x4(%eax)
40396b:	8b 0d 5c 98 42 00    	mov    0x42985c,%ecx
403971:	89 08                	mov    %ecx,(%eax)
403973:	a3 5c 98 42 00       	mov    %eax,0x42985c
403978:	33 c0                	xor    %eax,%eax
40397a:	eb 03                	jmp    0x40397f
40397c:	83 c8 ff             	or     $0xffffffff,%eax
40397f:	5e                   	pop    %esi
403980:	c2 08 00             	ret    $0x8
403983:	83 ec 10             	sub    $0x10,%esp
403986:	53                   	push   %ebx
403987:	55                   	push   %ebp
403988:	56                   	push   %esi
403989:	8b 35 34 f4 42 00    	mov    0x42f434,%esi
40398f:	57                   	push   %edi
403990:	6a 02                	push   $0x2
403992:	e8 67 2b 00 00       	call   0x4064fe
403997:	33 db                	xor    %ebx,%ebx
403999:	3b c3                	cmp    %ebx,%eax
40399b:	74 12                	je     0x4039af
40399d:	ff d0                	call   *%eax
40399f:	0f b7 c0             	movzwl %ax,%eax
4039a2:	50                   	push   %eax
4039a3:	68 00 60 43 00       	push   $0x436000
4039a8:	e8 17 27 00 00       	call   0x4060c4
4039ad:	eb 54                	jmp    0x403a03
4039af:	bf 98 a8 42 00       	mov    $0x42a898,%edi
4039b4:	53                   	push   %ebx
4039b5:	57                   	push   %edi
4039b6:	53                   	push   %ebx
4039b7:	68 44 83 40 00       	push   $0x408344
4039bc:	68 01 00 00 80       	push   $0x80000001
4039c1:	c6 05 00 60 43 00 30 	movb   $0x30,0x436000
4039c8:	c6 05 01 60 43 00 78 	movb   $0x78,0x436001
4039cf:	88 1d 02 60 43 00    	mov    %bl,0x436002
4039d5:	e8 73 26 00 00       	call   0x40604d
4039da:	38 1d 98 a8 42 00    	cmp    %bl,0x42a898
4039e0:	75 16                	jne    0x4039f8
4039e2:	53                   	push   %ebx
4039e3:	57                   	push   %edi
4039e4:	68 62 83 40 00       	push   $0x408362
4039e9:	68 1c 83 40 00       	push   $0x40831c
4039ee:	68 03 00 00 80       	push   $0x80000003
4039f3:	e8 55 26 00 00       	call   0x40604d
4039f8:	57                   	push   %edi
4039f9:	68 00 60 43 00       	push   $0x436000
4039fe:	e8 7f 27 00 00       	call   0x406182
403a03:	e8 40 02 00 00       	call   0x403c48
403a08:	a1 3c f4 42 00       	mov    0x42f43c,%eax
403a0d:	bd 00 54 43 00       	mov    $0x435400,%ebp
403a12:	83 e0 20             	and    $0x20,%eax
403a15:	55                   	push   %ebp
403a16:	a3 c0 f4 42 00       	mov    %eax,0x42f4c0
403a1b:	c7 05 dc f4 42 00 00 	movl   $0x10000,0x42f4dc
403a22:	00 01 00
403a25:	e8 c2 21 00 00       	call   0x405bec
403a2a:	85 c0                	test   %eax,%eax
403a2c:	0f 85 81 00 00 00    	jne    0x403ab3
403a32:	8b 4e 48             	mov    0x48(%esi),%ecx
403a35:	3b cb                	cmp    %ebx,%ecx
403a37:	74 7a                	je     0x403ab3
403a39:	8b 56 4c             	mov    0x4c(%esi),%edx
403a3c:	a1 78 f4 42 00       	mov    0x42f478,%eax
403a41:	bf c0 e3 42 00       	mov    $0x42e3c0,%edi
403a46:	53                   	push   %ebx
403a47:	03 d0                	add    %eax,%edx
403a49:	57                   	push   %edi
403a4a:	03 c8                	add    %eax,%ecx
403a4c:	52                   	push   %edx
403a4d:	51                   	push   %ecx
403a4e:	ff 76 44             	push   0x44(%esi)
403a51:	e8 f7 25 00 00       	call   0x40604d
403a56:	a0 c0 e3 42 00       	mov    0x42e3c0,%al
403a5b:	3a c3                	cmp    %bl,%al
403a5d:	74 54                	je     0x403ab3
403a5f:	3c 22                	cmp    $0x22,%al
403a61:	75 0f                	jne    0x403a72
403a63:	bf c1 e3 42 00       	mov    $0x42e3c1,%edi
403a68:	6a 22                	push   $0x22
403a6a:	57                   	push   %edi
403a6b:	e8 b9 20 00 00       	call   0x405b29
403a70:	88 18                	mov    %bl,(%eax)
403a72:	57                   	push   %edi
403a73:	e8 04 27 00 00       	call   0x40617c
403a78:	8d 44 38 fc          	lea    -0x4(%eax,%edi,1),%eax
403a7c:	3b c7                	cmp    %edi,%eax
403a7e:	76 26                	jbe    0x403aa6
403a80:	68 14 a2 40 00       	push   $0x40a214
403a85:	50                   	push   %eax
403a86:	ff 15 18 81 40 00    	call   *0x408118
403a8c:	85 c0                	test   %eax,%eax
403a8e:	75 16                	jne    0x403aa6
403a90:	57                   	push   %edi
403a91:	ff 15 fc 80 40 00    	call   *0x4080fc
403a97:	83 f8 ff             	cmp    $0xffffffff,%eax
403a9a:	74 04                	je     0x403aa0
403a9c:	a8 10                	test   $0x10,%al
403a9e:	75 06                	jne    0x403aa6
403aa0:	57                   	push   %edi
403aa1:	e8 9f 20 00 00       	call   0x405b45
403aa6:	57                   	push   %edi
403aa7:	e8 52 20 00 00       	call   0x405afe
403aac:	50                   	push   %eax
403aad:	55                   	push   %ebp
403aae:	e8 b3 26 00 00       	call   0x406166
403ab3:	55                   	push   %ebp
403ab4:	e8 33 21 00 00       	call   0x405bec
403ab9:	85 c0                	test   %eax,%eax
403abb:	75 0c                	jne    0x403ac9
403abd:	ff b6 18 01 00 00    	push   0x118(%esi)
403ac3:	55                   	push   %ebp
403ac4:	e8 bf 26 00 00       	call   0x406188
403ac9:	68 40 80 00 00       	push   $0x8040
403ace:	53                   	push   %ebx
403acf:	53                   	push   %ebx
403ad0:	6a 01                	push   $0x1
403ad2:	6a 67                	push   $0x67
403ad4:	ff 35 20 f4 42 00    	push   0x42f420
403ada:	ff 15 34 82 40 00    	call   *0x408234
403ae0:	a3 08 ec 42 00       	mov    %eax,0x42ec08
403ae5:	83 7e 50 ff          	cmpl   $0xffffffff,0x50(%esi)
403ae9:	bf c0 eb 42 00       	mov    $0x42ebc0,%edi
403aee:	74 7f                	je     0x403b6f
403af0:	8b 0d 20 f4 42 00    	mov    0x42f420,%ecx
403af6:	be 10 a2 40 00       	mov    $0x40a210,%esi
403afb:	57                   	push   %edi
403afc:	c7 05 c4 eb 42 00 00 	movl   $0x401000,0x42ebc4
403b03:	10 40 00
403b06:	89 0d d0 eb 42 00    	mov    %ecx,0x42ebd0
403b0c:	a3 d4 eb 42 00       	mov    %eax,0x42ebd4
403b11:	89 35 e4 eb 42 00    	mov    %esi,0x42ebe4
403b17:	ff 15 18 82 40 00    	call   *0x408218
403b1d:	66 85 c0             	test   %ax,%ax
403b20:	0f 84 18 01 00 00    	je     0x403c3e
403b26:	8d 44 24 10          	lea    0x10(%esp),%eax
403b2a:	53                   	push   %ebx
403b2b:	50                   	push   %eax
403b2c:	53                   	push   %ebx
403b2d:	6a 30                	push   $0x30
403b2f:	ff 15 1c 82 40 00    	call   *0x40821c
403b35:	53                   	push   %ebx
403b36:	ff 35 20 f4 42 00    	push   0x42f420
403b3c:	8b 44 24 24          	mov    0x24(%esp),%eax
403b40:	2b 44 24 1c          	sub    0x1c(%esp),%eax
403b44:	53                   	push   %ebx
403b45:	53                   	push   %ebx
403b46:	50                   	push   %eax
403b47:	8b 44 24 2c          	mov    0x2c(%esp),%eax
403b4b:	2b 44 24 24          	sub    0x24(%esp),%eax
403b4f:	50                   	push   %eax
403b50:	ff 74 24 2c          	push   0x2c(%esp)
403b54:	ff 74 24 2c          	push   0x2c(%esp)
403b58:	68 00 00 00 80       	push   $0x80000000
403b5d:	53                   	push   %ebx
403b5e:	56                   	push   %esi
403b5f:	68 80 00 00 00       	push   $0x80
403b64:	ff 15 20 82 40 00    	call   *0x408220
403b6a:	a3 78 a8 42 00       	mov    %eax,0x42a878
403b6f:	53                   	push   %ebx
403b70:	e8 96 d8 ff ff       	call   0x40140b
403b75:	85 c0                	test   %eax,%eax
403b77:	74 08                	je     0x403b81
403b79:	6a 02                	push   $0x2
403b7b:	58                   	pop    %eax
403b7c:	e9 bf 00 00 00       	jmp    0x403c40
403b81:	e8 c2 00 00 00       	call   0x403c48
403b86:	39 1d e0 f4 42 00    	cmp    %ebx,0x42f4e0
403b8c:	0f 85 83 00 00 00    	jne    0x403c15
403b92:	6a 05                	push   $0x5
403b94:	ff 35 78 a8 42 00    	push   0x42a878
403b9a:	ff 15 48 82 40 00    	call   *0x408248
403ba0:	68 10 83 40 00       	push   $0x408310