43ba4c:	2b cb                	sub    %ebx,%ecx
43ba4e:	83 f9 08             	cmp    $0x8,%ecx
43ba51:	8b 4c 24 10          	mov    0x10(%esp),%ecx
43ba55:	77 d9                	ja     0x43ba30
43ba57:	c1 ee 03             	shr    $0x3,%esi
43ba5a:	5f                   	pop    %edi
43ba5b:	8b c6                	mov    %esi,%eax
43ba5d:	5e                   	pop    %esi
43ba5e:	5b                   	pop    %ebx
43ba5f:	5d                   	pop    %ebp
43ba60:	59                   	pop    %ecx
43ba61:	c3                   	ret
43ba62:	cc                   	int3
43ba63:	cc                   	int3
43ba64:	cc                   	int3
43ba65:	cc                   	int3
43ba66:	cc                   	int3
43ba67:	cc                   	int3
43ba68:	cc                   	int3
43ba69:	cc                   	int3
43ba6a:	cc                   	int3
43ba6b:	cc                   	int3
43ba6c:	cc                   	int3
43ba6d:	cc                   	int3
43ba6e:	cc                   	int3
43ba6f:	cc                   	int3
43ba70:	55                   	push   %ebp
43ba71:	8b ec                	mov    %esp,%ebp
43ba73:	6a ff                	push   $0xffffffff
43ba75:	68 8d a5 49 00       	push   $0x49a58d
43ba7a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
43ba80:	50                   	push   %eax
43ba81:	83 ec 44             	sub    $0x44,%esp
43ba84:	a1 14 40 4c 00       	mov    0x4c4014,%eax
43ba89:	33 c5                	xor    %ebp,%eax
43ba8b:	89 45 f0             	mov    %eax,-0x10(%ebp)
43ba8e:	56                   	push   %esi
43ba8f:	50                   	push   %eax
43ba90:	8d 45 f4             	lea    -0xc(%ebp),%eax
43ba93:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
43ba99:	8b 01                	mov    (%ecx),%eax
43ba9b:	8b 32                	mov    (%edx),%esi
43ba9d:	8d 48 ff             	lea    -0x1(%eax),%ecx
43baa0:	03 ce                	add    %esi,%ecx
43baa2:	3b c8                	cmp    %eax,%ecx
43baa4:	72 35                	jb     0x43badb
43baa6:	85 f6                	test   %esi,%esi
43baa8:	74 0d                	je     0x43bab7
43baaa:	8d 46 ff             	lea    -0x1(%esi),%eax
43baad:	85 c6                	test   %eax,%esi
43baaf:	75 06                	jne    0x43bab7
43bab1:	23 c1                	and    %ecx,%eax
43bab3:	2b c8                	sub    %eax,%ecx
43bab5:	eb 08                	jmp    0x43babf
43bab7:	8b c1                	mov    %ecx,%eax
43bab9:	33 d2                	xor    %edx,%edx
43babb:	f7 f6                	div    %esi
43babd:	2b ca                	sub    %edx,%ecx
43babf:	8b c1                	mov    %ecx,%eax
43bac1:	8b 4d f4             	mov    -0xc(%ebp),%ecx
43bac4:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
43bacb:	59                   	pop    %ecx
43bacc:	5e                   	pop    %esi
43bacd:	8b 4d f0             	mov    -0x10(%ebp),%ecx
43bad0:	33 cd                	xor    %ebp,%ecx
43bad2:	e8 f3 de 02 00       	call   0x4699ca
43bad7:	8b e5                	mov    %ebp,%esp
43bad9:	5d                   	pop    %ebp
43bada:	c3                   	ret
43badb:	68 24 5b 4b 00       	push   $0x4b5b24
43bae0:	8d 4d d8             	lea    -0x28(%ebp),%ecx
43bae3:	e8 58 f5 fc ff       	call   0x40b040
43bae8:	8d 45 d8             	lea    -0x28(%ebp),%eax
43baeb:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
43baf2:	50                   	push   %eax
43baf3:	8d 4d b0             	lea    -0x50(%ebp),%ecx
43baf6:	e8 95 03 fd ff       	call   0x40be90
43bafb:	68 b8 1d 4c 00       	push   $0x4c1db8
43bb00:	8d 45 b0             	lea    -0x50(%ebp),%eax
43bb03:	50                   	push   %eax
43bb04:	e8 a5 fa 02 00       	call   0x46b5ae
43bb09:	cc                   	int3
43bb0a:	cc                   	int3
43bb0b:	cc                   	int3
43bb0c:	cc                   	int3
43bb0d:	cc                   	int3
43bb0e:	cc                   	int3
43bb0f:	cc                   	int3
43bb10:	55                   	push   %ebp
43bb11:	8b ec                	mov    %esp,%ebp
43bb13:	6a ff                	push   $0xffffffff
43bb15:	68 cd a5 49 00       	push   $0x49a5cd
43bb1a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
43bb20:	50                   	push   %eax
43bb21:	83 ec 1c             	sub    $0x1c,%esp
43bb24:	53                   	push   %ebx
43bb25:	56                   	push   %esi
43bb26:	57                   	push   %edi
43bb27:	a1 14 40 4c 00       	mov    0x4c4014,%eax
43bb2c:	33 c5                	xor    %ebp,%eax
43bb2e:	50                   	push   %eax
43bb2f:	8d 45 f4             	lea    -0xc(%ebp),%eax
43bb32:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
43bb38:	89 55 e8             	mov    %edx,-0x18(%ebp)
43bb3b:	8b d9                	mov    %ecx,%ebx
43bb3d:	89 5d ec             	mov    %ebx,-0x14(%ebp)
43bb40:	8b 03                	mov    (%ebx),%eax
43bb42:	8d 4d f3             	lea    -0xd(%ebp),%ecx
43bb45:	51                   	push   %ecx
43bb46:	8b 70 48             	mov    0x48(%eax),%esi
43bb49:	8b ce                	mov    %esi,%ecx
43bb4b:	ff 15 d4 e2 49 00    	call   *0x49e2d4
43bb51:	8b cb                	mov    %ebx,%ecx
43bb53:	ff d6                	call   *%esi
43bb55:	85 c0                	test   %eax,%eax
43bb57:	0f 84 c9 00 00 00    	je     0x43bc26
43bb5d:	80 7d f3 02          	cmpb   $0x2,-0xd(%ebp)
43bb61:	0f 85 bf 00 00 00    	jne    0x43bc26
43bb67:	8d 55 e4             	lea    -0x1c(%ebp),%edx
43bb6a:	8b cb                	mov    %ebx,%ecx
43bb6c:	e8 af e8 ff ff       	call   0x43a420
43bb71:	8b 7d e4             	mov    -0x1c(%ebp),%edi
43bb74:	89 7d dc             	mov    %edi,-0x24(%ebp)
43bb77:	85 ff                	test   %edi,%edi
43bb79:	75 07                	jne    0x43bb82
43bb7b:	33 db                	xor    %ebx,%ebx
43bb7d:	89 5d e4             	mov    %ebx,-0x1c(%ebp)
43bb80:	eb 0c                	jmp    0x43bb8e
43bb82:	8b cf                	mov    %edi,%ecx
43bb84:	e8 d7 04 02 00       	call   0x45c060
43bb89:	8b d8                	mov    %eax,%ebx
43bb8b:	89 45 e4             	mov    %eax,-0x1c(%ebp)
43bb8e:	89 5d e0             	mov    %ebx,-0x20(%ebp)
43bb91:	8b 4d ec             	mov    -0x14(%ebp),%ecx
43bb94:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
43bb9b:	57                   	push   %edi
43bb9c:	53                   	push   %ebx
43bb9d:	8b 09                	mov    (%ecx),%ecx
43bb9f:	8b 71 44             	mov    0x44(%ecx),%esi
43bba2:	8b ce                	mov    %esi,%ecx
43bba4:	ff 15 d4 e2 49 00    	call   *0x49e2d4
43bbaa:	8b 4d ec             	mov    -0x14(%ebp),%ecx
43bbad:	ff d6                	call   *%esi
43bbaf:	3b f8                	cmp    %eax,%edi
43bbb1:	75 73                	jne    0x43bc26
43bbb3:	8b d3                	mov    %ebx,%edx
43bbb5:	83 ff 04             	cmp    $0x4,%edi
43bbb8:	76 19                	jbe    0x43bbd3
43bbba:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
43bbc0:	80 3a 00             	cmpb   $0x0,(%edx)
43bbc3:	75 09                	jne    0x43bbce
43bbc5:	4f                   	dec    %edi
43bbc6:	42                   	inc    %edx
43bbc7:	83 ff 04             	cmp    $0x4,%edi
43bbca:	77 f4                	ja     0x43bbc0
43bbcc:	eb 05                	jmp    0x43bbd3
43bbce:	83 ff 04             	cmp    $0x4,%edi
43bbd1:	77 53                	ja     0x43bc26
43bbd3:	8b 45 e8             	mov    -0x18(%ebp),%eax
43bbd6:	33 db                	xor    %ebx,%ebx
43bbd8:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
43bbde:	85 ff                	test   %edi,%edi
43bbe0:	74 1d                	je     0x43bbff
43bbe2:	33 f6                	xor    %esi,%esi
43bbe4:	0f b6 04 13          	movzbl (%ebx,%edx,1),%eax
43bbe8:	8b ce                	mov    %esi,%ecx
43bbea:	8b f0                	mov    %eax,%esi
43bbec:	c1 e1 08             	shl    $0x8,%ecx
43bbef:	8b 45 e8             	mov    -0x18(%ebp),%eax
43bbf2:	0b f1                	or     %ecx,%esi
43bbf4:	43                   	inc    %ebx
43bbf5:	89 30                	mov    %esi,(%eax)
43bbf7:	3b df                	cmp    %edi,%ebx
43bbf9:	72 e9                	jb     0x43bbe4
43bbfb:	85 f6                	test   %esi,%esi
43bbfd:	75 27                	jne    0x43bc26
43bbff:	8b 55 e4             	mov    -0x1c(%ebp),%edx
43bc02:	32 c0                	xor    %al,%al
43bc04:	8b 4d dc             	mov    -0x24(%ebp),%ecx
43bc07:	8b fa                	mov    %edx,%edi
43bc09:	f3 aa                	rep stos %al,%es:(%edi)
43bc0b:	52                   	push   %edx
43bc0c:	e8 71 da 03 00       	call   0x479682
43bc11:	83 c4 04             	add    $0x4,%esp
43bc14:	8b 4d f4             	mov    -0xc(%ebp),%ecx
43bc17:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
43bc1e:	59                   	pop    %ecx
43bc1f:	5f                   	pop    %edi
43bc20:	5e                   	pop    %esi
43bc21:	5b                   	pop    %ebx
43bc22:	8b e5                	mov    %ebp,%esp
43bc24:	5d                   	pop    %ebp
43bc25:	c3                   	ret
43bc26:	e8 05 e5 ff ff       	call   0x43a130
43bc2b:	cc                   	int3
43bc2c:	cc                   	int3
43bc2d:	cc                   	int3
43bc2e:	cc                   	int3
43bc2f:	cc                   	int3
43bc30:	83 ec 10             	sub    $0x10,%esp
43bc33:	a1 14 40 4c 00       	mov    0x4c4014,%eax
43bc38:	33 c4                	xor    %esp,%eax
43bc3a:	89 44 24 0c          	mov    %eax,0xc(%esp)
43bc3e:	53                   	push   %ebx
43bc3f:	55                   	push   %ebp
43bc40:	56                   	push   %esi
43bc41:	8b e9                	mov    %ecx,%ebp
43bc43:	c7 44 24 10 00 00 00 	movl   $0x0,0x10(%esp)
43bc4a:	00
43bc4b:	57                   	push   %edi
43bc4c:	c6 44 24 18 00       	movb   $0x0,0x18(%esp)
43bc51:	8d 4c 24 15          	lea    0x15(%esp),%ecx
43bc55:	b8 04 00 00 00       	mov    $0x4,%eax
43bc5a:	66 0f 1f 44 00 00    	nopw   0x0(%eax,%eax,1)
43bc60:	80 39 00             	cmpb   $0x0,(%ecx)
43bc63:	75 07                	jne    0x43bc6c
43bc65:	48                   	dec    %eax
43bc66:	41                   	inc    %ecx
43bc67:	83 f8 01             	cmp    $0x1,%eax
43bc6a:	77 f4                	ja     0x43bc60
43bc6c:	8b 75 00             	mov    0x0(%ebp),%esi
43bc6f:	8d 4c 24 19          	lea    0x19(%esp),%ecx
43bc73:	2b c8                	sub    %eax,%ecx
43bc75:	c6 44 24 10 02       	movb   $0x2,0x10(%esp)
43bc7a:	6a 01                	push   $0x1
43bc7c:	8d 58 01             	lea    0x1(%eax),%ebx
43bc7f:	8b 76 14             	mov    0x14(%esi),%esi
43bc82:	80 39 00             	cmpb   $0x0,(%ecx)
43bc85:	8b ce                	mov    %esi,%ecx
43bc87:	6a 00                	push   $0x0
43bc89:	0f 4d d8             	cmovge %eax,%ebx
43bc8c:	8d 44 24 18          	lea    0x18(%esp),%eax
43bc90:	6a 01                	push   $0x1
43bc92:	50                   	push   %eax
43bc93:	ff 15 d4 e2 49 00    	call   *0x49e2d4
43bc99:	8b cd                	mov    %ebp,%ecx
43bc9b:	ff d6                	call   *%esi
43bc9d:	6a 00                	push   $0x0
43bc9f:	53                   	push   %ebx
43bca0:	8b cd                	mov    %ebp,%ecx
43bca2:	e8 a9 e5 ff ff       	call   0x43a250
43bca7:	8b 75 00             	mov    0x0(%ebp),%esi
43bcaa:	8d 54 24 21          	lea    0x21(%esp),%edx
43bcae:	83 c4 08             	add    $0x8,%esp
43bcb1:	2b d3                	sub    %ebx,%edx
43bcb3:	8b f8                	mov    %eax,%edi
43bcb5:	8b 76 14             	mov    0x14(%esi),%esi
43bcb8:	8b ce                	mov    %esi,%ecx
43bcba:	6a 01                	push   $0x1
43bcbc:	6a 00                	push   $0x0
43bcbe:	53                   	push   %ebx
43bcbf:	52                   	push   %edx
43bcc0:	ff 15 d4 e2 49 00    	call   *0x49e2d4
43bcc6:	8b cd                	mov    %ebp,%ecx
43bcc8:	ff d6                	call   *%esi
43bcca:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
43bcce:	8d 47 01             	lea    0x1(%edi),%eax
43bcd1:	5f                   	pop    %edi
43bcd2:	5e                   	pop    %esi
43bcd3:	03 c3                	add    %ebx,%eax
43bcd5:	5d                   	pop    %ebp
43bcd6:	5b                   	pop    %ebx
43bcd7:	33 cc                	xor    %esp,%ecx
43bcd9:	e8 ec dc 02 00       	call   0x4699ca
43bcde:	83 c4 10             	add    $0x10,%esp
43bce1:	c3                   	ret
43bce2:	cc                   	int3
43bce3:	cc                   	int3
43bce4:	cc                   	int3
43bce5:	cc                   	int3
43bce6:	cc                   	int3
43bce7:	cc                   	int3
43bce8:	cc                   	int3
43bce9:	cc                   	int3
43bcea:	cc                   	int3
43bceb:	cc                   	int3
43bcec:	cc                   	int3
43bced:	cc                   	int3
43bcee:	cc                   	int3
43bcef:	cc                   	int3
43bcf0:	53                   	push   %ebx
43bcf1:	55                   	push   %ebp
43bcf2:	56                   	push   %esi
43bcf3:	57                   	push   %edi
43bcf4:	8b f9                	mov    %ecx,%edi
43bcf6:	b8 ff ff ff 3f       	mov    $0x3fffffff,%eax
43bcfb:	8b 4f 08             	mov    0x8(%edi),%ecx
43bcfe:	2b 0f                	sub    (%edi),%ecx
43bd00:	8b 6f 04             	mov    0x4(%edi),%ebp
43bd03:	2b 2f                	sub    (%edi),%ebp
43bd05:	c1 f9 02             	sar    $0x2,%ecx
43bd08:	8b d1                	mov    %ecx,%edx
43bd0a:	c1 fd 02             	sar    $0x2,%ebp
43bd0d:	d1 ea                	shr    $1,%edx
43bd0f:	2b c2                	sub    %edx,%eax
43bd11:	3b c8                	cmp    %eax,%ecx
43bd13:	0f 87 dc 00 00 00    	ja     0x43bdf5
43bd19:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
43bd1c:	83 f8 02             	cmp    $0x2,%eax
43bd1f:	73 14                	jae    0x43bd35
43bd21:	b8 08 00 00 00       	mov    $0x8,%eax
43bd26:	50                   	push   %eax
43bd27:	8b d8                	mov    %eax,%ebx
43bd29:	e8 aa dc 02 00       	call   0x4699d8
43bd2e:	83 c4 04             	add    $0x4,%esp
43bd31:	8b f0                	mov    %eax,%esi
43bd33:	eb 51                	jmp    0x43bd86
43bd35:	3d ff ff ff 3f       	cmp    $0x3fffffff,%eax
43bd3a:	0f 87 b5 00 00 00    	ja     0x43bdf5
43bd40:	c1 e0 02             	shl    $0x2,%eax
43bd43:	8b d8                	mov    %eax,%ebx
43bd45:	3d 00 10 00 00       	cmp    $0x1000,%eax
43bd4a:	72 27                	jb     0x43bd73
43bd4c:	8d 48 23             	lea    0x23(%eax),%ecx
43bd4f:	3b c8                	cmp    %eax,%ecx
43bd51:	0f 86 9e 00 00 00    	jbe    0x43bdf5
43bd57:	51                   	push   %ecx
43bd58:	e8 7b dc 02 00       	call   0x4699d8
43bd5d:	83 c4 04             	add    $0x4,%esp
43bd60:	85 c0                	test   %eax,%eax
43bd62:	0f 84 92 00 00 00    	je     0x43bdfa
43bd68:	8d 70 23             	lea    0x23(%eax),%esi
43bd6b:	83 e6 e0             	and    $0xffffffe0,%esi
43bd6e:	89 46 fc             	mov    %eax,-0x4(%esi)
43bd71:	eb 13                	jmp    0x43bd86
43bd73:	85 c0                	test   %eax,%eax
43bd75:	74 0d                	je     0x43bd84
43bd77:	50                   	push   %eax
43bd78:	e8 5b dc 02 00       	call   0x4699d8
43bd7d:	83 c4 04             	add    $0x4,%esp
43bd80:	8b f0                	mov    %eax,%esi
43bd82:	eb 02                	jmp    0x43bd86
43bd84:	33 f6                	xor    %esi,%esi
43bd86:	b8 02 00 00 00       	mov    $0x2,%eax
43bd8b:	2b c5                	sub    %ebp,%eax
43bd8d:	c1 e0 02             	shl    $0x2,%eax
43bd90:	50                   	push   %eax
43bd91:	8d 04 ae             	lea    (%esi,%ebp,4),%eax
43bd94:	6a 00                	push   $0x0
43bd96:	50                   	push   %eax
43bd97:	e8 14 fe 02 00       	call   0x46bbb0
43bd9c:	8b 0f                	mov    (%edi),%ecx
43bd9e:	8b 47 04             	mov    0x4(%edi),%eax
43bda1:	2b c1                	sub    %ecx,%eax
43bda3:	50                   	push   %eax
43bda4:	51                   	push   %ecx
43bda5:	56                   	push   %esi
43bda6:	e8 75 f8 02 00       	call   0x46b620
43bdab:	8b 07                	mov    (%edi),%eax
43bdad:	83 c4 18             	add    $0x18,%esp