4036f0:	74 0c                	je     0x4036fe
4036f2:	56                   	push   %esi
4036f3:	57                   	push   %edi
4036f4:	ff 15 30 72 40 00    	call   *0x407230
4036fa:	85 c0                	test   %eax,%eax
4036fc:	75 07                	jne    0x403705
4036fe:	6a 09                	push   $0x9
403700:	e8 06 dd ff ff       	call   0x40140b
403705:	a1 cc 37 42 00       	mov    0x4237cc,%eax
40370a:	83 f8 ff             	cmp    $0xffffffff,%eax
40370d:	74 04                	je     0x403713
40370f:	89 44 24 14          	mov    %eax,0x14(%esp)
403713:	ff 74 24 14          	push   0x14(%esp)
403717:	ff 15 84 70 40 00    	call   *0x407084
40371d:	a1 18 90 40 00       	mov    0x409018,%eax
403722:	83 f8 ff             	cmp    $0xffffffff,%eax
403725:	74 0e                	je     0x403735
403727:	50                   	push   %eax
403728:	ff 15 14 71 40 00    	call   *0x407114
40372e:	83 0d 18 90 40 00 ff 	orl    $0xffffffff,0x409018
403735:	e8 28 00 00 00       	call   0x403762
40373a:	6a 07                	push   $0x7
40373c:	68 00 a8 42 00       	push   $0x42a800
403741:	e8 5c 20 00 00       	call   0x4057a2
403746:	c3                   	ret
403747:	56                   	push   %esi
403748:	8b 35 cc ec 41 00    	mov    0x41eccc,%esi
40374e:	eb 0a                	jmp    0x40375a
403750:	ff 74 24 08          	push   0x8(%esp)
403754:	ff 56 04             	call   *0x4(%esi)
403757:	8b 36                	mov    (%esi),%esi
403759:	59                   	pop    %ecx
40375a:	85 f6                	test   %esi,%esi
40375c:	75 f2                	jne    0x403750
40375e:	5e                   	pop    %esi
40375f:	c2 04 00             	ret    $0x4
403762:	56                   	push   %esi
403763:	8b 35 cc ec 41 00    	mov    0x41eccc,%esi
403769:	6a 00                	push   $0x0
40376b:	e8 d7 ff ff ff       	call   0x403747
403770:	85 f6                	test   %esi,%esi
403772:	74 1a                	je     0x40378e
403774:	57                   	push   %edi
403775:	8b fe                	mov    %esi,%edi
403777:	8b 36                	mov    (%esi),%esi
403779:	ff 77 08             	push   0x8(%edi)
40377c:	ff 15 4c 71 40 00    	call   *0x40714c
403782:	57                   	push   %edi
403783:	ff 15 5c 71 40 00    	call   *0x40715c
403789:	85 f6                	test   %esi,%esi
40378b:	75 e8                	jne    0x403775
40378d:	5f                   	pop    %edi
40378e:	83 25 cc ec 41 00 00 	andl   $0x0,0x41eccc
403795:	5e                   	pop    %esi
403796:	c3                   	ret
403797:	a1 cc ec 41 00       	mov    0x41eccc,%eax
40379c:	eb 0b                	jmp    0x4037a9
40379e:	8b 48 08             	mov    0x8(%eax),%ecx
4037a1:	3b 4c 24 04          	cmp    0x4(%esp),%ecx
4037a5:	74 0a                	je     0x4037b1
4037a7:	8b 00                	mov    (%eax),%eax
4037a9:	85 c0                	test   %eax,%eax
4037ab:	75 f1                	jne    0x40379e
4037ad:	40                   	inc    %eax
4037ae:	c2 04 00             	ret    $0x4
4037b1:	33 c0                	xor    %eax,%eax
4037b3:	eb f9                	jmp    0x4037ae
4037b5:	56                   	push   %esi
4037b6:	8b 74 24 08          	mov    0x8(%esp),%esi
4037ba:	56                   	push   %esi
4037bb:	e8 d7 ff ff ff       	call   0x403797
4037c0:	85 c0                	test   %eax,%eax
4037c2:	75 03                	jne    0x4037c7
4037c4:	40                   	inc    %eax
4037c5:	eb 2c                	jmp    0x4037f3
4037c7:	6a 0c                	push   $0xc
4037c9:	6a 40                	push   $0x40
4037cb:	ff 15 58 71 40 00    	call   *0x407158
4037d1:	85 c0                	test   %eax,%eax
4037d3:	74 1b                	je     0x4037f0
4037d5:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
4037d9:	89 70 08             	mov    %esi,0x8(%eax)
4037dc:	89 48 04             	mov    %ecx,0x4(%eax)
4037df:	8b 0d cc ec 41 00    	mov    0x41eccc,%ecx
4037e5:	89 08                	mov    %ecx,(%eax)
4037e7:	a3 cc ec 41 00       	mov    %eax,0x41eccc
4037ec:	33 c0                	xor    %eax,%eax
4037ee:	eb 03                	jmp    0x4037f3
4037f0:	83 c8 ff             	or     $0xffffffff,%eax
4037f3:	5e                   	pop    %esi
4037f4:	c2 08 00             	ret    $0x8
4037f7:	83 ec 10             	sub    $0x10,%esp
4037fa:	53                   	push   %ebx
4037fb:	55                   	push   %ebp
4037fc:	56                   	push   %esi
4037fd:	8b 35 14 37 42 00    	mov    0x423714,%esi
403803:	57                   	push   %edi
403804:	6a 02                	push   $0x2
403806:	e8 67 2b 00 00       	call   0x406372
40380b:	33 db                	xor    %ebx,%ebx
40380d:	3b c3                	cmp    %ebx,%eax
40380f:	74 12                	je     0x403823
403811:	ff d0                	call   *%eax
403813:	0f b7 c0             	movzwl %ax,%eax
403816:	50                   	push   %eax
403817:	68 00 a0 42 00       	push   $0x42a000
40381c:	e8 17 27 00 00       	call   0x405f38
403821:	eb 54                	jmp    0x403877
403823:	bf 08 fd 41 00       	mov    $0x41fd08,%edi
403828:	53                   	push   %ebx
403829:	57                   	push   %edi
40382a:	53                   	push   %ebx
40382b:	68 44 73 40 00       	push   $0x407344
403830:	68 01 00 00 80       	push   $0x80000001
403835:	c6 05 00 a0 42 00 30 	movb   $0x30,0x42a000
40383c:	c6 05 01 a0 42 00 78 	movb   $0x78,0x42a001
403843:	88 1d 02 a0 42 00    	mov    %bl,0x42a002
403849:	e8 73 26 00 00       	call   0x405ec1
40384e:	38 1d 08 fd 41 00    	cmp    %bl,0x41fd08
403854:	75 16                	jne    0x40386c
403856:	53                   	push   %ebx
403857:	57                   	push   %edi
403858:	68 62 73 40 00       	push   $0x407362
40385d:	68 1c 73 40 00       	push   $0x40731c
403862:	68 03 00 00 80       	push   $0x80000003
403867:	e8 55 26 00 00       	call   0x405ec1
40386c:	57                   	push   %edi
40386d:	68 00 a0 42 00       	push   $0x42a000
403872:	e8 7f 27 00 00       	call   0x405ff6
403877:	e8 40 02 00 00       	call   0x403abc
40387c:	a1 1c 37 42 00       	mov    0x42371c,%eax
403881:	bd 00 94 42 00       	mov    $0x429400,%ebp
403886:	83 e0 20             	and    $0x20,%eax
403889:	55                   	push   %ebp
40388a:	a3 a0 37 42 00       	mov    %eax,0x4237a0
40388f:	c7 05 bc 37 42 00 00 	movl   $0x10000,0x4237bc
403896:	00 01 00
403899:	e8 c2 21 00 00       	call   0x405a60
40389e:	85 c0                	test   %eax,%eax
4038a0:	0f 85 81 00 00 00    	jne    0x403927
4038a6:	8b 4e 48             	mov    0x48(%esi),%ecx
4038a9:	3b cb                	cmp    %ebx,%ecx
4038ab:	74 7a                	je     0x403927
4038ad:	8b 56 4c             	mov    0x4c(%esi),%edx
4038b0:	a1 58 37 42 00       	mov    0x423758,%eax
4038b5:	bf a0 26 42 00       	mov    $0x4226a0,%edi
4038ba:	53                   	push   %ebx
4038bb:	03 d0                	add    %eax,%edx
4038bd:	57                   	push   %edi
4038be:	03 c8                	add    %eax,%ecx
4038c0:	52                   	push   %edx
4038c1:	51                   	push   %ecx
4038c2:	ff 76 44             	push   0x44(%esi)
4038c5:	e8 f7 25 00 00       	call   0x405ec1
4038ca:	a0 a0 26 42 00       	mov    0x4226a0,%al
4038cf:	3a c3                	cmp    %bl,%al
4038d1:	74 54                	je     0x403927
4038d3:	3c 22                	cmp    $0x22,%al
4038d5:	75 0f                	jne    0x4038e6
4038d7:	bf a1 26 42 00       	mov    $0x4226a1,%edi
4038dc:	6a 22                	push   $0x22
4038de:	57                   	push   %edi
4038df:	e8 b9 20 00 00       	call   0x40599d
4038e4:	88 18                	mov    %bl,(%eax)
4038e6:	57                   	push   %edi
4038e7:	e8 04 27 00 00       	call   0x405ff0
4038ec:	8d 44 38 fc          	lea    -0x4(%eax,%edi,1),%eax
4038f0:	3b c7                	cmp    %edi,%eax
4038f2:	76 26                	jbe    0x40391a
4038f4:	68 f8 91 40 00       	push   $0x4091f8
4038f9:	50                   	push   %eax
4038fa:	ff 15 18 71 40 00    	call   *0x407118
403900:	85 c0                	test   %eax,%eax
403902:	75 16                	jne    0x40391a
403904:	57                   	push   %edi
403905:	ff 15 fc 70 40 00    	call   *0x4070fc
40390b:	83 f8 ff             	cmp    $0xffffffff,%eax
40390e:	74 04                	je     0x403914
403910:	a8 10                	test   $0x10,%al
403912:	75 06                	jne    0x40391a
403914:	57                   	push   %edi
403915:	e8 9f 20 00 00       	call   0x4059b9
40391a:	57                   	push   %edi
40391b:	e8 52 20 00 00       	call   0x405972
403920:	50                   	push   %eax
403921:	55                   	push   %ebp
403922:	e8 b3 26 00 00       	call   0x405fda
403927:	55                   	push   %ebp
403928:	e8 33 21 00 00       	call   0x405a60
40392d:	85 c0                	test   %eax,%eax
40392f:	75 0c                	jne    0x40393d
403931:	ff b6 18 01 00 00    	push   0x118(%esi)
403937:	55                   	push   %ebp
403938:	e8 bf 26 00 00       	call   0x405ffc
40393d:	68 40 80 00 00       	push   $0x8040
403942:	53                   	push   %ebx
403943:	53                   	push   %ebx
403944:	6a 01                	push   $0x1
403946:	6a 67                	push   $0x67
403948:	ff 35 00 37 42 00    	push   0x423700
40394e:	ff 15 34 72 40 00    	call   *0x407234
403954:	a3 e8 2e 42 00       	mov    %eax,0x422ee8
403959:	83 7e 50 ff          	cmpl   $0xffffffff,0x50(%esi)
40395d:	bf a0 2e 42 00       	mov    $0x422ea0,%edi
403962:	74 7f                	je     0x4039e3
403964:	8b 0d 00 37 42 00    	mov    0x423700,%ecx
40396a:	be f4 91 40 00       	mov    $0x4091f4,%esi
40396f:	57                   	push   %edi
403970:	c7 05 a4 2e 42 00 00 	movl   $0x401000,0x422ea4
403977:	10 40 00
40397a:	89 0d b0 2e 42 00    	mov    %ecx,0x422eb0
403980:	a3 b4 2e 42 00       	mov    %eax,0x422eb4
403985:	89 35 c4 2e 42 00    	mov    %esi,0x422ec4
40398b:	ff 15 18 72 40 00    	call   *0x407218
403991:	66 85 c0             	test   %ax,%ax
403994:	0f 84 18 01 00 00    	je     0x403ab2
40399a:	8d 44 24 10          	lea    0x10(%esp),%eax
40399e:	53                   	push   %ebx
40399f:	50                   	push   %eax
4039a0:	53                   	push   %ebx
4039a1:	6a 30                	push   $0x30
4039a3:	ff 15 1c 72 40 00    	call   *0x40721c
4039a9:	53                   	push   %ebx
4039aa:	ff 35 00 37 42 00    	push   0x423700
4039b0:	8b 44 24 24          	mov    0x24(%esp),%eax
4039b4:	2b 44 24 1c          	sub    0x1c(%esp),%eax
4039b8:	53                   	push   %ebx
4039b9:	53                   	push   %ebx
4039ba:	50                   	push   %eax
4039bb:	8b 44 24 2c          	mov    0x2c(%esp),%eax
4039bf:	2b 44 24 24          	sub    0x24(%esp),%eax
4039c3:	50                   	push   %eax
4039c4:	ff 74 24 2c          	push   0x2c(%esp)
4039c8:	ff 74 24 2c          	push   0x2c(%esp)
4039cc:	68 00 00 00 80       	push   $0x80000000
4039d1:	53                   	push   %ebx
4039d2:	56                   	push   %esi
4039d3:	68 80 00 00 00       	push   $0x80
4039d8:	ff 15 20 72 40 00    	call   *0x407220
4039de:	a3 e8 fc 41 00       	mov    %eax,0x41fce8
4039e3:	53                   	push   %ebx
4039e4:	e8 22 da ff ff       	call   0x40140b
4039e9:	85 c0                	test   %eax,%eax
4039eb:	74 08                	je     0x4039f5
4039ed:	6a 02                	push   $0x2
4039ef:	58                   	pop    %eax
4039f0:	e9 bf 00 00 00       	jmp    0x403ab4
4039f5:	e8 c2 00 00 00       	call   0x403abc
4039fa:	39 1d c0 37 42 00    	cmp    %ebx,0x4237c0
403a00:	0f 85 83 00 00 00    	jne    0x403a89
403a06:	6a 05                	push   $0x5
403a08:	ff 35 e8 fc 41 00    	push   0x41fce8
403a0e:	ff 15 48 72 40 00    	call   *0x407248
403a14:	68 10 73 40 00       	push   $0x407310
403a19:	e8 e6 28 00 00       	call   0x406304
403a1e:	85 c0                	test   %eax,%eax
403a20:	75 0a                	jne    0x403a2c
403a22:	68 04 73 40 00       	push   $0x407304
403a27:	e8 d8 28 00 00       	call   0x406304
403a2c:	8b 35 24 72 40 00    	mov    0x407224,%esi
403a32:	bd f8 72 40 00       	mov    $0x4072f8,%ebp
403a37:	57                   	push   %edi
403a38:	55                   	push   %ebp
403a39:	53                   	push   %ebx
403a3a:	ff d6                	call   *%esi
403a3c:	85 c0                	test   %eax,%eax
403a3e:	75 16                	jne    0x403a56
403a40:	57                   	push   %edi
403a41:	68 ec 72 40 00       	push   $0x4072ec
403a46:	53                   	push   %ebx
403a47:	ff d6                	call   *%esi
403a49:	57                   	push   %edi
403a4a:	89 2d c4 2e 42 00    	mov    %ebp,0x422ec4
403a50:	ff 15 18 72 40 00    	call   *0x407218
403a56:	a1 e0 2e 42 00       	mov    0x422ee0,%eax
403a5b:	53                   	push   %ebx
403a5c:	83 c0 69             	add    $0x69,%eax
403a5f:	68 94 3b 40 00       	push   $0x403b94
403a64:	0f b7 c0             	movzwl %ax,%eax
403a67:	53                   	push   %ebx
403a68:	50                   	push   %eax
403a69:	ff 35 00 37 42 00    	push   0x423700
403a6f:	ff 15 28 72 40 00    	call   *0x407228
403a75:	6a 05                	push   $0x5
403a77:	8b f0                	mov    %eax,%esi
403a79:	e8 8d d9 ff ff       	call   0x40140b
403a7e:	6a 01                	push   $0x1
403a80:	e8 c2 fc ff ff       	call   0x403747
403a85:	8b c6                	mov    %esi,%eax
403a87:	eb 2b                	jmp    0x403ab4
403a89:	53                   	push   %ebx
403a8a:	e8 44 17 00 00       	call   0x4051d3
403a8f:	85 c0                	test   %eax,%eax
403a91:	74 18                	je     0x403aab
403a93:	39 1d cc 2e 42 00    	cmp    %ebx,0x422ecc
403a99:	0f 85 4e ff ff ff    	jne    0x4039ed
403a9f:	6a 02                	push   $0x2
403aa1:	e8 65 d9 ff ff       	call   0x40140b
403aa6:	e9 42 ff ff ff       	jmp    0x4039ed
403aab:	6a 01                	push   $0x1
403aad:	e8 59 d9 ff ff       	call   0x40140b
403ab2:	33 c0                	xor    %eax,%eax
403ab4:	5f                   	pop    %edi
403ab5:	5e                   	pop    %esi
403ab6:	5d                   	pop    %ebp
403ab7:	5b                   	pop    %ebx
403ab8:	83 c4 10             	add    $0x10,%esp
403abb:	c3                   	ret
403abc:	53                   	push   %ebx
403abd:	55                   	push   %ebp
403abe:	56                   	push   %esi
403abf:	57                   	push   %edi
403ac0:	bf 00 a0 42 00       	mov    $0x42a000,%edi
403ac5:	bb ff ff 00 00       	mov    $0xffff,%ebx
403aca:	57                   	push   %edi
403acb:	e8 81 24 00 00       	call   0x405f51
403ad0:	8b 35 64 37 42 00    	mov    0x423764,%esi
403ad6:	85 f6                	test   %esi,%esi
403ad8:	74 45                	je     0x403b1f
403ada:	8b 0d 14 37 42 00    	mov    0x423714,%ecx
403ae0:	8b 49 64             	mov    0x64(%ecx),%ecx
403ae3:	8b d1                	mov    %ecx,%edx
403ae5:	0f af ce             	imul   %esi,%ecx
403ae8:	f7 da                	neg    %edx
403aea:	03 0d 60 37 42 00    	add    0x423760,%ecx
403af0:	03 ca                	add    %edx,%ecx
403af2:	4e                   	dec    %esi
403af3:	66 8b 29             	mov    (%ecx),%bp
403af6:	66 33 e8             	xor    %ax,%bp
403af9:	23 eb                	and    %ebx,%ebp
403afb:	66 85 ed             	test   %bp,%bp
403afe:	74 06                	je     0x403b06
403b00:	85 f6                	test   %esi,%esi
403b02:	75 ec                	jne    0x403af0
403b04:	eb 19                	jmp    0x403b1f
403b06:	8b 51 02             	mov    0x2(%ecx),%edx
403b09:	89 15 e0 2e 42 00    	mov    %edx,0x422ee0
403b0f:	8b 51 06             	mov    0x6(%ecx),%edx
403b12:	89 15 c8 37 42 00    	mov    %edx,0x4237c8
403b18:	8d 51 0a             	lea    0xa(%ecx),%edx
403b1b:	85 d2                	test   %edx,%edx
403b1d:	75 12                	jne    0x403b31
403b1f:	66 81 fb ff ff       	cmp    $0xffff,%bx
403b24:	75 07                	jne    0x403b2d
403b26:	bb ff 03 00 00       	mov    $0x3ff,%ebx
403b2b:	eb a3                	jmp    0x403ad0
403b2d:	33 db                	xor    %ebx,%ebx
403b2f:	eb 9f                	jmp    0x403ad0
403b31:	89 15 dc 2e 42 00    	mov    %edx,0x422edc
403b37:	0f b7 01             	movzwl (%ecx),%eax