43a9c5:	8b 76 28             	mov    0x28(%esi),%esi
43a9c8:	8d 84 24 4c 06 00 00 	lea    0x64c(%esp),%eax
43a9cf:	68 f4 28 41 00       	push   $0x4128f4
43a9d4:	50                   	push   %eax
43a9d5:	8b ce                	mov    %esi,%ecx
43a9d7:	ff 15 84 23 45 00    	call   *0x452384
43a9dd:	8b cb                	mov    %ebx,%ecx
43a9df:	ff d6                	call   *%esi
43a9e1:	85 c0                	test   %eax,%eax
43a9e3:	0f 88 a0 00 00 00    	js     0x43aa89
43a9e9:	33 ff                	xor    %edi,%edi
43a9eb:	eb 03                	jmp    0x43a9f0
43a9ed:	8d 49 00             	lea    0x0(%ecx),%ecx
43a9f0:	85 ff                	test   %edi,%edi
43a9f2:	7e 2a                	jle    0x43aa1e
43a9f4:	8b 35 14 f0 44 00    	mov    0x44f014,%esi
43a9fa:	8b ce                	mov    %esi,%ecx
43a9fc:	ff 15 84 23 45 00    	call   *0x452384
43aa02:	ff d6                	call   *%esi
43aa04:	6a 00                	push   $0x0
43aa06:	6a 02                	push   $0x2
43aa08:	ff 15 20 22 45 00    	call   *0x452220
43aa0e:	8b 35 10 f0 44 00    	mov    0x44f010,%esi
43aa14:	8b ce                	mov    %esi,%ecx
43aa16:	ff 15 84 23 45 00    	call   *0x452384
43aa1c:	ff d6                	call   *%esi
43aa1e:	6a 00                	push   $0x0
43aa20:	68 06 01 00 a4       	push   $0xa4000106
43aa25:	6a 02                	push   $0x2
43aa27:	6a 00                	push   $0x0
43aa29:	6a 07                	push   $0x7
43aa2b:	6a 00                	push   $0x0
43aa2d:	8d 84 24 60 08 00 00 	lea    0x860(%esp),%eax
43aa34:	50                   	push   %eax
43aa35:	ff 15 ec 20 45 00    	call   *0x4520ec
43aa3b:	8b 33                	mov    (%ebx),%esi
43aa3d:	89 44 24 18          	mov    %eax,0x18(%esp)
43aa41:	ff 15 6c 20 45 00    	call   *0x45206c
43aa47:	8b 76 10             	mov    0x10(%esi),%esi
43aa4a:	8b ce                	mov    %esi,%ecx
43aa4c:	50                   	push   %eax
43aa4d:	ff 15 84 23 45 00    	call   *0x452384
43aa53:	8b cb                	mov    %ebx,%ecx
43aa55:	ff d6                	call   *%esi
43aa57:	8b 4c 24 18          	mov    0x18(%esp),%ecx
43aa5b:	83 f9 ff             	cmp    $0xffffffff,%ecx
43aa5e:	75 1e                	jne    0x43aa7e
43aa60:	3d f8 fb ff ff       	cmp    $0xfffffbf8,%eax
43aa65:	75 06                	jne    0x43aa6d
43aa67:	47                   	inc    %edi
43aa68:	83 ff 64             	cmp    $0x64,%edi
43aa6b:	7c 83                	jl     0x43a9f0
43aa6d:	8d 84 24 30 02 00 00 	lea    0x230(%esp),%eax
43aa74:	8b cb                	mov    %ebx,%ecx
43aa76:	50                   	push   %eax
43aa77:	e8 c4 11 00 00       	call   0x43bc40
43aa7c:	eb 0b                	jmp    0x43aa89
43aa7e:	85 c9                	test   %ecx,%ecx
43aa80:	74 07                	je     0x43aa89
43aa82:	51                   	push   %ecx
43aa83:	ff 15 10 21 45 00    	call   *0x452110
43aa89:	8b 74 24 14          	mov    0x14(%esp),%esi
43aa8d:	8b 7c 24 10          	mov    0x10(%esp),%edi
43aa91:	57                   	push   %edi
43aa92:	56                   	push   %esi
43aa93:	ff 74 24 28          	push   0x28(%esp)
43aa97:	8b cb                	mov    %ebx,%ecx
43aa99:	ff 74 24 30          	push   0x30(%esp)
43aa9d:	e8 3e e0 ff ff       	call   0x438ae0
43aaa2:	8b 8c 24 64 0e 00 00 	mov    0xe64(%esp),%ecx
43aaa9:	8b c6                	mov    %esi,%eax
43aaab:	5f                   	pop    %edi
43aaac:	5e                   	pop    %esi
43aaad:	5b                   	pop    %ebx
43aaae:	33 cc                	xor    %esp,%ecx
43aab0:	e8 9b 24 01 00       	call   0x44cf50
43aab5:	8b e5                	mov    %ebp,%esp
43aab7:	5d                   	pop    %ebp
43aab8:	c2 0c 00             	ret    $0xc
43aabb:	cc                   	int3
43aabc:	cc                   	int3
43aabd:	cc                   	int3
43aabe:	cc                   	int3
43aabf:	cc                   	int3
43aac0:	8b ff                	mov    %edi,%edi
43aac2:	55                   	push   %ebp
43aac3:	8b ec                	mov    %esp,%ebp
43aac5:	8b 55 10             	mov    0x10(%ebp),%edx
43aac8:	56                   	push   %esi
43aac9:	f7 da                	neg    %edx
43aacb:	57                   	push   %edi
43aacc:	ff 75 0c             	push   0xc(%ebp)
43aacf:	1b d2                	sbb    %edx,%edx
43aad1:	8b f9                	mov    %ecx,%edi
43aad3:	33 c0                	xor    %eax,%eax
43aad5:	81 e2 00 02 00 00    	and    $0x200,%edx
43aadb:	39 45 14             	cmp    %eax,0x14(%ebp)
43aade:	8b 37                	mov    (%edi),%esi
43aae0:	0f 95 c0             	setne  %al
43aae3:	0b d0                	or     %eax,%edx
43aae5:	52                   	push   %edx
43aae6:	ff 75 08             	push   0x8(%ebp)
43aae9:	8b 76 58             	mov    0x58(%esi),%esi
43aaec:	8b ce                	mov    %esi,%ecx
43aaee:	ff 15 84 23 45 00    	call   *0x452384
43aaf4:	8b cf                	mov    %edi,%ecx
43aaf6:	ff d6                	call   *%esi
43aaf8:	5f                   	pop    %edi
43aaf9:	5e                   	pop    %esi
43aafa:	5d                   	pop    %ebp
43aafb:	c2 10 00             	ret    $0x10
43aafe:	cc                   	int3
43aaff:	cc                   	int3
43ab00:	8b ff                	mov    %edi,%edi
43ab02:	55                   	push   %ebp
43ab03:	8b ec                	mov    %esp,%ebp
43ab05:	83 e4 f8             	and    $0xfffffff8,%esp
43ab08:	81 ec a4 02 00 00    	sub    $0x2a4,%esp
43ab0e:	a1 e4 f8 44 00       	mov    0x44f8e4,%eax
43ab13:	33 c4                	xor    %esp,%eax
43ab15:	89 84 24 a0 02 00 00 	mov    %eax,0x2a0(%esp)
43ab1c:	8b 45 10             	mov    0x10(%ebp),%eax
43ab1f:	89 44 24 28          	mov    %eax,0x28(%esp)
43ab23:	53                   	push   %ebx
43ab24:	8b d9                	mov    %ecx,%ebx
43ab26:	8b 4d 0c             	mov    0xc(%ebp),%ecx
43ab29:	8b c1                	mov    %ecx,%eax
43ab2b:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
43ab2f:	25 00 02 00 00       	and    $0x200,%eax
43ab34:	89 5c 24 08          	mov    %ebx,0x8(%esp)
43ab38:	89 44 24 10          	mov    %eax,0x10(%esp)
43ab3c:	8b c1                	mov    %ecx,%eax
43ab3e:	83 e0 04             	and    $0x4,%eax
43ab41:	89 44 24 3c          	mov    %eax,0x3c(%esp)
43ab45:	8b c1                	mov    %ecx,%eax
43ab47:	25 00 01 00 00       	and    $0x100,%eax
43ab4c:	89 44 24 28          	mov    %eax,0x28(%esp)
43ab50:	8b c1                	mov    %ecx,%eax
43ab52:	56                   	push   %esi
43ab53:	83 e0 02             	and    $0x2,%eax
43ab56:	8b f1                	mov    %ecx,%esi
43ab58:	57                   	push   %edi
43ab59:	8b 7d 08             	mov    0x8(%ebp),%edi
43ab5c:	33 c9                	xor    %ecx,%ecx
43ab5e:	89 44 24 3c          	mov    %eax,0x3c(%esp)
43ab62:	83 e6 01             	and    $0x1,%esi
43ab65:	33 c0                	xor    %eax,%eax
43ab67:	89 74 24 4c          	mov    %esi,0x4c(%esp)
43ab6b:	6a 34                	push   $0x34
43ab6d:	50                   	push   %eax
43ab6e:	66 89 84 24 a8 00 00 	mov    %ax,0xa8(%esp)
43ab75:	00
43ab76:	89 44 24 34          	mov    %eax,0x34(%esp)
43ab7a:	8d 44 24 74          	lea    0x74(%esp),%eax
43ab7e:	50                   	push   %eax
43ab7f:	89 4c 24 28          	mov    %ecx,0x28(%esp)
43ab83:	89 4c 24 54          	mov    %ecx,0x54(%esp)
43ab87:	e8 d5 2e 01 00       	call   0x44da61
43ab8c:	33 c0                	xor    %eax,%eax
43ab8e:	c7 44 24 5c 00 00 00 	movl   $0x0,0x5c(%esp)
43ab95:	00
43ab96:	83 c4 0c             	add    $0xc,%esp
43ab99:	89 44 24 38          	mov    %eax,0x38(%esp)
43ab9d:	8b c6                	mov    %esi,%eax
43ab9f:	83 f0 01             	xor    $0x1,%eax
43aba2:	40                   	inc    %eax
43aba3:	68 88 02 00 00       	push   $0x288
43aba8:	6a 00                	push   $0x0
43abaa:	ff 35 00 12 45 00    	push   0x451200
43abb0:	c1 e0 1c             	shl    $0x1c,%eax
43abb3:	89 44 24 2c          	mov    %eax,0x2c(%esp)
43abb7:	ff 15 24 21 45 00    	call   *0x452124
43abbd:	85 c0                	test   %eax,%eax
43abbf:	0f 84 b4 04 00 00    	je     0x43b079
43abc5:	8b c8                	mov    %eax,%ecx
43abc7:	e8 84 d2 00 00       	call   0x447e50
43abcc:	8b f0                	mov    %eax,%esi
43abce:	89 74 24 28          	mov    %esi,0x28(%esp)
43abd2:	85 f6                	test   %esi,%esi
43abd4:	0f 84 a5 04 00 00    	je     0x43b07f
43abda:	83 7c 24 30 00       	cmpl   $0x0,0x30(%esp)
43abdf:	74 13                	je     0x43abf4
43abe1:	8d 44 24 48          	lea    0x48(%esp),%eax
43abe5:	8b cb                	mov    %ebx,%ecx
43abe7:	50                   	push   %eax
43abe8:	6a 01                	push   $0x1
43abea:	68 2c 29 41 00       	push   $0x41292c
43abef:	e8 ec 0c 00 00       	call   0x43b8e0
43abf4:	8b 03                	mov    (%ebx),%eax
43abf6:	8d 8c 24 a0 00 00 00 	lea    0xa0(%esp),%ecx
43abfd:	51                   	push   %ecx
43abfe:	57                   	push   %edi
43abff:	8b 70 1c             	mov    0x1c(%eax),%esi
43ac02:	8b ce                	mov    %esi,%ecx
43ac04:	ff 15 84 23 45 00    	call   *0x452384
43ac0a:	8b cb                	mov    %ebx,%ecx
43ac0c:	ff d6                	call   *%esi
43ac0e:	8b f8                	mov    %eax,%edi
43ac10:	85 ff                	test   %edi,%edi
43ac12:	0f 88 a8 04 00 00    	js     0x43b0c0
43ac18:	8b 44 24 30          	mov    0x30(%esp),%eax
43ac1c:	f7 d8                	neg    %eax
43ac1e:	1b c0                	sbb    %eax,%eax
43ac20:	33 d2                	xor    %edx,%edx
43ac22:	25 00 00 00 04       	and    $0x4000000,%eax
43ac27:	39 54 24 18          	cmp    %edx,0x18(%esp)
43ac2b:	89 44 24 40          	mov    %eax,0x40(%esp)
43ac2f:	0f 95 c2             	setne  %dl
43ac32:	42                   	inc    %edx
43ac33:	89 54 24 18          	mov    %edx,0x18(%esp)
43ac37:	eb 07                	jmp    0x43ac40
43ac39:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
43ac40:	33 ff                	xor    %edi,%edi
43ac42:	89 7c 24 24          	mov    %edi,0x24(%esp)
43ac46:	39 7c 24 44          	cmp    %edi,0x44(%esp)
43ac4a:	75 0b                	jne    0x43ac57
43ac4c:	b9 80 00 00 c0       	mov    $0xc0000080,%ecx
43ac51:	39 7c 24 3c          	cmp    %edi,0x3c(%esp)
43ac55:	74 05                	je     0x43ac5c
43ac57:	b9 80 00 00 40       	mov    $0x40000080,%ecx
43ac5c:	6a 00                	push   $0x0
43ac5e:	0b c1                	or     %ecx,%eax
43ac60:	0b 44 24 24          	or     0x24(%esp),%eax
43ac64:	50                   	push   %eax
43ac65:	52                   	push   %edx
43ac66:	6a 00                	push   $0x0
43ac68:	6a 00                	push   $0x0
43ac6a:	68 00 00 01 c0       	push   $0xc0010000
43ac6f:	8d 84 24 b8 00 00 00 	lea    0xb8(%esp),%eax
43ac76:	50                   	push   %eax
43ac77:	ff 15 ec 20 45 00    	call   *0x4520ec
43ac7d:	8b d8                	mov    %eax,%ebx
43ac7f:	83 fb ff             	cmp    $0xffffffff,%ebx
43ac82:	75 24                	jne    0x43aca8
43ac84:	ff 15 6c 20 45 00    	call   *0x45206c
43ac8a:	8b 7c 24 10          	mov    0x10(%esp),%edi
43ac8e:	8b c8                	mov    %eax,%ecx
43ac90:	89 4c 24 24          	mov    %ecx,0x24(%esp)
43ac94:	51                   	push   %ecx
43ac95:	8b 07                	mov    (%edi),%eax
43ac97:	8b 70 10             	mov    0x10(%eax),%esi
43ac9a:	8b ce                	mov    %esi,%ecx
43ac9c:	ff 15 84 23 45 00    	call   *0x452384
43aca2:	8b cf                	mov    %edi,%ecx
43aca4:	ff d6                	call   *%esi
43aca6:	8b f8                	mov    %eax,%edi
43aca8:	57                   	push   %edi
43aca9:	8d 4c 24 54          	lea    0x54(%esp),%ecx
43acad:	e8 be dc ff ff       	call   0x438970
43acb2:	8b 54 24 18          	mov    0x18(%esp),%edx
43acb6:	85 c0                	test   %eax,%eax
43acb8:	8b 44 24 40          	mov    0x40(%esp),%eax
43acbc:	75 82                	jne    0x43ac40
43acbe:	85 ff                	test   %edi,%edi
43acc0:	0f 88 5b 03 00 00    	js     0x43b021
43acc6:	6a 02                	push   $0x2
43acc8:	6a 02                	push   $0x2
43acca:	53                   	push   %ebx
43accb:	ff 15 0c 21 45 00    	call   *0x45210c
43acd1:	8d 44 24 6c          	lea    0x6c(%esp),%eax
43acd5:	50                   	push   %eax
43acd6:	53                   	push   %ebx
43acd7:	ff 15 98 20 45 00    	call   *0x452098
43acdd:	85 c0                	test   %eax,%eax
43acdf:	75 2c                	jne    0x43ad0d
43ace1:	ff 15 6c 20 45 00    	call   *0x45206c
43ace7:	8b 7c 24 10          	mov    0x10(%esp),%edi
43aceb:	8b c8                	mov    %eax,%ecx
43aced:	89 4c 24 24          	mov    %ecx,0x24(%esp)
43acf1:	51                   	push   %ecx
43acf2:	8b 07                	mov    (%edi),%eax
43acf4:	8b 70 10             	mov    0x10(%eax),%esi
43acf7:	8b ce                	mov    %esi,%ecx
43acf9:	ff 15 84 23 45 00    	call   *0x452384
43acff:	8b cf                	mov    %edi,%ecx
43ad01:	ff d6                	call   *%esi
43ad03:	8b f8                	mov    %eax,%edi
43ad05:	85 ff                	test   %edi,%edi
43ad07:	0f 88 14 03 00 00    	js     0x43b021
43ad0d:	8b 8c 24 8c 00 00 00 	mov    0x8c(%esp),%ecx
43ad14:	8d 94 24 a0 00 00 00 	lea    0xa0(%esp),%edx
43ad1b:	8b 74 24 10          	mov    0x10(%esp),%esi
43ad1f:	33 c0                	xor    %eax,%eax
43ad21:	03 84 24 90 00 00 00 	add    0x90(%esp),%eax
43ad28:	89 44 24 50          	mov    %eax,0x50(%esp)
43ad2c:	8b 44 24 6c          	mov    0x6c(%esp),%eax
43ad30:	83 d1 00             	adc    $0x0,%ecx
43ad33:	c1 e8 0b             	shr    $0xb,%eax
43ad36:	83 e0 01             	and    $0x1,%eax
43ad39:	89 4c 24 3c          	mov    %ecx,0x3c(%esp)
43ad3d:	89 44 24 40          	mov    %eax,0x40(%esp)
43ad41:	8b ce                	mov    %esi,%ecx
43ad43:	8d 44 24 18          	lea    0x18(%esp),%eax
43ad47:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
43ad4e:	00
43ad4f:	50                   	push   %eax
43ad50:	e8 8b 23 00 00       	call   0x43d0e0
43ad55:	8b f8                	mov    %eax,%edi
43ad57:	85 ff                	test   %edi,%edi
43ad59:	0f 88 e4 02 00 00    	js     0x43b043
43ad5f:	8b 44 24 18          	mov    0x18(%esp),%eax
43ad63:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
43ad67:	89 44 24 1c          	mov    %eax,0x1c(%esp)
43ad6b:	8b 06                	mov    (%esi),%eax
43ad6d:	51                   	push   %ecx
43ad6e:	8d 8c 24 a4 00 00 00 	lea    0xa4(%esp),%ecx
43ad75:	51                   	push   %ecx
43ad76:	8b 70 08             	mov    0x8(%eax),%esi
43ad79:	8b ce                	mov    %esi,%ecx
43ad7b:	ff 15 84 23 45 00    	call   *0x452384
43ad81:	8b 4c 24 18          	mov    0x18(%esp),%ecx
43ad85:	ff d6                	call   *%esi
43ad87:	8b f8                	mov    %eax,%edi
43ad89:	85 ff                	test   %edi,%edi
43ad8b:	0f 88 b2 02 00 00    	js     0x43b043
43ad91:	8b 44 24 2c          	mov    0x2c(%esp),%eax
43ad95:	3d 00 10 00 00       	cmp    $0x1000,%eax
43ad9a:	76 09                	jbe    0x43ada5
43ad9c:	b8 00 10 00 00       	mov    $0x1000,%eax
43ada1:	89 44 24 2c          	mov    %eax,0x2c(%esp)
43ada5:	f7 44 24 20 00 00 00 	testl  $0x20000000,0x20(%esp)
43adac:	20
43adad:	8b c8                	mov    %eax,%ecx
43adaf:	75 05                	jne    0x43adb6
43adb1:	b9 01 00 00 00       	mov    $0x1,%ecx
43adb6:	83 7c 24 40 00       	cmpl   $0x0,0x40(%esp)
43adbb:	0f 84 9a 01 00 00    	je     0x43af5b
43adc1:	83 7c 24 30 00       	cmpl   $0x0,0x30(%esp)
43adc6:	0f 85 8f 01 00 00    	jne    0x43af5b
43adcc:	33 c0                	xor    %eax,%eax
43adce:	50                   	push   %eax
43adcf:	50                   	push   %eax
43add0:	50                   	push   %eax
43add1:	50                   	push   %eax
43add2:	66 89 44 24 24       	mov    %ax,0x24(%esp)
43add7:	89 44 24 68          	mov    %eax,0x68(%esp)
43addb:	89 44 24 6c          	mov    %eax,0x6c(%esp)
43addf:	89 44 24 70          	mov    %eax,0x70(%esp)
43ade3:	89 44 24 74          	mov    %eax,0x74(%esp)
43ade7:	89 44 24 78          	mov    %eax,0x78(%esp)
43adeb:	89 44 24 30          	mov    %eax,0x30(%esp)
43adef:	ff 15 2c 22 45 00    	call   *0x45222c
43adf5:	89 44 24 38          	mov    %eax,0x38(%esp)
43adf9:	85 c0                	test   %eax,%eax
43adfb:	0f 84 14 01 00 00    	je     0x43af15
43ae01:	89 44 24 68          	mov    %eax,0x68(%esp)
43ae05:	8d 44 24 58          	lea    0x58(%esp),%eax
43ae09:	50                   	push   %eax
43ae0a:	8d 44 24 24          	lea    0x24(%esp),%eax
43ae0e:	50                   	push   %eax