43a799:	6a 00                	push   $0x0
43a79b:	6a 02                	push   $0x2
43a79d:	ff 15 20 22 45 00    	call   *0x452220
43a7a3:	8b 35 10 f0 44 00    	mov    0x44f010,%esi
43a7a9:	8b ce                	mov    %esi,%ecx
43a7ab:	ff 15 84 23 45 00    	call   *0x452384
43a7b1:	ff d6                	call   *%esi
43a7b3:	e8 48 2c ff ff       	call   0x42d400
43a7b8:	2b c7                	sub    %edi,%eax
43a7ba:	85 c0                	test   %eax,%eax
43a7bc:	8b 44 24 24          	mov    0x24(%esp),%eax
43a7c0:	0f 8e 52 ff ff ff    	jle    0x43a718
43a7c6:	8b 7c 24 18          	mov    0x18(%esp),%edi
43a7ca:	8b 4c 24 10          	mov    0x10(%esp),%ecx
43a7ce:	57                   	push   %edi
43a7cf:	53                   	push   %ebx
43a7d0:	ff 74 24 24          	push   0x24(%esp)
43a7d4:	ff 74 24 2c          	push   0x2c(%esp)
43a7d8:	e8 03 e3 ff ff       	call   0x438ae0
43a7dd:	8b 8c 24 3c 04 00 00 	mov    0x43c(%esp),%ecx
43a7e4:	8b c3                	mov    %ebx,%eax
43a7e6:	5f                   	pop    %edi
43a7e7:	5e                   	pop    %esi
43a7e8:	5b                   	pop    %ebx
43a7e9:	33 cc                	xor    %esp,%ecx
43a7eb:	e8 60 27 01 00       	call   0x44cf50
43a7f0:	8b e5                	mov    %ebp,%esp
43a7f2:	5d                   	pop    %ebp
43a7f3:	c2 0c 00             	ret    $0xc
43a7f6:	cc                   	int3
43a7f7:	cc                   	int3
43a7f8:	cc                   	int3
43a7f9:	cc                   	int3
43a7fa:	cc                   	int3
43a7fb:	cc                   	int3
43a7fc:	cc                   	int3
43a7fd:	cc                   	int3
43a7fe:	cc                   	int3
43a7ff:	cc                   	int3
43a800:	8b ff                	mov    %edi,%edi
43a802:	55                   	push   %ebp
43a803:	8b ec                	mov    %esp,%ebp
43a805:	83 e4 f8             	and    $0xfffffff8,%esp
43a808:	81 ec 5c 0e 00 00    	sub    $0xe5c,%esp
43a80e:	a1 e4 f8 44 00       	mov    0x44f8e4,%eax
43a813:	33 c4                	xor    %esp,%eax
43a815:	89 84 24 58 0e 00 00 	mov    %eax,0xe58(%esp)
43a81c:	8b 45 0c             	mov    0xc(%ebp),%eax
43a81f:	8d 94 24 2c 04 00 00 	lea    0x42c(%esp),%edx
43a826:	53                   	push   %ebx
43a827:	8b d9                	mov    %ecx,%ebx
43a829:	89 44 24 18          	mov    %eax,0x18(%esp)
43a82d:	8b 4d 08             	mov    0x8(%ebp),%ecx
43a830:	56                   	push   %esi
43a831:	57                   	push   %edi
43a832:	8b 03                	mov    (%ebx),%eax
43a834:	33 ff                	xor    %edi,%edi
43a836:	52                   	push   %edx
43a837:	89 4c 24 28          	mov    %ecx,0x28(%esp)
43a83b:	51                   	push   %ecx
43a83c:	8b 70 1c             	mov    0x1c(%eax),%esi
43a83f:	8b ce                	mov    %esi,%ecx
43a841:	89 7c 24 24          	mov    %edi,0x24(%esp)
43a845:	ff 15 84 23 45 00    	call   *0x452384
43a84b:	8b cb                	mov    %ebx,%ecx
43a84d:	ff d6                	call   *%esi
43a84f:	8b f0                	mov    %eax,%esi
43a851:	85 f6                	test   %esi,%esi
43a853:	0f 88 38 02 00 00    	js     0x43aa91
43a859:	8b 03                	mov    (%ebx),%eax
43a85b:	8d 4c 24 28          	lea    0x28(%esp),%ecx
43a85f:	51                   	push   %ecx
43a860:	ff 74 24 24          	push   0x24(%esp)
43a864:	8b 70 1c             	mov    0x1c(%eax),%esi
43a867:	8b ce                	mov    %esi,%ecx
43a869:	ff 15 84 23 45 00    	call   *0x452384
43a86f:	8b cb                	mov    %ebx,%ecx
43a871:	ff d6                	call   *%esi
43a873:	8b f0                	mov    %eax,%esi
43a875:	85 f6                	test   %esi,%esi
43a877:	0f 88 14 02 00 00    	js     0x43aa91
43a87d:	8b 7c 24 24          	mov    0x24(%esp),%edi
43a881:	33 c0                	xor    %eax,%eax
43a883:	39 45 10             	cmp    %eax,0x10(%ebp)
43a886:	0f 94 c0             	sete   %al
43a889:	89 44 24 18          	mov    %eax,0x18(%esp)
43a88d:	8d 49 00             	lea    0x0(%ecx),%ecx
43a890:	50                   	push   %eax
43a891:	33 f6                	xor    %esi,%esi
43a893:	8d 44 24 2c          	lea    0x2c(%esp),%eax
43a897:	56                   	push   %esi
43a898:	56                   	push   %esi
43a899:	56                   	push   %esi
43a89a:	50                   	push   %eax
43a89b:	8d 84 24 4c 04 00 00 	lea    0x44c(%esp),%eax
43a8a2:	89 74 24 28          	mov    %esi,0x28(%esp)
43a8a6:	50                   	push   %eax
43a8a7:	89 74 24 28          	mov    %esi,0x28(%esp)
43a8ab:	ff 15 00 21 45 00    	call   *0x452100
43a8b1:	85 c0                	test   %eax,%eax
43a8b3:	0f 85 91 00 00 00    	jne    0x43a94a
43a8b9:	ff 15 6c 20 45 00    	call   *0x45206c
43a8bf:	8b 0b                	mov    (%ebx),%ecx
43a8c1:	50                   	push   %eax
43a8c2:	89 44 24 14          	mov    %eax,0x14(%esp)
43a8c6:	8b 71 10             	mov    0x10(%ecx),%esi
43a8c9:	8b ce                	mov    %esi,%ecx
43a8cb:	ff 15 84 23 45 00    	call   *0x452384
43a8d1:	8b cb                	mov    %ebx,%ecx
43a8d3:	ff d6                	call   *%esi
43a8d5:	8b f0                	mov    %eax,%esi
43a8d7:	89 74 24 14          	mov    %esi,0x14(%esp)
43a8db:	81 fe f8 fb ff ff    	cmp    $0xfffffbf8,%esi
43a8e1:	75 67                	jne    0x43a94a
43a8e3:	83 3d 7c 12 45 00 00 	cmpl   $0x0,0x45127c
43a8ea:	74 5e                	je     0x43a94a
43a8ec:	83 7c 24 1c 00       	cmpl   $0x0,0x1c(%esp)
43a8f1:	75 15                	jne    0x43a908
43a8f3:	c7 44 24 1c 01 00 00 	movl   $0x1,0x1c(%esp)
43a8fa:	00
43a8fb:	e8 00 2b ff ff       	call   0x42d400
43a900:	8b f8                	mov    %eax,%edi
43a902:	03 3d 7c 12 45 00    	add    0x45127c,%edi
43a908:	8b 35 14 f0 44 00    	mov    0x44f014,%esi
43a90e:	8b ce                	mov    %esi,%ecx
43a910:	ff 15 84 23 45 00    	call   *0x452384
43a916:	ff d6                	call   *%esi
43a918:	6a 00                	push   $0x0
43a91a:	6a 02                	push   $0x2
43a91c:	ff 15 20 22 45 00    	call   *0x452220
43a922:	8b 35 10 f0 44 00    	mov    0x44f010,%esi
43a928:	8b ce                	mov    %esi,%ecx
43a92a:	ff 15 84 23 45 00    	call   *0x452384
43a930:	ff d6                	call   *%esi
43a932:	e8 c9 2a ff ff       	call   0x42d400
43a937:	2b c7                	sub    %edi,%eax
43a939:	85 c0                	test   %eax,%eax
43a93b:	0f 8f 48 01 00 00    	jg     0x43aa89
43a941:	8b 44 24 18          	mov    0x18(%esp),%eax
43a945:	e9 46 ff ff ff       	jmp    0x43a890
43a94a:	85 f6                	test   %esi,%esi
43a94c:	0f 88 3b 01 00 00    	js     0x43aa8d
43a952:	8b 03                	mov    (%ebx),%eax
43a954:	8d 8c 24 30 02 00 00 	lea    0x230(%esp),%ecx
43a95b:	51                   	push   %ecx
43a95c:	8d 4c 24 2c          	lea    0x2c(%esp),%ecx
43a960:	51                   	push   %ecx
43a961:	8b 70 1c             	mov    0x1c(%eax),%esi
43a964:	8b ce                	mov    %esi,%ecx
43a966:	ff 15 84 23 45 00    	call   *0x452384
43a96c:	8b cb                	mov    %ebx,%ecx
43a96e:	ff d6                	call   *%esi
43a970:	85 c0                	test   %eax,%eax
43a972:	0f 88 11 01 00 00    	js     0x43aa89
43a978:	8b 33                	mov    (%ebx),%esi
43a97a:	8d 84 24 50 0a 00 00 	lea    0xa50(%esp),%eax
43a981:	50                   	push   %eax
43a982:	8d 84 24 5c 0c 00 00 	lea    0xc5c(%esp),%eax
43a989:	50                   	push   %eax
43a98a:	8b 76 20             	mov    0x20(%esi),%esi
43a98d:	8d 84 24 48 06 00 00 	lea    0x648(%esp),%eax
43a994:	50                   	push   %eax
43a995:	8d 84 24 3c 02 00 00 	lea    0x23c(%esp),%eax
43a99c:	8b ce                	mov    %esi,%ecx
43a99e:	50                   	push   %eax
43a99f:	ff 15 84 23 45 00    	call   *0x452384
43a9a5:	8b cb                	mov    %ebx,%ecx
43a9a7:	ff d6                	call   *%esi
43a9a9:	85 c0                	test   %eax,%eax
43a9ab:	0f 88 d8 00 00 00    	js     0x43aa89
43a9b1:	8b 33                	mov    (%ebx),%esi
43a9b3:	8d 84 24 48 08 00 00 	lea    0x848(%esp),%eax
43a9ba:	68 08 02 00 00       	push   $0x208
43a9bf:	50                   	push   %eax
43a9c0:	68 ec 28 41 00       	push   $0x4128ec
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