4736a6:	8b c6                	mov    %esi,%eax
4736a8:	8b 15 9c 21 47 00    	mov    0x47219c,%edx
4736ae:	e8 19 04 f9 ff       	call   0x403acc
4736b3:	8b 47 5a             	mov    0x5a(%edi),%eax
4736b6:	89 43 5a             	mov    %eax,0x5a(%ebx)
4736b9:	8b 47 5e             	mov    0x5e(%edi),%eax
4736bc:	89 43 5e             	mov    %eax,0x5e(%ebx)
4736bf:	66 8b 47 62          	mov    0x62(%edi),%ax
4736c3:	66 89 43 62          	mov    %ax,0x62(%ebx)
4736c7:	8b c6                	mov    %esi,%eax
4736c9:	8b 15 9c 21 47 00    	mov    0x47219c,%edx
4736cf:	e8 f8 03 f9 ff       	call   0x403acc
4736d4:	8b 47 64             	mov    0x64(%edi),%eax
4736d7:	89 43 64             	mov    %eax,0x64(%ebx)
4736da:	8b 47 68             	mov    0x68(%edi),%eax
4736dd:	89 43 68             	mov    %eax,0x68(%ebx)
4736e0:	66 8b 47 6c          	mov    0x6c(%edi),%ax
4736e4:	66 89 43 6c          	mov    %ax,0x6c(%ebx)
4736e8:	5f                   	pop    %edi
4736e9:	5e                   	pop    %esi
4736ea:	5b                   	pop    %ebx
4736eb:	c3                   	ret
4736ec:	53                   	push   %ebx
4736ed:	56                   	push   %esi
4736ee:	84 d2                	test   %dl,%dl
4736f0:	74 08                	je     0x4736fa
4736f2:	83 c4 f0             	add    $0xfffffff0,%esp
4736f5:	e8 46 05 f9 ff       	call   0x403c40
4736fa:	8b da                	mov    %edx,%ebx
4736fc:	8b f0                	mov    %eax,%esi
4736fe:	90                   	nop
4736ff:	33 d2                	xor    %edx,%edx
473701:	8b c6                	mov    %esi,%eax
473703:	e8 30 54 fa ff       	call   0x418b38
473708:	33 c0                	xor    %eax,%eax
47370a:	89 46 30             	mov    %eax,0x30(%esi)
47370d:	89 46 34             	mov    %eax,0x34(%esi)
473710:	66 89 46 38          	mov    %ax,0x38(%esi)
473714:	33 c0                	xor    %eax,%eax
473716:	89 46 3a             	mov    %eax,0x3a(%esi)
473719:	89 46 3e             	mov    %eax,0x3e(%esi)
47371c:	66 89 46 42          	mov    %ax,0x42(%esi)
473720:	33 c0                	xor    %eax,%eax
473722:	89 46 44             	mov    %eax,0x44(%esi)
473725:	89 46 48             	mov    %eax,0x48(%esi)
473728:	66 89 46 4c          	mov    %ax,0x4c(%esi)
47372c:	33 c0                	xor    %eax,%eax
47372e:	89 46 50             	mov    %eax,0x50(%esi)
473731:	89 46 54             	mov    %eax,0x54(%esi)
473734:	66 89 46 58          	mov    %ax,0x58(%esi)
473738:	33 c0                	xor    %eax,%eax
47373a:	89 46 5a             	mov    %eax,0x5a(%esi)
47373d:	89 46 5e             	mov    %eax,0x5e(%esi)
473740:	66 89 46 62          	mov    %ax,0x62(%esi)
473744:	33 c0                	xor    %eax,%eax
473746:	89 46 64             	mov    %eax,0x64(%esi)
473749:	89 46 68             	mov    %eax,0x68(%esi)
47374c:	66 89 46 6c          	mov    %ax,0x6c(%esi)
473750:	8b c6                	mov    %esi,%eax
473752:	84 db                	test   %bl,%bl
473754:	74 0f                	je     0x473765
473756:	e8 3d 05 f9 ff       	call   0x403c98
47375b:	64 8f 05 00 00 00 00 	pop    %fs:0x0
473762:	83 c4 0c             	add    $0xc,%esp
473765:	8b c6                	mov    %esi,%eax
473767:	5e                   	pop    %esi
473768:	5b                   	pop    %ebx
473769:	c3                   	ret
47376a:	8b c0                	mov    %eax,%eax
47376c:	55                   	push   %ebp
47376d:	8b ec                	mov    %esp,%ebp
47376f:	83 c4 ec             	add    $0xffffffec,%esp
473772:	53                   	push   %ebx
473773:	56                   	push   %esi
473774:	57                   	push   %edi
473775:	89 45 fc             	mov    %eax,-0x4(%ebp)
473778:	90                   	nop
473779:	90                   	nop
47377a:	90                   	nop
47377b:	90                   	nop
47377c:	8b 45 fc             	mov    -0x4(%ebp),%eax
47377f:	e8 44 2e 00 00       	call   0x4765c8
473784:	8b 45 fc             	mov    -0x4(%ebp),%eax
473787:	80 78 24 00          	cmpb   $0x0,0x24(%eax)
47378b:	0f 85 b7 00 00 00    	jne    0x473848
473791:	90                   	nop
473792:	90                   	nop
473793:	90                   	nop
473794:	90                   	nop
473795:	33 c0                	xor    %eax,%eax
473797:	55                   	push   %ebp
473798:	68 3e 38 47 00       	push   $0x47383e
47379d:	64 ff 30             	push   %fs:(%eax)
4737a0:	64 89 20             	mov    %esp,%fs:(%eax)
4737a3:	8b 45 fc             	mov    -0x4(%ebp),%eax
4737a6:	8b 58 0c             	mov    0xc(%eax),%ebx
4737a9:	90                   	nop
4737aa:	8b 45 fc             	mov    -0x4(%ebp),%eax
4737ad:	0f b7 50 38          	movzwl 0x38(%eax),%edx
4737b1:	52                   	push   %edx
4737b2:	ff 70 34             	push   0x34(%eax)
4737b5:	ff 70 30             	push   0x30(%eax)
4737b8:	8b 45 fc             	mov    -0x4(%ebp),%eax
4737bb:	0f b7 50 42          	movzwl 0x42(%eax),%edx
4737bf:	52                   	push   %edx
4737c0:	ff 70 3e             	push   0x3e(%eax)
4737c3:	ff 70 3a             	push   0x3a(%eax)
4737c6:	8b 45 fc             	mov    -0x4(%ebp),%eax
4737c9:	0f b7 50 4c          	movzwl 0x4c(%eax),%edx
4737cd:	52                   	push   %edx
4737ce:	ff 70 48             	push   0x48(%eax)
4737d1:	ff 70 44             	push   0x44(%eax)
4737d4:	8d 4d f4             	lea    -0xc(%ebp),%ecx
4737d7:	8d 55 f8             	lea    -0x8(%ebp),%edx
4737da:	8b c3                	mov    %ebx,%eax
4737dc:	e8 d3 52 00 00       	call   0x478ab4
4737e1:	8b 45 fc             	mov    -0x4(%ebp),%eax
4737e4:	0f b7 50 58          	movzwl 0x58(%eax),%edx
4737e8:	52                   	push   %edx
4737e9:	ff 70 54             	push   0x54(%eax)
4737ec:	ff 70 50             	push   0x50(%eax)
4737ef:	8b 45 fc             	mov    -0x4(%ebp),%eax
4737f2:	0f b7 50 62          	movzwl 0x62(%eax),%edx
4737f6:	52                   	push   %edx
4737f7:	ff 70 5e             	push   0x5e(%eax)
4737fa:	ff 70 5a             	push   0x5a(%eax)
4737fd:	8b 45 fc             	mov    -0x4(%ebp),%eax
473800:	0f b7 50 6c          	movzwl 0x6c(%eax),%edx
473804:	52                   	push   %edx
473805:	ff 70 68             	push   0x68(%eax)
473808:	ff 70 64             	push   0x64(%eax)
47380b:	8d 4d ec             	lea    -0x14(%ebp),%ecx
47380e:	8d 55 f0             	lea    -0x10(%ebp),%edx
473811:	8b c3                	mov    %ebx,%eax
473813:	e8 9c 52 00 00       	call   0x478ab4
473818:	8b 43 04             	mov    0x4(%ebx),%eax
47381b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
47381e:	8b 55 f8             	mov    -0x8(%ebp),%edx
473821:	e8 46 15 fb ff       	call   0x424d6c
473826:	8b 43 04             	mov    0x4(%ebx),%eax
473829:	8b 4d ec             	mov    -0x14(%ebp),%ecx
47382c:	8b 55 f0             	mov    -0x10(%ebp),%edx
47382f:	e8 d8 14 fb ff       	call   0x424d0c
473834:	33 c0                	xor    %eax,%eax
473836:	5a                   	pop    %edx
473837:	59                   	pop    %ecx
473838:	59                   	pop    %ecx
473839:	64 89 10             	mov    %edx,%fs:(%eax)
47383c:	eb 0a                	jmp    0x473848
47383e:	e9 b9 05 f9 ff       	jmp    0x403dfc
473843:	e8 c4 09 f9 ff       	call   0x40420c
473848:	8b 45 fc             	mov    -0x4(%ebp),%eax
47384b:	8b 50 18             	mov    0x18(%eax),%edx
47384e:	8b 45 fc             	mov    -0x4(%ebp),%eax
473851:	8b 40 0c             	mov    0xc(%eax),%eax
473854:	8b 40 04             	mov    0x4(%eax),%eax
473857:	8b 40 10             	mov    0x10(%eax),%eax
47385a:	e8 b1 0d fb ff       	call   0x424610
47385f:	8b 45 fc             	mov    -0x4(%ebp),%eax
473862:	0f b6 50 1c          	movzbl 0x1c(%eax),%edx
473866:	8b 45 fc             	mov    -0x4(%ebp),%eax
473869:	8b 40 0c             	mov    0xc(%eax),%eax
47386c:	8b 40 04             	mov    0x4(%eax),%eax
47386f:	8b 40 10             	mov    0x10(%eax),%eax
473872:	e8 75 0e fb ff       	call   0x4246ec
473877:	5f                   	pop    %edi
473878:	5e                   	pop    %esi
473879:	5b                   	pop    %ebx
47387a:	8b e5                	mov    %ebp,%esp
47387c:	5d                   	pop    %ebp
47387d:	c3                   	ret
47387e:	8b c0                	mov    %eax,%eax
473880:	55                   	push   %ebp
473881:	8b ec                	mov    %esp,%ebp
473883:	51                   	push   %ecx
473884:	b9 0f 00 00 00       	mov    $0xf,%ecx
473889:	6a 00                	push   $0x0
47388b:	6a 00                	push   $0x0
47388d:	49                   	dec    %ecx
47388e:	75 f9                	jne    0x473889
473890:	87 4d fc             	xchg   %ecx,-0x4(%ebp)
473893:	53                   	push   %ebx
473894:	89 4d f8             	mov    %ecx,-0x8(%ebp)
473897:	89 55 fc             	mov    %edx,-0x4(%ebp)
47389a:	8b d8                	mov    %eax,%ebx
47389c:	8b 45 fc             	mov    -0x4(%ebp),%eax
47389f:	e8 48 29 f9 ff       	call   0x4061ec
4738a4:	8b 45 f8             	mov    -0x8(%ebp),%eax
4738a7:	e8 40 29 f9 ff       	call   0x4061ec
4738ac:	33 c0                	xor    %eax,%eax
4738ae:	55                   	push   %ebp
4738af:	68 34 3d 47 00       	push   $0x473d34
4738b4:	64 ff 30             	push   %fs:(%eax)
4738b7:	64 89 20             	mov    %esp,%fs:(%eax)
4738ba:	90                   	nop
4738bb:	90                   	nop
4738bc:	8d 45 f4             	lea    -0xc(%ebp),%eax
4738bf:	e8 b4 28 f9 ff       	call   0x406178
4738c4:	50                   	push   %eax
4738c5:	68 48 3d 47 00       	push   $0x473d48
4738ca:	8b 45 fc             	mov    -0x4(%ebp),%eax
4738cd:	50                   	push   %eax
4738ce:	8b 00                	mov    (%eax),%eax
4738d0:	ff 90 bc 00 00 00    	call   *0xbc(%eax)
4738d6:	e8 ad 29 f9 ff       	call   0x406288
4738db:	8d 45 ec             	lea    -0x14(%ebp),%eax
4738de:	e8 95 28 f9 ff       	call   0x406178
4738e3:	50                   	push   %eax
4738e4:	8b 45 f4             	mov    -0xc(%ebp),%eax
4738e7:	50                   	push   %eax
4738e8:	8b 45 f8             	mov    -0x8(%ebp),%eax
4738eb:	50                   	push   %eax
4738ec:	8b 00                	mov    (%eax),%eax
4738ee:	ff 50 54             	call   *0x54(%eax)
4738f1:	e8 92 29 f9 ff       	call   0x406288
4738f6:	8d 45 e8             	lea    -0x18(%ebp),%eax
4738f9:	e8 7a 28 f9 ff       	call   0x406178
4738fe:	50                   	push   %eax
4738ff:	8d 45 e4             	lea    -0x1c(%ebp),%eax
473902:	e8 71 28 f9 ff       	call   0x406178
473907:	50                   	push   %eax
473908:	68 5c 3d 47 00       	push   $0x473d5c
47390d:	8b 45 fc             	mov    -0x4(%ebp),%eax
473910:	50                   	push   %eax
473911:	8b 00                	mov    (%eax),%eax
473913:	ff 90 c4 00 00 00    	call   *0xc4(%eax)
473919:	e8 6a 29 f9 ff       	call   0x406288
47391e:	8b 45 e4             	mov    -0x1c(%ebp),%eax
473921:	50                   	push   %eax
473922:	8b 45 f4             	mov    -0xc(%ebp),%eax
473925:	50                   	push   %eax
473926:	8b 00                	mov    (%eax),%eax
473928:	ff 50 54             	call   *0x54(%eax)
47392b:	e8 58 29 f9 ff       	call   0x406288
473930:	8b 4d f4             	mov    -0xc(%ebp),%ecx
473933:	8b 55 fc             	mov    -0x4(%ebp),%edx
473936:	8b c3                	mov    %ebx,%eax
473938:	e8 1b 2d 00 00       	call   0x476658
47393d:	8d 45 f0             	lea    -0x10(%ebp),%eax
473940:	e8 33 28 f9 ff       	call   0x406178
473945:	50                   	push   %eax
473946:	68 68 3d 47 00       	push   $0x473d68
47394b:	8b 45 fc             	mov    -0x4(%ebp),%eax
47394e:	50                   	push   %eax
47394f:	8b 00                	mov    (%eax),%eax
473951:	ff 90 d4 00 00 00    	call   *0xd4(%eax)
473957:	e8 2c 29 f9 ff       	call   0x406288
47395c:	0f b7 43 38          	movzwl 0x38(%ebx),%eax
473960:	50                   	push   %eax
473961:	ff 73 34             	push   0x34(%ebx)
473964:	ff 73 30             	push   0x30(%ebx)
473967:	8d 45 dc             	lea    -0x24(%ebp),%eax
47396a:	e8 3d 68 f9 ff       	call   0x40a1ac
47396f:	8b 55 dc             	mov    -0x24(%ebp),%edx
473972:	8d 45 e0             	lea    -0x20(%ebp),%eax
473975:	e8 2a 17 f9 ff       	call   0x4050a4
47397a:	8b 45 e0             	mov    -0x20(%ebp),%eax
47397d:	50                   	push   %eax
47397e:	8b 45 f0             	mov    -0x10(%ebp),%eax
473981:	50                   	push   %eax
473982:	8b 00                	mov    (%eax),%eax
473984:	ff 50 6c             	call   *0x6c(%eax)
473987:	e8 fc 28 f9 ff       	call   0x406288
47398c:	8d 45 d8             	lea    -0x28(%ebp),%eax
47398f:	e8 e4 27 f9 ff       	call   0x406178
473994:	50                   	push   %eax
473995:	8b 45 f0             	mov    -0x10(%ebp),%eax
473998:	50                   	push   %eax
473999:	8d 45 d4             	lea    -0x2c(%ebp),%eax
47399c:	e8 d7 27 f9 ff       	call   0x406178
4739a1:	50                   	push   %eax
4739a2:	8b 45 f4             	mov    -0xc(%ebp),%eax
4739a5:	50                   	push   %eax
4739a6:	8b 00                	mov    (%eax),%eax
4739a8:	ff 50 44             	call   *0x44(%eax)
4739ab:	e8 d8 28 f9 ff       	call   0x406288
4739b0:	8b 45 d4             	mov    -0x2c(%ebp),%eax
4739b3:	50                   	push   %eax
4739b4:	8b 00                	mov    (%eax),%eax
4739b6:	ff 50 20             	call   *0x20(%eax)
4739b9:	e8 ca 28 f9 ff       	call   0x406288
4739be:	8d 45 f0             	lea    -0x10(%ebp),%eax
4739c1:	e8 b2 27 f9 ff       	call   0x406178
4739c6:	50                   	push   %eax
4739c7:	68 74 3d 47 00       	push   $0x473d74
4739cc:	8b 45 fc             	mov    -0x4(%ebp),%eax
4739cf:	50                   	push   %eax
4739d0:	8b 00                	mov    (%eax),%eax
4739d2:	ff 90 d4 00 00 00    	call   *0xd4(%eax)
4739d8:	e8 ab 28 f9 ff       	call   0x406288
4739dd:	0f b7 43 42          	movzwl 0x42(%ebx),%eax
4739e1:	50                   	push   %eax
4739e2:	ff 73 3e             	push   0x3e(%ebx)
4739e5:	ff 73 3a             	push   0x3a(%ebx)
4739e8:	8d 45 cc             	lea    -0x34(%ebp),%eax
4739eb:	e8 bc 67 f9 ff       	call   0x40a1ac
4739f0:	8b 55 cc             	mov    -0x34(%ebp),%edx
4739f3:	8d 45 d0             	lea    -0x30(%ebp),%eax
4739f6:	e8 a9 16 f9 ff       	call   0x4050a4
4739fb:	8b 45 d0             	mov    -0x30(%ebp),%eax
4739fe:	50                   	push   %eax
4739ff:	8b 45 f0             	mov    -0x10(%ebp),%eax
473a02:	50                   	push   %eax
473a03:	8b 00                	mov    (%eax),%eax
473a05:	ff 50 6c             	call   *0x6c(%eax)
473a08:	e8 7b 28 f9 ff       	call   0x406288
473a0d:	8d 45 c8             	lea    -0x38(%ebp),%eax
473a10:	e8 63 27 f9 ff       	call   0x406178
473a15:	50                   	push   %eax
473a16:	8b 45 f0             	mov    -0x10(%ebp),%eax
473a19:	50                   	push   %eax
473a1a:	8d 45 c4             	lea    -0x3c(%ebp),%eax
473a1d:	e8 56 27 f9 ff       	call   0x406178
473a22:	50                   	push   %eax
473a23:	8b 45 f4             	mov    -0xc(%ebp),%eax
473a26:	50                   	push   %eax
473a27:	8b 00                	mov    (%eax),%eax
473a29:	ff 50 44             	call   *0x44(%eax)
473a2c:	e8 57 28 f9 ff       	call   0x406288
473a31:	8b 45 c4             	mov    -0x3c(%ebp),%eax
473a34:	50                   	push   %eax
473a35:	8b 00                	mov    (%eax),%eax
473a37:	ff 50 20             	call   *0x20(%eax)
473a3a:	e8 49 28 f9 ff       	call   0x406288
473a3f:	8d 45 f0             	lea    -0x10(%ebp),%eax
473a42:	e8 31 27 f9 ff       	call   0x406178
473a47:	50                   	push   %eax
473a48:	68 80 3d 47 00       	push   $0x473d80
473a4d:	8b 45 fc             	mov    -0x4(%ebp),%eax
473a50:	50                   	push   %eax
473a51:	8b 00                	mov    (%eax),%eax
473a53:	ff 90 d4 00 00 00    	call   *0xd4(%eax)
473a59:	e8 2a 28 f9 ff       	call   0x406288
473a5e:	0f b7 43 4c          	movzwl 0x4c(%ebx),%eax
473a62:	50                   	push   %eax
473a63:	ff 73 48             	push   0x48(%ebx)
473a66:	ff 73 44             	push   0x44(%ebx)
473a69:	8d 45 bc             	lea    -0x44(%ebp),%eax
473a6c:	e8 3b 67 f9 ff       	call   0x40a1ac
473a71:	8b 55 bc             	mov    -0x44(%ebp),%edx
473a74:	8d 45 c0             	lea    -0x40(%ebp),%eax
473a77:	e8 28 16 f9 ff       	call   0x4050a4
473a7c:	8b 45 c0             	mov    -0x40(%ebp),%eax
473a7f:	50                   	push   %eax
473a80:	8b 45 f0             	mov    -0x10(%ebp),%eax
473a83:	50                   	push   %eax
473a84:	8b 00                	mov    (%eax),%eax
473a86:	ff 50 6c             	call   *0x6c(%eax)
473a89:	e8 fa 27 f9 ff       	call   0x406288
473a8e:	8d 45 b8             	lea    -0x48(%ebp),%eax