43a887:	2b 41 10             	sub    0x10(%ecx),%eax
43a88a:	8b 09                	mov    (%ecx),%ecx
43a88c:	03 f0                	add    %eax,%esi
43a88e:	83 d2 00             	adc    $0x0,%edx
43a891:	85 c9                	test   %ecx,%ecx
43a893:	75 ef                	jne    0x43a884
43a895:	8b 4d e0             	mov    -0x20(%ebp),%ecx
43a898:	33 c0                	xor    %eax,%eax
43a89a:	03 ce                	add    %esi,%ecx
43a89c:	13 c2                	adc    %edx,%eax
43a89e:	50                   	push   %eax
43a89f:	51                   	push   %ecx
43a8a0:	8b cb                	mov    %ebx,%ecx
43a8a2:	e8 a9 f9 ff ff       	call   0x43a250
43a8a7:	83 c4 08             	add    $0x8,%esp
43a8aa:	c7 45 e8 ff ff ff ff 	movl   $0xffffffff,-0x18(%ebp)
43a8b1:	8d 45 e8             	lea    -0x18(%ebp),%eax
43a8b4:	c7 45 ec ff ff ff ff 	movl   $0xffffffff,-0x14(%ebp)
43a8bb:	6a 01                	push   $0x1
43a8bd:	68 40 4e 4c 00       	push   $0x4c4e40
43a8c2:	50                   	push   %eax
43a8c3:	8b 45 c0             	mov    -0x40(%ebp),%eax
43a8c6:	53                   	push   %ebx
43a8c7:	8b 70 7c             	mov    0x7c(%eax),%esi
43a8ca:	8b ce                	mov    %esi,%ecx
43a8cc:	ff 15 d4 e2 49 00    	call   *0x49e2d4
43a8d2:	8d 4d c0             	lea    -0x40(%ebp),%ecx
43a8d5:	ff d6                	call   *%esi
43a8d7:	8d 4d c0             	lea    -0x40(%ebp),%ecx
43a8da:	c7 45 c0 30 70 4b 00 	movl   $0x4b7030,-0x40(%ebp)
43a8e1:	c7 45 c4 20 70 4b 00 	movl   $0x4b7020,-0x3c(%ebp)
43a8e8:	e8 a3 23 02 00       	call   0x45cc90
43a8ed:	8b 4d f4             	mov    -0xc(%ebp),%ecx
43a8f0:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
43a8f7:	59                   	pop    %ecx
43a8f8:	5f                   	pop    %edi
43a8f9:	5e                   	pop    %esi
43a8fa:	5b                   	pop    %ebx
43a8fb:	8b 4d f0             	mov    -0x10(%ebp),%ecx
43a8fe:	33 cd                	xor    %ebp,%ecx
43a900:	e8 c5 f0 02 00       	call   0x4699ca
43a905:	8b e5                	mov    %ebp,%esp
43a907:	5d                   	pop    %ebp
43a908:	c2 04 00             	ret    $0x4
43a90b:	cc                   	int3
43a90c:	cc                   	int3
43a90d:	cc                   	int3
43a90e:	cc                   	int3
43a90f:	cc                   	int3
43a910:	55                   	push   %ebp
43a911:	8b ec                	mov    %esp,%ebp
43a913:	83 e4 f8             	and    $0xfffffff8,%esp
43a916:	83 ec 1c             	sub    $0x1c,%esp
43a919:	53                   	push   %ebx
43a91a:	8b 5d 08             	mov    0x8(%ebp),%ebx
43a91d:	56                   	push   %esi
43a91e:	57                   	push   %edi
43a91f:	8b f9                	mov    %ecx,%edi
43a921:	8d 4c 24 12          	lea    0x12(%esp),%ecx
43a925:	8b 03                	mov    (%ebx),%eax
43a927:	51                   	push   %ecx
43a928:	89 7c 24 20          	mov    %edi,0x20(%esp)
43a92c:	8b 70 48             	mov    0x48(%eax),%esi
43a92f:	8b ce                	mov    %esi,%ecx
43a931:	ff 15 d4 e2 49 00    	call   *0x49e2d4
43a937:	8b cb                	mov    %ebx,%ecx
43a939:	ff d6                	call   *%esi
43a93b:	85 c0                	test   %eax,%eax
43a93d:	0f 84 99 01 00 00    	je     0x43aadc
43a943:	80 7c 24 12 06       	cmpb   $0x6,0x12(%esp)
43a948:	0f 85 8e 01 00 00    	jne    0x43aadc
43a94e:	8d 44 24 13          	lea    0x13(%esp),%eax
43a952:	8b cb                	mov    %ebx,%ecx
43a954:	50                   	push   %eax
43a955:	8d 54 24 24          	lea    0x24(%esp),%edx
43a959:	e8 d2 f9 ff ff       	call   0x43a330
43a95e:	83 c4 04             	add    $0x4,%esp
43a961:	84 c0                	test   %al,%al
43a963:	0f 84 73 01 00 00    	je     0x43aadc
43a969:	8b 44 24 24          	mov    0x24(%esp),%eax
43a96d:	8b 4c 24 20          	mov    0x20(%esp),%ecx
43a971:	85 c0                	test   %eax,%eax
43a973:	0f 85 63 01 00 00    	jne    0x43aadc
43a979:	85 c9                	test   %ecx,%ecx
43a97b:	75 04                	jne    0x43a981
43a97d:	33 d2                	xor    %edx,%edx
43a97f:	eb 05                	jmp    0x43a986
43a981:	ba 01 00 00 00       	mov    $0x1,%edx
43a986:	33 c0                	xor    %eax,%eax
43a988:	3b c1                	cmp    %ecx,%eax
43a98a:	1b c0                	sbb    %eax,%eax
43a98c:	f7 d8                	neg    %eax
43a98e:	3b d0                	cmp    %eax,%edx
43a990:	0f 85 46 01 00 00    	jne    0x43aadc
43a996:	80 7c 24 13 00       	cmpb   $0x0,0x13(%esp)
43a99b:	0f 84 3b 01 00 00    	je     0x43aadc
43a9a1:	83 f9 01             	cmp    $0x1,%ecx
43a9a4:	0f 82 32 01 00 00    	jb     0x43aadc
43a9aa:	8b 03                	mov    (%ebx),%eax
43a9ac:	8d 4c 24 12          	lea    0x12(%esp),%ecx
43a9b0:	51                   	push   %ecx
43a9b1:	8b 70 48             	mov    0x48(%eax),%esi
43a9b4:	8b ce                	mov    %esi,%ecx
43a9b6:	ff 15 d4 e2 49 00    	call   *0x49e2d4
43a9bc:	8b cb                	mov    %ebx,%ecx
43a9be:	ff d6                	call   *%esi
43a9c0:	85 c0                	test   %eax,%eax
43a9c2:	0f 84 14 01 00 00    	je     0x43aadc
43a9c8:	8b 47 04             	mov    0x4(%edi),%eax
43a9cb:	8b c8                	mov    %eax,%ecx
43a9cd:	8b 17                	mov    (%edi),%edx
43a9cf:	2b ca                	sub    %edx,%ecx
43a9d1:	8b 5c 24 20          	mov    0x20(%esp),%ebx
43a9d5:	4b                   	dec    %ebx
43a9d6:	c1 f9 02             	sar    $0x2,%ecx
43a9d9:	89 5c 24 14          	mov    %ebx,0x14(%esp)
43a9dd:	89 44 24 18          	mov    %eax,0x18(%esp)
43a9e1:	83 f9 02             	cmp    $0x2,%ecx
43a9e4:	76 05                	jbe    0x43a9eb
43a9e6:	8d 42 08             	lea    0x8(%edx),%eax
43a9e9:	eb 3a                	jmp    0x43aa25
43a9eb:	73 3b                	jae    0x43aa28
43a9ed:	8b 47 08             	mov    0x8(%edi),%eax
43a9f0:	2b c2                	sub    %edx,%eax
43a9f2:	c1 f8 02             	sar    $0x2,%eax
43a9f5:	83 f8 02             	cmp    $0x2,%eax
43a9f8:	73 0c                	jae    0x43aa06
43a9fa:	83 ec 08             	sub    $0x8,%esp
43a9fd:	8b cf                	mov    %edi,%ecx
43a9ff:	e8 ec 12 00 00       	call   0x43bcf0
43aa04:	eb 22                	jmp    0x43aa28
43aa06:	be 02 00 00 00       	mov    $0x2,%esi
43aa0b:	2b f1                	sub    %ecx,%esi
43aa0d:	c1 e6 02             	shl    $0x2,%esi
43aa10:	56                   	push   %esi
43aa11:	6a 00                	push   $0x0
43aa13:	ff 74 24 20          	push   0x20(%esp)
43aa17:	e8 94 11 03 00       	call   0x46bbb0
43aa1c:	8b 44 24 24          	mov    0x24(%esp),%eax
43aa20:	83 c4 0c             	add    $0xc,%esp
43aa23:	03 c6                	add    %esi,%eax
43aa25:	89 47 04             	mov    %eax,0x4(%edi)
43aa28:	0f b6 4c 24 12       	movzbl 0x12(%esp),%ecx
43aa2d:	b8 cd cc cc cc       	mov    $0xcccccccd,%eax
43aa32:	f7 e1                	mul    %ecx
43aa34:	8b 07                	mov    (%edi),%eax
43aa36:	b9 28 00 00 00       	mov    $0x28,%ecx
43aa3b:	c1 ea 05             	shr    $0x5,%edx
43aa3e:	89 10                	mov    %edx,(%eax)
43aa40:	33 d2                	xor    %edx,%edx
43aa42:	0f b6 44 24 12       	movzbl 0x12(%esp),%eax
43aa47:	f7 f1                	div    %ecx
43aa49:	8b 07                	mov    (%edi),%eax
43aa4b:	89 50 04             	mov    %edx,0x4(%eax)
43aa4e:	85 db                	test   %ebx,%ebx
43aa50:	0f 84 7d 00 00 00    	je     0x43aad3
43aa56:	33 f6                	xor    %esi,%esi
43aa58:	33 db                	xor    %ebx,%ebx
43aa5a:	33 c0                	xor    %eax,%eax
43aa5c:	89 44 24 18          	mov    %eax,0x18(%esp)
43aa60:	8b 45 08             	mov    0x8(%ebp),%eax
43aa63:	8d 4c 24 13          	lea    0x13(%esp),%ecx
43aa67:	51                   	push   %ecx
43aa68:	8b 00                	mov    (%eax),%eax
43aa6a:	8b 78 48             	mov    0x48(%eax),%edi
43aa6d:	8b cf                	mov    %edi,%ecx
43aa6f:	ff 15 d4 e2 49 00    	call   *0x49e2d4
43aa75:	8b 4d 08             	mov    0x8(%ebp),%ecx
43aa78:	ff d7                	call   *%edi
43aa7a:	85 c0                	test   %eax,%eax
43aa7c:	74 5e                	je     0x43aadc
43aa7e:	46                   	inc    %esi
43aa7f:	81 fb 00 00 00 02    	cmp    $0x2000000,%ebx
43aa85:	73 55                	jae    0x43aadc
43aa87:	8a 4c 24 13          	mov    0x13(%esp),%cl
43aa8b:	8b 54 24 18          	mov    0x18(%esp),%edx
43aa8f:	0f b6 d9             	movzbl %cl,%ebx
43aa92:	83 e3 7f             	and    $0x7f,%ebx
43aa95:	c1 e2 07             	shl    $0x7,%edx
43aa98:	03 da                	add    %edx,%ebx
43aa9a:	89 5c 24 20          	mov    %ebx,0x20(%esp)
43aa9e:	89 5c 24 18          	mov    %ebx,0x18(%esp)
43aaa2:	84 c9                	test   %cl,%cl
43aaa4:	78 ba                	js     0x43aa60
43aaa6:	3b 74 24 14          	cmp    0x14(%esp),%esi
43aaaa:	77 30                	ja     0x43aadc
43aaac:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
43aab0:	8b 47 04             	mov    0x4(%edi),%eax
43aab3:	3b 47 08             	cmp    0x8(%edi),%eax
43aab6:	74 08                	je     0x43aac0
43aab8:	89 18                	mov    %ebx,(%eax)
43aaba:	83 47 04 04          	addl   $0x4,0x4(%edi)
43aabe:	eb 0d                	jmp    0x43aacd
43aac0:	8d 4c 24 20          	lea    0x20(%esp),%ecx
43aac4:	51                   	push   %ecx
43aac5:	50                   	push   %eax
43aac6:	8b cf                	mov    %edi,%ecx
43aac8:	e8 33 13 00 00       	call   0x43be00
43aacd:	29 74 24 14          	sub    %esi,0x14(%esp)
43aad1:	75 83                	jne    0x43aa56
43aad3:	5f                   	pop    %edi
43aad4:	5e                   	pop    %esi
43aad5:	5b                   	pop    %ebx
43aad6:	8b e5                	mov    %ebp,%esp
43aad8:	5d                   	pop    %ebp
43aad9:	c2 04 00             	ret    $0x4
43aadc:	e8 4f f6 ff ff       	call   0x43a130
43aae1:	cc                   	int3
43aae2:	cc                   	int3
43aae3:	cc                   	int3
43aae4:	cc                   	int3
43aae5:	cc                   	int3
43aae6:	cc                   	int3
43aae7:	cc                   	int3
43aae8:	cc                   	int3
43aae9:	cc                   	int3
43aaea:	cc                   	int3
43aaeb:	cc                   	int3
43aaec:	cc                   	int3
43aaed:	cc                   	int3
43aaee:	cc                   	int3
43aaef:	cc                   	int3
43aaf0:	55                   	push   %ebp
43aaf1:	8b ec                	mov    %esp,%ebp
43aaf3:	6a ff                	push   $0xffffffff
43aaf5:	68 75 a3 49 00       	push   $0x49a375
43aafa:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
43ab00:	50                   	push   %eax
43ab01:	83 ec 0c             	sub    $0xc,%esp
43ab04:	56                   	push   %esi
43ab05:	a1 14 40 4c 00       	mov    0x4c4014,%eax
43ab0a:	33 c5                	xor    %ebp,%eax
43ab0c:	50                   	push   %eax
43ab0d:	8d 45 f4             	lea    -0xc(%ebp),%eax
43ab10:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
43ab16:	8b f1                	mov    %ecx,%esi
43ab18:	8b 45 08             	mov    0x8(%ebp),%eax
43ab1b:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
43ab22:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
43ab29:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
43ab30:	50                   	push   %eax
43ab31:	8d 4d e8             	lea    -0x18(%ebp),%ecx
43ab34:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
43ab3b:	e8 d0 fd ff ff       	call   0x43a910
43ab40:	8d 55 e8             	lea    -0x18(%ebp),%edx
43ab43:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
43ab4a:	8b ce                	mov    %esi,%ecx
43ab4c:	e8 4f 0e 00 00       	call   0x43b9a0
43ab51:	84 c0                	test   %al,%al
43ab53:	74 45                	je     0x43ab9a
43ab55:	8b 55 e8             	mov    -0x18(%ebp),%edx
43ab58:	85 d2                	test   %edx,%edx
43ab5a:	74 2c                	je     0x43ab88
43ab5c:	8b 4d f0             	mov    -0x10(%ebp),%ecx
43ab5f:	8b c2                	mov    %edx,%eax
43ab61:	2b ca                	sub    %edx,%ecx
43ab63:	83 e1 fc             	and    $0xfffffffc,%ecx
43ab66:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
43ab6c:	72 10                	jb     0x43ab7e
43ab6e:	8b 50 fc             	mov    -0x4(%eax),%edx
43ab71:	83 c1 23             	add    $0x23,%ecx
43ab74:	2b c2                	sub    %edx,%eax
43ab76:	83 c0 fc             	add    $0xfffffffc,%eax
43ab79:	83 f8 1f             	cmp    $0x1f,%eax
43ab7c:	77 21                	ja     0x43ab9f
43ab7e:	51                   	push   %ecx
43ab7f:	52                   	push   %edx
43ab80:	e8 83 ee 02 00       	call   0x469a08
43ab85:	83 c4 08             	add    $0x8,%esp
43ab88:	8b 4d f4             	mov    -0xc(%ebp),%ecx
43ab8b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
43ab92:	59                   	pop    %ecx
43ab93:	5e                   	pop    %esi
43ab94:	8b e5                	mov    %ebp,%esp
43ab96:	5d                   	pop    %ebp
43ab97:	c2 04 00             	ret    $0x4
43ab9a:	e8 91 f5 ff ff       	call   0x43a130
43ab9f:	e8 8d ea 03 00       	call   0x479631
43aba4:	cc                   	int3
43aba5:	cc                   	int3
43aba6:	cc                   	int3
43aba7:	cc                   	int3
43aba8:	cc                   	int3
43aba9:	cc                   	int3
43abaa:	cc                   	int3
43abab:	cc                   	int3
43abac:	cc                   	int3
43abad:	cc                   	int3
43abae:	cc                   	int3
43abaf:	cc                   	int3
43abb0:	55                   	push   %ebp
43abb1:	8b ec                	mov    %esp,%ebp
43abb3:	83 e4 f8             	and    $0xfffffff8,%esp
43abb6:	83 ec 0c             	sub    $0xc,%esp
43abb9:	53                   	push   %ebx
43abba:	56                   	push   %esi
43abbb:	57                   	push   %edi
43abbc:	8b 79 14             	mov    0x14(%ecx),%edi
43abbf:	89 4c 24 14          	mov    %ecx,0x14(%esp)
43abc3:	8d 4c 24 13          	lea    0x13(%esp),%ecx
43abc7:	51                   	push   %ecx
43abc8:	8b 07                	mov    (%edi),%eax
43abca:	8b 70 48             	mov    0x48(%eax),%esi
43abcd:	8b ce                	mov    %esi,%ecx
43abcf:	ff 15 d4 e2 49 00    	call   *0x49e2d4
43abd5:	8b cf                	mov    %edi,%ecx
43abd7:	ff d6                	call   *%esi
43abd9:	85 c0                	test   %eax,%eax
43abdb:	74 36                	je     0x43ac13
43abdd:	8a 5d 08             	mov    0x8(%ebp),%bl
43abe0:	38 5c 24 13          	cmp    %bl,0x13(%esp)
43abe4:	75 2d                	jne    0x43ac13
43abe6:	8b 44 24 14          	mov    0x14(%esp),%eax
43abea:	8b 48 14             	mov    0x14(%eax),%ecx
43abed:	8d 70 19             	lea    0x19(%eax),%esi
43abf0:	56                   	push   %esi
43abf1:	8d 50 20             	lea    0x20(%eax),%edx
43abf4:	e8 37 f7 ff ff       	call   0x43a330
43abf9:	83 c4 04             	add    $0x4,%esp
43abfc:	84 c0                	test   %al,%al
43abfe:	74 13                	je     0x43ac13
43ac00:	80 3e 00             	cmpb   $0x0,(%esi)
43ac03:	75 05                	jne    0x43ac0a
43ac05:	f6 c3 20             	test   $0x20,%bl
43ac08:	74 09                	je     0x43ac13
43ac0a:	5f                   	pop    %edi
43ac0b:	5e                   	pop    %esi
43ac0c:	5b                   	pop    %ebx
43ac0d:	8b e5                	mov    %ebp,%esp
43ac0f:	5d                   	pop    %ebp
43ac10:	c2 04 00             	ret    $0x4
43ac13:	e8 18 f5 ff ff       	call   0x43a130
43ac18:	cc                   	int3
43ac19:	cc                   	int3
43ac1a:	cc                   	int3
43ac1b:	cc                   	int3
43ac1c:	cc                   	int3
43ac1d:	cc                   	int3
43ac1e:	cc                   	int3
43ac1f:	cc                   	int3
43ac20:	55                   	push   %ebp
43ac21:	8b ec                	mov    %esp,%ebp
43ac23:	6a ff                	push   $0xffffffff
43ac25:	68 a0 a3 49 00       	push   $0x49a3a0
43ac2a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
43ac30:	50                   	push   %eax
43ac31:	51                   	push   %ecx
43ac32:	53                   	push   %ebx
43ac33:	56                   	push   %esi
43ac34:	57                   	push   %edi