4397f9:	ff 15 84 23 45 00    	call   *0x452384
4397ff:	8b 8d dc fd ff ff    	mov    -0x224(%ebp),%ecx
439805:	ff d6                	call   *%esi
439807:	8b f0                	mov    %eax,%esi
439809:	85 f6                	test   %esi,%esi
43980b:	79 0f                	jns    0x43981c
43980d:	53                   	push   %ebx
43980e:	56                   	push   %esi
43980f:	51                   	push   %ecx
439810:	8b 8d dc fd ff ff    	mov    -0x224(%ebp),%ecx
439816:	57                   	push   %edi
439817:	e8 e4 f1 ff ff       	call   0x438a00
43981c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
43981f:	8b c6                	mov    %esi,%eax
439821:	5f                   	pop    %edi
439822:	5e                   	pop    %esi
439823:	33 cd                	xor    %ebp,%ecx
439825:	5b                   	pop    %ebx
439826:	e8 25 37 01 00       	call   0x44cf50
43982b:	8b e5                	mov    %ebp,%esp
43982d:	5d                   	pop    %ebp
43982e:	c2 08 00             	ret    $0x8
439831:	e8 68 38 01 00       	call   0x44d09e
439836:	cc                   	int3
439837:	cc                   	int3
439838:	cc                   	int3
439839:	cc                   	int3
43983a:	cc                   	int3
43983b:	cc                   	int3
43983c:	cc                   	int3
43983d:	cc                   	int3
43983e:	cc                   	int3
43983f:	cc                   	int3
439840:	8b ff                	mov    %edi,%edi
439842:	55                   	push   %ebp
439843:	8b ec                	mov    %esp,%ebp
439845:	83 e4 f8             	and    $0xfffffff8,%esp
439848:	81 ec 7c 02 00 00    	sub    $0x27c,%esp
43984e:	a1 e4 f8 44 00       	mov    0x44f8e4,%eax
439853:	33 c4                	xor    %esp,%eax
439855:	89 84 24 78 02 00 00 	mov    %eax,0x278(%esp)
43985c:	53                   	push   %ebx
43985d:	8b 5d 0c             	mov    0xc(%ebp),%ebx
439860:	8d 54 24 70          	lea    0x70(%esp),%edx
439864:	56                   	push   %esi
439865:	57                   	push   %edi
439866:	8b f9                	mov    %ecx,%edi
439868:	89 5c 24 20          	mov    %ebx,0x20(%esp)
43986c:	8b 4d 08             	mov    0x8(%ebp),%ecx
43986f:	33 c0                	xor    %eax,%eax
439871:	66 89 44 24 78       	mov    %ax,0x78(%esp)
439876:	89 03                	mov    %eax,(%ebx)
439878:	8b 07                	mov    (%edi),%eax
43987a:	52                   	push   %edx
43987b:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
43987f:	51                   	push   %ecx
439880:	8b 70 14             	mov    0x14(%eax),%esi
439883:	8b ce                	mov    %esi,%ecx
439885:	89 7c 24 18          	mov    %edi,0x18(%esp)
439889:	c7 44 24 2c ff ff ff 	movl   $0xffffffff,0x2c(%esp)
439890:	ff
439891:	c7 44 24 24 ff ff ff 	movl   $0xffffffff,0x24(%esp)
439898:	ff
439899:	ff 15 84 23 45 00    	call   *0x452384
43989f:	8b cf                	mov    %edi,%ecx
4398a1:	ff d6                	call   *%esi
4398a3:	8b f8                	mov    %eax,%edi
4398a5:	85 ff                	test   %edi,%edi
4398a7:	0f 88 29 03 00 00    	js     0x439bd6
4398ad:	8b 74 24 10          	mov    0x10(%esp),%esi
4398b1:	83 c6 08             	add    $0x8,%esi
4398b4:	8b ce                	mov    %esi,%ecx
4398b6:	89 74 24 18          	mov    %esi,0x18(%esp)
4398ba:	e8 d1 ae fe ff       	call   0x424790
4398bf:	85 c0                	test   %eax,%eax
4398c1:	75 09                	jne    0x4398cc
4398c3:	6a ff                	push   $0xffffffff
4398c5:	8b ce                	mov    %esi,%ecx
4398c7:	e8 14 b2 fe ff       	call   0x424ae0
4398cc:	8b 4c 24 10          	mov    0x10(%esp),%ecx
4398d0:	8d 44 24 78          	lea    0x78(%esp),%eax
4398d4:	50                   	push   %eax
4398d5:	e8 66 f5 ff ff       	call   0x438e40
4398da:	89 44 24 14          	mov    %eax,0x14(%esp)
4398de:	85 c0                	test   %eax,%eax
4398e0:	74 47                	je     0x439929
4398e2:	8b b0 10 02 00 00    	mov    0x210(%eax),%esi
4398e8:	e8 13 3b ff ff       	call   0x42d400
4398ed:	2b c6                	sub    %esi,%eax
4398ef:	79 34                	jns    0x439925
4398f1:	8b 44 24 14          	mov    0x14(%esp),%eax
4398f5:	8b 80 2c 08 00 00    	mov    0x82c(%eax),%eax
4398fb:	85 c0                	test   %eax,%eax
4398fd:	74 26                	je     0x439925
4398ff:	8b 4c 24 18          	mov    0x18(%esp),%ecx
439903:	6a 01                	push   $0x1
439905:	89 03                	mov    %eax,(%ebx)
439907:	e8 34 b5 fd ff       	call   0x414e40
43990c:	33 c0                	xor    %eax,%eax
43990e:	5f                   	pop    %edi
43990f:	5e                   	pop    %esi
439910:	5b                   	pop    %ebx
439911:	8b 8c 24 78 02 00 00 	mov    0x278(%esp),%ecx
439918:	33 cc                	xor    %esp,%ecx
43991a:	e8 31 36 01 00       	call   0x44cf50
43991f:	8b e5                	mov    %ebp,%esp
439921:	5d                   	pop    %ebp
439922:	c2 08 00             	ret    $0x8
439925:	8b 74 24 18          	mov    0x18(%esp),%esi
439929:	6a 01                	push   $0x1
43992b:	8b ce                	mov    %esi,%ecx
43992d:	e8 0e b5 fd ff       	call   0x414e40
439932:	a1 e4 1c 45 00       	mov    0x451ce4,%eax
439937:	85 c0                	test   %eax,%eax
439939:	74 02                	je     0x43993d
43993b:	89 03                	mov    %eax,(%ebx)
43993d:	83 3b 00             	cmpl   $0x0,(%ebx)
439940:	0f 85 69 01 00 00    	jne    0x439aaf
439946:	6a 00                	push   $0x0
439948:	68 80 00 00 02       	push   $0x2000080
43994d:	6a 03                	push   $0x3
43994f:	6a 00                	push   $0x0
439951:	6a 07                	push   $0x7
439953:	68 80 00 00 00       	push   $0x80
439958:	ff 74 24 40          	push   0x40(%esp)
43995c:	ff 15 ec 20 45 00    	call   *0x4520ec
439962:	89 44 24 1c          	mov    %eax,0x1c(%esp)
439966:	83 f8 ff             	cmp    $0xffffffff,%eax
439969:	0f 84 99 00 00 00    	je     0x439a08
43996f:	8b 35 64 f7 44 00    	mov    0x44f764,%esi
439975:	33 c0                	xor    %eax,%eax
439977:	c7 44 24 2c 00 00 00 	movl   $0x0,0x2c(%esp)
43997e:	00
43997f:	c7 44 24 30 00 00 00 	movl   $0x0,0x30(%esp)
439986:	00
439987:	89 44 24 5c          	mov    %eax,0x5c(%esp)
43998b:	89 44 24 60          	mov    %eax,0x60(%esp)
43998f:	89 44 24 64          	mov    %eax,0x64(%esp)
439993:	89 44 24 68          	mov    %eax,0x68(%esp)
439997:	89 44 24 6c          	mov    %eax,0x6c(%esp)
43999b:	89 44 24 70          	mov    %eax,0x70(%esp)
43999f:	89 44 24 74          	mov    %eax,0x74(%esp)
4399a3:	85 f6                	test   %esi,%esi
4399a5:	75 0d                	jne    0x4399b4
4399a7:	e8 84 40 00 00       	call   0x43da30
4399ac:	8b 35 64 f7 44 00    	mov    0x44f764,%esi
4399b2:	eb 05                	jmp    0x4399b9
4399b4:	a1 60 f7 44 00       	mov    0x44f760,%eax
4399b9:	85 c0                	test   %eax,%eax
4399bb:	75 35                	jne    0x4399f2
4399bd:	85 f6                	test   %esi,%esi
4399bf:	75 0b                	jne    0x4399cc
4399c1:	e8 6a 40 00 00       	call   0x43da30
4399c6:	8b 35 64 f7 44 00    	mov    0x44f764,%esi
4399cc:	6a 0b                	push   $0xb
4399ce:	6a 1c                	push   $0x1c
4399d0:	8d 44 24 64          	lea    0x64(%esp),%eax
4399d4:	8b ce                	mov    %esi,%ecx
4399d6:	50                   	push   %eax
4399d7:	8d 44 24 38          	lea    0x38(%esp),%eax
4399db:	50                   	push   %eax
4399dc:	ff 74 24 2c          	push   0x2c(%esp)
4399e0:	ff 15 84 23 45 00    	call   *0x452384
4399e6:	ff d6                	call   *%esi
4399e8:	85 c0                	test   %eax,%eax
4399ea:	78 06                	js     0x4399f2
4399ec:	8b 44 24 68          	mov    0x68(%esp),%eax
4399f0:	89 03                	mov    %eax,(%ebx)
4399f2:	ff 74 24 1c          	push   0x1c(%esp)
4399f6:	ff 15 10 21 45 00    	call   *0x452110
4399fc:	8b 74 24 18          	mov    0x18(%esp),%esi
439a00:	c7 44 24 1c ff ff ff 	movl   $0xffffffff,0x1c(%esp)
439a07:	ff
439a08:	83 3b 00             	cmpl   $0x0,(%ebx)
439a0b:	0f 85 9e 00 00 00    	jne    0x439aaf
439a11:	8b 4c 24 10          	mov    0x10(%esp),%ecx
439a15:	33 c0                	xor    %eax,%eax
439a17:	89 44 24 34          	mov    %eax,0x34(%esp)
439a1b:	89 44 24 38          	mov    %eax,0x38(%esp)
439a1f:	89 44 24 3c          	mov    %eax,0x3c(%esp)
439a23:	89 44 24 40          	mov    %eax,0x40(%esp)
439a27:	89 44 24 44          	mov    %eax,0x44(%esp)
439a2b:	89 44 24 48          	mov    %eax,0x48(%esp)
439a2f:	89 44 24 4c          	mov    %eax,0x4c(%esp)
439a33:	89 44 24 58          	mov    %eax,0x58(%esp)
439a37:	89 44 24 54          	mov    %eax,0x54(%esp)
439a3b:	8d 44 24 24          	lea    0x24(%esp),%eax
439a3f:	50                   	push   %eax
439a40:	8d 44 24 7c          	lea    0x7c(%esp),%eax
439a44:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
439a4b:	00
439a4c:	50                   	push   %eax
439a4d:	c7 44 24 58 06 00 00 	movl   $0x6,0x58(%esp)
439a54:	00
439a55:	e8 d6 fb ff ff       	call   0x439630
439a5a:	8b f8                	mov    %eax,%edi
439a5c:	85 ff                	test   %edi,%edi
439a5e:	79 04                	jns    0x439a64
439a60:	33 ff                	xor    %edi,%edi
439a62:	eb 4b                	jmp    0x439aaf
439a64:	6a 00                	push   $0x0
439a66:	8d 44 24 18          	lea    0x18(%esp),%eax
439a6a:	50                   	push   %eax
439a6b:	6a 1c                	push   $0x1c
439a6d:	8d 44 24 40          	lea    0x40(%esp),%eax
439a71:	50                   	push   %eax
439a72:	6a 0c                	push   $0xc
439a74:	8d 44 24 64          	lea    0x64(%esp),%eax
439a78:	50                   	push   %eax
439a79:	68 00 14 2d 00       	push   $0x2d1400
439a7e:	ff 74 24 40          	push   0x40(%esp)
439a82:	ff 15 44 21 45 00    	call   *0x452144
439a88:	85 c0                	test   %eax,%eax
439a8a:	75 04                	jne    0x439a90
439a8c:	33 ff                	xor    %edi,%edi
439a8e:	eb 1f                	jmp    0x439aaf
439a90:	83 7c 24 14 18       	cmpl   $0x18,0x14(%esp)
439a95:	72 18                	jb     0x439aaf
439a97:	83 7c 24 38 18       	cmpl   $0x18,0x38(%esp)
439a9c:	72 11                	jb     0x439aaf
439a9e:	83 7c 24 34 1c       	cmpl   $0x1c,0x34(%esp)
439aa3:	72 0a                	jb     0x439aaf
439aa5:	8b 44 24 48          	mov    0x48(%esp),%eax
439aa9:	85 c0                	test   %eax,%eax
439aab:	74 02                	je     0x439aaf
439aad:	89 03                	mov    %eax,(%ebx)
439aaf:	8b 0b                	mov    (%ebx),%ecx
439ab1:	85 c9                	test   %ecx,%ecx
439ab3:	75 0d                	jne    0x439ac2
439ab5:	c7 03 00 02 00 00    	movl   $0x200,(%ebx)
439abb:	b9 00 02 00 00       	mov    $0x200,%ecx
439ac0:	eb 0c                	jmp    0x439ace
439ac2:	81 f9 00 02 00 00    	cmp    $0x200,%ecx
439ac8:	0f 82 27 01 00 00    	jb     0x439bf5
439ace:	8d 41 ff             	lea    -0x1(%ecx),%eax
439ad1:	85 c1                	test   %eax,%ecx
439ad3:	0f 85 1c 01 00 00    	jne    0x439bf5
439ad9:	8b ce                	mov    %esi,%ecx
439adb:	e8 b0 ac fe ff       	call   0x424790
439ae0:	85 c0                	test   %eax,%eax
439ae2:	75 09                	jne    0x439aed
439ae4:	6a ff                	push   $0xffffffff
439ae6:	8b ce                	mov    %esi,%ecx
439ae8:	e8 f3 af fe ff       	call   0x424ae0
439aed:	8b 4c 24 10          	mov    0x10(%esp),%ecx
439af1:	8d 44 24 78          	lea    0x78(%esp),%eax
439af5:	50                   	push   %eax
439af6:	e8 45 f3 ff ff       	call   0x438e40
439afb:	8b d8                	mov    %eax,%ebx
439afd:	85 db                	test   %ebx,%ebx
439aff:	75 35                	jne    0x439b36
439b01:	68 34 08 00 00       	push   $0x834
439b06:	50                   	push   %eax
439b07:	ff 35 00 12 45 00    	push   0x451200
439b0d:	ff 15 24 21 45 00    	call   *0x452124
439b13:	85 c0                	test   %eax,%eax
439b15:	74 79                	je     0x439b90
439b17:	8d 4c 24 78          	lea    0x78(%esp),%ecx
439b1b:	51                   	push   %ecx
439b1c:	8b c8                	mov    %eax,%ecx
439b1e:	e8 cd 40 00 00       	call   0x43dbf0
439b23:	8b d8                	mov    %eax,%ebx
439b25:	85 db                	test   %ebx,%ebx
439b27:	74 67                	je     0x439b90
439b29:	8b 4c 24 10          	mov    0x10(%esp),%ecx
439b2d:	53                   	push   %ebx
439b2e:	8d 49 0c             	lea    0xc(%ecx),%ecx
439b31:	e8 5a 3f 00 00       	call   0x43da90
439b36:	8b 44 24 20          	mov    0x20(%esp),%eax
439b3a:	8b b3 10 02 00 00    	mov    0x210(%ebx),%esi
439b40:	8b 00                	mov    (%eax),%eax
439b42:	89 44 24 14          	mov    %eax,0x14(%esp)
439b46:	e8 b5 38 ff ff       	call   0x42d400
439b4b:	2b c6                	sub    %esi,%eax
439b4d:	78 33                	js     0x439b82
439b4f:	33 c0                	xor    %eax,%eax
439b51:	66 89 83 14 02 00 00 	mov    %ax,0x214(%ebx)
439b58:	66 89 83 1c 04 00 00 	mov    %ax,0x41c(%ebx)
439b5f:	66 89 83 24 06 00 00 	mov    %ax,0x624(%ebx)
439b66:	89 83 2c 08 00 00    	mov    %eax,0x82c(%ebx)
439b6c:	89 83 30 08 00 00    	mov    %eax,0x830(%ebx)
439b72:	e8 89 38 ff ff       	call   0x42d400
439b77:	05 a0 86 01 00       	add    $0x186a0,%eax
439b7c:	89 83 10 02 00 00    	mov    %eax,0x210(%ebx)
439b82:	8b 44 24 14          	mov    0x14(%esp),%eax
439b86:	8b 74 24 18          	mov    0x18(%esp),%esi
439b8a:	89 83 2c 08 00 00    	mov    %eax,0x82c(%ebx)
439b90:	6a 01                	push   $0x1
439b92:	8b ce                	mov    %esi,%ecx
439b94:	e8 a7 b2 fd ff       	call   0x414e40
439b99:	85 ff                	test   %edi,%edi
439b9b:	79 11                	jns    0x439bae
439b9d:	6a 00                	push   $0x0
439b9f:	57                   	push   %edi
439ba0:	51                   	push   %ecx
439ba1:	ff 74 24 34          	push   0x34(%esp)
439ba5:	8b 4c 24 20          	mov    0x20(%esp),%ecx
439ba9:	e8 52 ee ff ff       	call   0x438a00
439bae:	8b 5c 24 20          	mov    0x20(%esp),%ebx
439bb2:	8b 44 24 1c          	mov    0x1c(%esp),%eax
439bb6:	83 f8 ff             	cmp    $0xffffffff,%eax
439bb9:	74 07                	je     0x439bc2
439bbb:	50                   	push   %eax
439bbc:	ff 15 10 21 45 00    	call   *0x452110
439bc2:	8b 44 24 24          	mov    0x24(%esp),%eax
439bc6:	83 f8 ff             	cmp    $0xffffffff,%eax
439bc9:	74 07                	je     0x439bd2
439bcb:	50                   	push   %eax
439bcc:	ff 15 10 21 45 00    	call   *0x452110
439bd2:	85 ff                	test   %edi,%edi
439bd4:	79 06                	jns    0x439bdc
439bd6:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
439bdc:	8b 8c 24 84 02 00 00 	mov    0x284(%esp),%ecx
439be3:	8b c7                	mov    %edi,%eax
439be5:	5f                   	pop    %edi
439be6:	5e                   	pop    %esi
439be7:	5b                   	pop    %ebx
439be8:	33 cc                	xor    %esp,%ecx
439bea:	e8 61 33 01 00       	call   0x44cf50
439bef:	8b e5                	mov    %ebp,%esp
439bf1:	5d                   	pop    %ebp
439bf2:	c2 08 00             	ret    $0x8
439bf5:	e8 f6 40 00 00       	call   0x43dcf0
439bfa:	83 c0 10             	add    $0x10,%eax
439bfd:	74 0a                	je     0x439c09
439bff:	e8 ec 40 00 00       	call   0x43dcf0
439c04:	83 c0 14             	add    $0x14,%eax
439c07:	eb 02                	jmp    0x439c0b
439c09:	33 c0                	xor    %eax,%eax
439c0b:	81 3d 30 1a 45 00 b9 	cmpl   $0xfffffdb9,0x451a30
439c12:	fd ff ff
439c15:	c7 00 c8 28 41 00    	movl   $0x4128c8,(%eax)
439c1b:	c7 40 04 0d 04 00 00 	movl   $0x40d,0x4(%eax)
439c22:	c7 40 08 b9 fd ff ff 	movl   $0xfffffdb9,0x8(%eax)
439c29:	75 06                	jne    0x439c31
439c2b:	ff 15 58 20 45 00    	call   *0x452058
439c31:	bf b9 fd ff ff       	mov    $0xfffffdb9,%edi
439c36:	e9 77 ff ff ff       	jmp    0x439bb2
439c3b:	cc                   	int3
439c3c:	cc                   	int3
439c3d:	cc                   	int3
439c3e:	cc                   	int3
439c3f:	cc                   	int3
439c40:	8b ff                	mov    %edi,%edi
439c42:	55                   	push   %ebp
439c43:	8b ec                	mov    %esp,%ebp
439c45:	56                   	push   %esi
439c46:	57                   	push   %edi
439c47:	ff 75 0c             	push   0xc(%ebp)
439c4a:	8b f9                	mov    %ecx,%edi