43ec1f:	e8 b6 28 1a 00       	call   0x5e14da
43ec24:	8b e5                	mov    %ebp,%esp
43ec26:	5d                   	pop    %ebp
43ec27:	c2 18 00             	ret    $0x18
43ec2a:	cc                   	int3
43ec2b:	cc                   	int3
43ec2c:	cc                   	int3
43ec2d:	cc                   	int3
43ec2e:	cc                   	int3
43ec2f:	cc                   	int3
43ec30:	55                   	push   %ebp
43ec31:	8b ec                	mov    %esp,%ebp
43ec33:	6a ff                	push   $0xffffffff
43ec35:	68 20 bf 64 00       	push   $0x64bf20
43ec3a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
43ec40:	50                   	push   %eax
43ec41:	83 ec 48             	sub    $0x48,%esp
43ec44:	a1 d4 89 72 00       	mov    0x7289d4,%eax
43ec49:	33 c5                	xor    %ebp,%eax
43ec4b:	89 45 f0             	mov    %eax,-0x10(%ebp)
43ec4e:	53                   	push   %ebx
43ec4f:	56                   	push   %esi
43ec50:	57                   	push   %edi
43ec51:	50                   	push   %eax
43ec52:	8d 45 f4             	lea    -0xc(%ebp),%eax
43ec55:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
43ec5b:	89 4d bc             	mov    %ecx,-0x44(%ebp)
43ec5e:	8b 7d 14             	mov    0x14(%ebp),%edi
43ec61:	0f b7 75 18          	movzwl 0x18(%ebp),%esi
43ec65:	8b 5d 08             	mov    0x8(%ebp),%ebx
43ec68:	89 5d b4             	mov    %ebx,-0x4c(%ebp)
43ec6b:	f7 47 14 00 40 00 00 	testl  $0x4000,0x14(%edi)
43ec72:	89 75 b8             	mov    %esi,-0x48(%ebp)
43ec75:	75 1a                	jne    0x43ec91
43ec77:	0f b6 45 1c          	movzbl 0x1c(%ebp),%eax
43ec7b:	8b 11                	mov    (%ecx),%edx
43ec7d:	50                   	push   %eax
43ec7e:	56                   	push   %esi
43ec7f:	57                   	push   %edi
43ec80:	ff 75 10             	push   0x10(%ebp)
43ec83:	ff 75 0c             	push   0xc(%ebp)
43ec86:	53                   	push   %ebx
43ec87:	ff 52 24             	call   *0x24(%edx)
43ec8a:	8b c3                	mov    %ebx,%eax
43ec8c:	e9 26 02 00 00       	jmp    0x43eeb7
43ec91:	8d 45 ac             	lea    -0x54(%ebp),%eax
43ec94:	8b cf                	mov    %edi,%ecx
43ec96:	50                   	push   %eax
43ec97:	e8 e4 b9 ff ff       	call   0x43a680
43ec9c:	50                   	push   %eax
43ec9d:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
43eca4:	e8 67 26 00 00       	call   0x441310
43eca9:	83 c4 04             	add    $0x4,%esp
43ecac:	8b f0                	mov    %eax,%esi
43ecae:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
43ecb5:	8b 4d b0             	mov    -0x50(%ebp),%ecx
43ecb8:	85 c9                	test   %ecx,%ecx
43ecba:	74 11                	je     0x43eccd
43ecbc:	8b 11                	mov    (%ecx),%edx
43ecbe:	ff 52 08             	call   *0x8(%edx)
43ecc1:	85 c0                	test   %eax,%eax
43ecc3:	74 08                	je     0x43eccd
43ecc5:	8b 10                	mov    (%eax),%edx
43ecc7:	8b c8                	mov    %eax,%ecx
43ecc9:	6a 01                	push   $0x1
43eccb:	ff 12                	call   *(%edx)
43eccd:	33 c0                	xor    %eax,%eax
43eccf:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
43ecd6:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
43ecdd:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
43ece1:	80 7d 1c 00          	cmpb   $0x0,0x1c(%ebp)
43ece5:	8d 45 c0             	lea    -0x40(%ebp),%eax
43ece8:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
43ecef:	8b ce                	mov    %esi,%ecx
43ecf1:	50                   	push   %eax
43ecf2:	74 0d                	je     0x43ed01
43ecf4:	e8 07 0a 00 00       	call   0x43f700
43ecf9:	8b f0                	mov    %eax,%esi
43ecfb:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
43ecff:	eb 0b                	jmp    0x43ed0c
43ed01:	e8 1a 0a 00 00       	call   0x43f720
43ed06:	8b f0                	mov    %eax,%esi
43ed08:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
43ed0c:	8d 45 d8             	lea    -0x28(%ebp),%eax
43ed0f:	3b c6                	cmp    %esi,%eax
43ed11:	0f 84 b1 00 00 00    	je     0x43edc8
43ed17:	8b 45 ec             	mov    -0x14(%ebp),%eax
43ed1a:	83 f8 08             	cmp    $0x8,%eax
43ed1d:	72 4b                	jb     0x43ed6a
43ed1f:	8b 55 d8             	mov    -0x28(%ebp),%edx
43ed22:	40                   	inc    %eax
43ed23:	8b ca                	mov    %edx,%ecx
43ed25:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
43ed2a:	0f 87 a5 01 00 00    	ja     0x43eed5
43ed30:	03 c0                	add    %eax,%eax
43ed32:	3d 00 10 00 00       	cmp    $0x1000,%eax
43ed37:	72 28                	jb     0x43ed61
43ed39:	f6 c1 1f             	test   $0x1f,%cl
43ed3c:	0f 85 93 01 00 00    	jne    0x43eed5
43ed42:	8b 52 fc             	mov    -0x4(%edx),%edx
43ed45:	3b d1                	cmp    %ecx,%edx
43ed47:	0f 83 88 01 00 00    	jae    0x43eed5
43ed4d:	2b ca                	sub    %edx,%ecx
43ed4f:	83 f9 04             	cmp    $0x4,%ecx
43ed52:	0f 82 7d 01 00 00    	jb     0x43eed5
43ed58:	83 f9 23             	cmp    $0x23,%ecx
43ed5b:	0f 87 74 01 00 00    	ja     0x43eed5
43ed61:	52                   	push   %edx
43ed62:	e8 69 17 0b 00       	call   0x4f04d0
43ed67:	83 c4 04             	add    $0x4,%esp
43ed6a:	33 c0                	xor    %eax,%eax
43ed6c:	c7 45 ec 07 00 00 00 	movl   $0x7,-0x14(%ebp)
43ed73:	c7 45 e8 00 00 00 00 	movl   $0x0,-0x18(%ebp)
43ed7a:	66 89 45 d8          	mov    %ax,-0x28(%ebp)
43ed7e:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
43ed82:	73 1a                	jae    0x43ed9e
43ed84:	8b 46 10             	mov    0x10(%esi),%eax
43ed87:	83 c0 01             	add    $0x1,%eax
43ed8a:	74 1d                	je     0x43eda9
43ed8c:	03 c0                	add    %eax,%eax
43ed8e:	50                   	push   %eax
43ed8f:	8d 45 d8             	lea    -0x28(%ebp),%eax
43ed92:	56                   	push   %esi
43ed93:	50                   	push   %eax
43ed94:	e8 e7 46 1a 00       	call   0x5e3480
43ed99:	83 c4 0c             	add    $0xc,%esp
43ed9c:	eb 0b                	jmp    0x43eda9
43ed9e:	8b 06                	mov    (%esi),%eax
43eda0:	89 45 d8             	mov    %eax,-0x28(%ebp)
43eda3:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
43eda9:	8b 46 10             	mov    0x10(%esi),%eax
43edac:	89 45 e8             	mov    %eax,-0x18(%ebp)
43edaf:	8b 46 14             	mov    0x14(%esi),%eax
43edb2:	89 45 ec             	mov    %eax,-0x14(%ebp)
43edb5:	33 c0                	xor    %eax,%eax
43edb7:	c7 46 14 07 00 00 00 	movl   $0x7,0x14(%esi)
43edbe:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
43edc5:	66 89 06             	mov    %ax,(%esi)
43edc8:	8d 4d c0             	lea    -0x40(%ebp),%ecx
43edcb:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
43edcf:	e8 ec 97 ff ff       	call   0x4385c0
43edd4:	83 7f 24 00          	cmpl   $0x0,0x24(%edi)
43edd8:	8b 77 20             	mov    0x20(%edi),%esi
43eddb:	8b 4d e8             	mov    -0x18(%ebp),%ecx
43edde:	7c 0e                	jl     0x43edee
43ede0:	7f 04                	jg     0x43ede6
43ede2:	85 f6                	test   %esi,%esi
43ede4:	74 08                	je     0x43edee
43ede6:	3b f1                	cmp    %ecx,%esi
43ede8:	76 04                	jbe    0x43edee
43edea:	2b f1                	sub    %ecx,%esi
43edec:	eb 02                	jmp    0x43edf0
43edee:	33 f6                	xor    %esi,%esi
43edf0:	8b 47 14             	mov    0x14(%edi),%eax
43edf3:	25 c0 01 00 00       	and    $0x1c0,%eax
43edf8:	83 f8 40             	cmp    $0x40,%eax
43edfb:	74 2b                	je     0x43ee28
43edfd:	56                   	push   %esi
43edfe:	ff 75 b8             	push   -0x48(%ebp)
43ee01:	8d 45 ac             	lea    -0x54(%ebp),%eax
43ee04:	ff 75 10             	push   0x10(%ebp)
43ee07:	ff 75 0c             	push   0xc(%ebp)
43ee0a:	50                   	push   %eax
43ee0b:	ff 75 bc             	push   -0x44(%ebp)
43ee0e:	e8 7d 09 00 00       	call   0x43f790
43ee13:	8b 4d e8             	mov    -0x18(%ebp),%ecx
43ee16:	83 c4 18             	add    $0x18,%esp
43ee19:	33 f6                	xor    %esi,%esi
43ee1b:	8b 10                	mov    (%eax),%edx
43ee1d:	89 55 0c             	mov    %edx,0xc(%ebp)
43ee20:	8b 58 04             	mov    0x4(%eax),%ebx
43ee23:	89 5d 10             	mov    %ebx,0x10(%ebp)
43ee26:	eb 06                	jmp    0x43ee2e
43ee28:	8b 5d 10             	mov    0x10(%ebp),%ebx
43ee2b:	8b 55 0c             	mov    0xc(%ebp),%edx
43ee2e:	83 7d ec 08          	cmpl   $0x8,-0x14(%ebp)
43ee32:	8d 45 d8             	lea    -0x28(%ebp),%eax
43ee35:	51                   	push   %ecx
43ee36:	0f 43 45 d8          	cmovae -0x28(%ebp),%eax
43ee3a:	50                   	push   %eax
43ee3b:	53                   	push   %ebx
43ee3c:	8b 5d bc             	mov    -0x44(%ebp),%ebx
43ee3f:	8d 45 ac             	lea    -0x54(%ebp),%eax
43ee42:	52                   	push   %edx
43ee43:	50                   	push   %eax
43ee44:	53                   	push   %ebx
43ee45:	e8 b6 09 00 00       	call   0x43f800
43ee4a:	56                   	push   %esi
43ee4b:	ff 75 b8             	push   -0x48(%ebp)
43ee4e:	8b 75 b4             	mov    -0x4c(%ebp),%esi
43ee51:	8b 08                	mov    (%eax),%ecx
43ee53:	89 4d 0c             	mov    %ecx,0xc(%ebp)
43ee56:	8b 40 04             	mov    0x4(%eax),%eax
43ee59:	50                   	push   %eax
43ee5a:	51                   	push   %ecx
43ee5b:	56                   	push   %esi
43ee5c:	53                   	push   %ebx
43ee5d:	89 45 10             	mov    %eax,0x10(%ebp)
43ee60:	c7 47 20 00 00 00 00 	movl   $0x0,0x20(%edi)
43ee67:	c7 47 24 00 00 00 00 	movl   $0x0,0x24(%edi)
43ee6e:	e8 1d 09 00 00       	call   0x43f790
43ee73:	8b 45 ec             	mov    -0x14(%ebp),%eax
43ee76:	83 c4 30             	add    $0x30,%esp
43ee79:	83 f8 08             	cmp    $0x8,%eax
43ee7c:	72 37                	jb     0x43eeb5
43ee7e:	8b 55 d8             	mov    -0x28(%ebp),%edx
43ee81:	40                   	inc    %eax
43ee82:	8b ca                	mov    %edx,%ecx
43ee84:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
43ee89:	77 4a                	ja     0x43eed5
43ee8b:	03 c0                	add    %eax,%eax
43ee8d:	3d 00 10 00 00       	cmp    $0x1000,%eax
43ee92:	72 18                	jb     0x43eeac
43ee94:	f6 c1 1f             	test   $0x1f,%cl
43ee97:	75 3c                	jne    0x43eed5
43ee99:	8b 52 fc             	mov    -0x4(%edx),%edx
43ee9c:	3b d1                	cmp    %ecx,%edx
43ee9e:	73 35                	jae    0x43eed5
43eea0:	2b ca                	sub    %edx,%ecx
43eea2:	83 f9 04             	cmp    $0x4,%ecx
43eea5:	72 2e                	jb     0x43eed5
43eea7:	83 f9 23             	cmp    $0x23,%ecx
43eeaa:	77 29                	ja     0x43eed5
43eeac:	52                   	push   %edx
43eead:	e8 1e 16 0b 00       	call   0x4f04d0
43eeb2:	83 c4 04             	add    $0x4,%esp
43eeb5:	8b c6                	mov    %esi,%eax
43eeb7:	8b 4d f4             	mov    -0xc(%ebp),%ecx
43eeba:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
43eec1:	59                   	pop    %ecx
43eec2:	5f                   	pop    %edi
43eec3:	5e                   	pop    %esi
43eec4:	5b                   	pop    %ebx
43eec5:	8b 4d f0             	mov    -0x10(%ebp),%ecx
43eec8:	33 cd                	xor    %ebp,%ecx
43eeca:	e8 0b 26 1a 00       	call   0x5e14da
43eecf:	8b e5                	mov    %ebp,%esp
43eed1:	5d                   	pop    %ebp
43eed2:	c2 18 00             	ret    $0x18
43eed5:	e8 55 e0 1a 00       	call   0x5ecf2f
43eeda:	cc                   	int3
43eedb:	cc                   	int3
43eedc:	cc                   	int3
43eedd:	cc                   	int3
43eede:	cc                   	int3
43eedf:	cc                   	int3
43eee0:	55                   	push   %ebp
43eee1:	8b ec                	mov    %esp,%ebp
43eee3:	51                   	push   %ecx
43eee4:	53                   	push   %ebx
43eee5:	8b 5d 08             	mov    0x8(%ebp),%ebx
43eee8:	56                   	push   %esi
43eee9:	57                   	push   %edi
43eeea:	8b f1                	mov    %ecx,%esi
43eeec:	66 83 3b 00          	cmpw   $0x0,(%ebx)
43eef0:	75 04                	jne    0x43eef6
43eef2:	33 ff                	xor    %edi,%edi
43eef4:	eb 19                	jmp    0x43ef0f
43eef6:	8b fb                	mov    %ebx,%edi
43eef8:	8d 4f 02             	lea    0x2(%edi),%ecx
43eefb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
43ef00:	66 8b 07             	mov    (%edi),%ax
43ef03:	83 c7 02             	add    $0x2,%edi
43ef06:	66 85 c0             	test   %ax,%ax
43ef09:	75 f5                	jne    0x43ef00
43ef0b:	2b f9                	sub    %ecx,%edi
43ef0d:	d1 ff                	sar    $1,%edi
43ef0f:	8b 4e 14             	mov    0x14(%esi),%ecx
43ef12:	83 f9 08             	cmp    $0x8,%ecx
43ef15:	72 04                	jb     0x43ef1b
43ef17:	8b 06                	mov    (%esi),%eax
43ef19:	eb 02                	jmp    0x43ef1d
43ef1b:	8b c6                	mov    %esi,%eax
43ef1d:	3b d8                	cmp    %eax,%ebx
43ef1f:	72 39                	jb     0x43ef5a
43ef21:	83 f9 08             	cmp    $0x8,%ecx
43ef24:	72 04                	jb     0x43ef2a
43ef26:	8b 16                	mov    (%esi),%edx
43ef28:	eb 02                	jmp    0x43ef2c
43ef2a:	8b d6                	mov    %esi,%edx
43ef2c:	8b 46 10             	mov    0x10(%esi),%eax
43ef2f:	8d 04 42             	lea    (%edx,%eax,2),%eax
43ef32:	3b c3                	cmp    %ebx,%eax
43ef34:	76 24                	jbe    0x43ef5a
43ef36:	83 f9 08             	cmp    $0x8,%ecx
43ef39:	72 04                	jb     0x43ef3f
43ef3b:	8b 06                	mov    (%esi),%eax
43ef3d:	eb 02                	jmp    0x43ef41
43ef3f:	8b c6                	mov    %esi,%eax
43ef41:	2b d8                	sub    %eax,%ebx
43ef43:	8b ce                	mov    %esi,%ecx
43ef45:	57                   	push   %edi
43ef46:	d1 fb                	sar    $1,%ebx
43ef48:	53                   	push   %ebx
43ef49:	56                   	push   %esi
43ef4a:	e8 61 14 00 00       	call   0x4403b0
43ef4f:	5f                   	pop    %edi
43ef50:	8b f0                	mov    %eax,%esi
43ef52:	5e                   	pop    %esi
43ef53:	5b                   	pop    %ebx
43ef54:	8b e5                	mov    %ebp,%esp
43ef56:	5d                   	pop    %ebp
43ef57:	c2 04 00             	ret    $0x4
43ef5a:	8b 56 10             	mov    0x10(%esi),%edx
43ef5d:	8b c2                	mov    %edx,%eax
43ef5f:	f7 d0                	not    %eax
43ef61:	3b c7                	cmp    %edi,%eax
43ef63:	0f 86 ad 00 00 00    	jbe    0x43f016
43ef69:	8d 04 3a             	lea    (%edx,%edi,1),%eax
43ef6c:	89 45 fc             	mov    %eax,-0x4(%ebp)
43ef6f:	85 ff                	test   %edi,%edi
43ef71:	0f 84 94 00 00 00    	je     0x43f00b
43ef77:	3d fe ff ff 7f       	cmp    $0x7ffffffe,%eax
43ef7c:	0f 87 99 00 00 00    	ja     0x43f01b
43ef82:	3b c8                	cmp    %eax,%ecx
43ef84:	73 1a                	jae    0x43efa0
43ef86:	52                   	push   %edx
43ef87:	50                   	push   %eax
43ef88:	8b ce                	mov    %esi,%ecx
43ef8a:	e8 51 a1 ff ff       	call   0x4390e0
43ef8f:	8b 45 fc             	mov    -0x4(%ebp),%eax
43ef92:	85 c0                	test   %eax,%eax
43ef94:	74 75                	je     0x43f00b
43ef96:	83 7e 14 08          	cmpl   $0x8,0x14(%esi)
43ef9a:	72 32                	jb     0x43efce
43ef9c:	8b 0e                	mov    (%esi),%ecx
43ef9e:	eb 30                	jmp    0x43efd0
43efa0:	85 c0                	test   %eax,%eax
43efa2:	75 f2                	jne    0x43ef96
43efa4:	89 46 10             	mov    %eax,0x10(%esi)
43efa7:	83 f9 08             	cmp    $0x8,%ecx
43efaa:	72 12                	jb     0x43efbe
43efac:	8b 06                	mov    (%esi),%eax
43efae:	33 c9                	xor    %ecx,%ecx
43efb0:	5f                   	pop    %edi
43efb1:	66 89 08             	mov    %cx,(%eax)
43efb4:	8b c6                	mov    %esi,%eax
43efb6:	5e                   	pop    %esi
43efb7:	5b                   	pop    %ebx
43efb8:	8b e5                	mov    %ebp,%esp
43efba:	5d                   	pop    %ebp
43efbb:	c2 04 00             	ret    $0x4
43efbe:	8b c6                	mov    %esi,%eax
43efc0:	33 c9                	xor    %ecx,%ecx
43efc2:	5f                   	pop    %edi
43efc3:	5e                   	pop    %esi
43efc4:	5b                   	pop    %ebx
43efc5:	66 89 08             	mov    %cx,(%eax)
43efc8:	8b e5                	mov    %ebp,%esp
43efca:	5d                   	pop    %ebp