43ed6e:	e8 21 cf fd ff       	call   0x41bc94
43ed73:	8b 45 08             	mov    0x8(%ebp),%eax
43ed76:	8b 40 fc             	mov    -0x4(%eax),%eax
43ed79:	e8 86 07 00 00       	call   0x43f504
43ed7e:	48                   	dec    %eax
43ed7f:	85 c0                	test   %eax,%eax
43ed81:	0f 8c 9c 00 00 00    	jl     0x43ee23
43ed87:	40                   	inc    %eax
43ed88:	89 45 f8             	mov    %eax,-0x8(%ebp)
43ed8b:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
43ed92:	8b 45 08             	mov    0x8(%ebp),%eax
43ed95:	8b 40 fc             	mov    -0x4(%eax),%eax
43ed98:	8b 55 fc             	mov    -0x4(%ebp),%edx
43ed9b:	e8 28 07 00 00       	call   0x43f4c8
43eda0:	8b f8                	mov    %eax,%edi
43eda2:	3a 5f 5b             	cmp    0x5b(%edi),%bl
43eda5:	75 70                	jne    0x43ee17
43eda7:	84 db                	test   %bl,%bl
43eda9:	74 24                	je     0x43edcf
43edab:	80 7f 57 00          	cmpb   $0x0,0x57(%edi)
43edaf:	75 1e                	jne    0x43edcf
43edb1:	a1 7c ee 43 00       	mov    0x43ee7c,%eax
43edb6:	23 47 50             	and    0x50(%edi),%eax
43edb9:	8b 15 7c ee 43 00    	mov    0x43ee7c,%edx
43edbf:	3b d0                	cmp    %eax,%edx
43edc1:	74 0c                	je     0x43edcf
43edc3:	f6 47 1c 10          	testb  $0x10,0x1c(%edi)
43edc7:	74 4e                	je     0x43ee17
43edc9:	f6 47 51 04          	testb  $0x4,0x51(%edi)
43edcd:	75 48                	jne    0x43ee17
43edcf:	8b 45 08             	mov    0x8(%ebp),%eax
43edd2:	3b 78 f0             	cmp    -0x10(%eax),%edi
43edd5:	74 40                	je     0x43ee17
43edd7:	33 f6                	xor    %esi,%esi
43edd9:	eb 01                	jmp    0x43eddc
43eddb:	46                   	inc    %esi
43eddc:	8b 45 08             	mov    0x8(%ebp),%eax
43eddf:	8b 40 f4             	mov    -0xc(%eax),%eax
43ede2:	3b 70 08             	cmp    0x8(%eax),%esi
43ede5:	7d 21                	jge    0x43ee08
43ede7:	8b 45 08             	mov    0x8(%ebp),%eax
43edea:	50                   	push   %eax
43edeb:	8b 45 08             	mov    0x8(%ebp),%eax
43edee:	8b 40 f4             	mov    -0xc(%eax),%eax
43edf1:	8b d6                	mov    %esi,%edx
43edf3:	e8 f8 cf fd ff       	call   0x41bdf0
43edf8:	8b d0                	mov    %eax,%edx
43edfa:	8b cb                	mov    %ebx,%ecx
43edfc:	8b c7                	mov    %edi,%eax
43edfe:	e8 41 fa ff ff       	call   0x43e844
43ee03:	59                   	pop    %ecx
43ee04:	84 c0                	test   %al,%al
43ee06:	74 d3                	je     0x43eddb
43ee08:	8b 45 08             	mov    0x8(%ebp),%eax
43ee0b:	8b 40 f4             	mov    -0xc(%eax),%eax
43ee0e:	8b cf                	mov    %edi,%ecx
43ee10:	8b d6                	mov    %esi,%edx
43ee12:	e8 55 d0 fd ff       	call   0x41be6c
43ee17:	ff 45 fc             	incl   -0x4(%ebp)
43ee1a:	ff 4d f8             	decl   -0x8(%ebp)
43ee1d:	0f 85 6f ff ff ff    	jne    0x43ed92
43ee23:	8b 45 08             	mov    0x8(%ebp),%eax
43ee26:	8b 40 f4             	mov    -0xc(%eax),%eax
43ee29:	8b 40 08             	mov    0x8(%eax),%eax
43ee2c:	48                   	dec    %eax
43ee2d:	85 c0                	test   %eax,%eax
43ee2f:	7c 42                	jl     0x43ee73
43ee31:	40                   	inc    %eax
43ee32:	89 45 f8             	mov    %eax,-0x8(%ebp)
43ee35:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
43ee3c:	8b 45 08             	mov    0x8(%ebp),%eax
43ee3f:	8b 40 f4             	mov    -0xc(%eax),%eax
43ee42:	89 45 e8             	mov    %eax,-0x18(%ebp)
43ee45:	8b 45 fc             	mov    -0x4(%ebp),%eax
43ee48:	89 45 ec             	mov    %eax,-0x14(%ebp)
43ee4b:	88 5d f0             	mov    %bl,-0x10(%ebp)
43ee4e:	8b 45 08             	mov    0x8(%ebp),%eax
43ee51:	50                   	push   %eax
43ee52:	8b 45 08             	mov    0x8(%ebp),%eax
43ee55:	8b 40 f4             	mov    -0xc(%eax),%eax
43ee58:	8b 55 fc             	mov    -0x4(%ebp),%edx
43ee5b:	e8 90 cf fd ff       	call   0x41bdf0
43ee60:	8d 4d e8             	lea    -0x18(%ebp),%ecx
43ee63:	8b d3                	mov    %ebx,%edx
43ee65:	e8 66 fa ff ff       	call   0x43e8d0
43ee6a:	59                   	pop    %ecx
43ee6b:	ff 45 fc             	incl   -0x4(%ebp)
43ee6e:	ff 4d f8             	decl   -0x8(%ebp)
43ee71:	75 c9                	jne    0x43ee3c
43ee73:	5f                   	pop    %edi
43ee74:	5e                   	pop    %esi
43ee75:	5b                   	pop    %ebx
43ee76:	8b e5                	mov    %ebp,%esp
43ee78:	5d                   	pop    %ebp
43ee79:	c3                   	ret
43ee7a:	00 00                	add    %al,(%eax)
43ee7c:	01 04 00             	add    %eax,(%eax,%eax,1)
43ee7f:	00 55 8b             	add    %dl,-0x75(%ebp)
43ee82:	ec                   	in     (%dx),%al
43ee83:	53                   	push   %ebx
43ee84:	56                   	push   %esi
43ee85:	57                   	push   %edi
43ee86:	8b 7d 08             	mov    0x8(%ebp),%edi
43ee89:	83 c7 fc             	add    $0xfffffffc,%edi
43ee8c:	b3 01                	mov    $0x1,%bl
43ee8e:	8b 07                	mov    (%edi),%eax
43ee90:	e8 6f 06 00 00       	call   0x43f504
43ee95:	8b f0                	mov    %eax,%esi
43ee97:	4e                   	dec    %esi
43ee98:	83 fe 00             	cmp    $0x0,%esi
43ee9b:	7c 29                	jl     0x43eec6
43ee9d:	8b 07                	mov    (%edi),%eax
43ee9f:	8b d6                	mov    %esi,%edx
43eea1:	e8 22 06 00 00       	call   0x43f4c8
43eea6:	80 78 5b 00          	cmpb   $0x0,0x5b(%eax)
43eeaa:	75 1c                	jne    0x43eec8
43eeac:	8b 07                	mov    (%edi),%eax
43eeae:	8b d6                	mov    %esi,%edx
43eeb0:	e8 13 06 00 00       	call   0x43f4c8
43eeb5:	8a 15 d0 ee 43 00    	mov    0x43eed0,%dl
43eebb:	3a 50 61             	cmp    0x61(%eax),%dl
43eebe:	75 08                	jne    0x43eec8
43eec0:	4e                   	dec    %esi
43eec1:	83 fe ff             	cmp    $0xffffffff,%esi
43eec4:	75 d7                	jne    0x43ee9d
43eec6:	33 db                	xor    %ebx,%ebx
43eec8:	8b c3                	mov    %ebx,%eax
43eeca:	5f                   	pop    %edi
43eecb:	5e                   	pop    %esi
43eecc:	5b                   	pop    %ebx
43eecd:	5d                   	pop    %ebp
43eece:	c3                   	ret
43eecf:	00 03                	add    %al,(%ebx)
43eed1:	00 00                	add    %al,(%eax)
43eed3:	00 55 8b             	add    %dl,-0x75(%ebp)
43eed6:	ec                   	in     (%dx),%al
43eed7:	83 c4 f0             	add    $0xfffffff0,%esp
43eeda:	56                   	push   %esi
43eedb:	89 4d f8             	mov    %ecx,-0x8(%ebp)
43eede:	89 55 f0             	mov    %edx,-0x10(%ebp)
43eee1:	89 45 fc             	mov    %eax,-0x4(%ebp)
43eee4:	8b 45 fc             	mov    -0x4(%ebp),%eax
43eee7:	80 b8 a8 01 00 00 00 	cmpb   $0x0,0x1a8(%eax)
43eeee:	74 28                	je     0x43ef18
43eef0:	8b 45 fc             	mov    -0x4(%ebp),%eax
43eef3:	80 b8 a7 01 00 00 00 	cmpb   $0x0,0x1a7(%eax)
43eefa:	74 1c                	je     0x43ef18
43eefc:	8b 45 fc             	mov    -0x4(%ebp),%eax
43eeff:	83 b8 7c 01 00 00 00 	cmpl   $0x0,0x17c(%eax)
43ef06:	74 10                	je     0x43ef18
43ef08:	8b 45 fc             	mov    -0x4(%ebp),%eax
43ef0b:	8b 80 7c 01 00 00    	mov    0x17c(%eax),%eax
43ef11:	33 d2                	xor    %edx,%edx
43ef13:	8b 08                	mov    (%eax),%ecx
43ef15:	ff 51 2c             	call   *0x2c(%ecx)
43ef18:	55                   	push   %ebp
43ef19:	e8 62 ff ff ff       	call   0x43ee80
43ef1e:	59                   	pop    %ecx
43ef1f:	84 c0                	test   %al,%al
43ef21:	0f 84 93 00 00 00    	je     0x43efba
43ef27:	8b 55 f8             	mov    -0x8(%ebp),%edx
43ef2a:	8b 45 fc             	mov    -0x4(%ebp),%eax
43ef2d:	8b 08                	mov    (%eax),%ecx
43ef2f:	ff 91 8c 00 00 00    	call   *0x8c(%ecx)
43ef35:	b2 01                	mov    $0x1,%dl
43ef37:	a1 bc 95 41 00       	mov    0x4195bc,%eax
43ef3c:	e8 7b 44 fc ff       	call   0x4033bc
43ef41:	89 45 f4             	mov    %eax,-0xc(%ebp)
43ef44:	33 c0                	xor    %eax,%eax
43ef46:	55                   	push   %ebp
43ef47:	68 b3 ef 43 00       	push   $0x43efb3
43ef4c:	64 ff 30             	push   %fs:(%eax)
43ef4f:	64 89 20             	mov    %esp,%fs:(%eax)
43ef52:	55                   	push   %ebp
43ef53:	b0 01                	mov    $0x1,%al
43ef55:	e8 b6 fd ff ff       	call   0x43ed10
43ef5a:	59                   	pop    %ecx
43ef5b:	55                   	push   %ebp
43ef5c:	b0 02                	mov    $0x2,%al
43ef5e:	e8 ad fd ff ff       	call   0x43ed10
43ef63:	59                   	pop    %ecx
43ef64:	55                   	push   %ebp
43ef65:	b0 03                	mov    $0x3,%al
43ef67:	e8 a4 fd ff ff       	call   0x43ed10
43ef6c:	59                   	pop    %ecx
43ef6d:	55                   	push   %ebp
43ef6e:	b0 04                	mov    $0x4,%al
43ef70:	e8 9b fd ff ff       	call   0x43ed10
43ef75:	59                   	pop    %ecx
43ef76:	55                   	push   %ebp
43ef77:	b0 05                	mov    $0x5,%al
43ef79:	e8 92 fd ff ff       	call   0x43ed10
43ef7e:	59                   	pop    %ecx
43ef7f:	55                   	push   %ebp
43ef80:	b0 06                	mov    $0x6,%al
43ef82:	e8 89 fd ff ff       	call   0x43ed10
43ef87:	59                   	pop    %ecx
43ef88:	55                   	push   %ebp
43ef89:	33 c0                	xor    %eax,%eax
43ef8b:	e8 80 fd ff ff       	call   0x43ed10
43ef90:	59                   	pop    %ecx
43ef91:	8b 45 fc             	mov    -0x4(%ebp),%eax
43ef94:	66 be c7 ff          	mov    $0xffc7,%si
43ef98:	e8 4b 46 fc ff       	call   0x4035e8
43ef9d:	33 c0                	xor    %eax,%eax
43ef9f:	5a                   	pop    %edx
43efa0:	59                   	pop    %ecx
43efa1:	59                   	pop    %ecx
43efa2:	64 89 10             	mov    %edx,%fs:(%eax)
43efa5:	68 ba ef 43 00       	push   $0x43efba
43efaa:	8b 45 f4             	mov    -0xc(%ebp),%eax
43efad:	e8 3a 44 fc ff       	call   0x4033ec
43efb2:	c3                   	ret
43efb3:	e9 b0 4b fc ff       	jmp    0x403b68
43efb8:	eb f0                	jmp    0x43efaa
43efba:	8b 45 fc             	mov    -0x4(%ebp),%eax
43efbd:	80 b8 a6 01 00 00 00 	cmpb   $0x0,0x1a6(%eax)
43efc4:	74 0c                	je     0x43efd2
43efc6:	8b 45 fc             	mov    -0x4(%ebp),%eax
43efc9:	66 be ee ff          	mov    $0xffee,%si
43efcd:	e8 16 46 fc ff       	call   0x4035e8
43efd2:	5e                   	pop    %esi
43efd3:	8b e5                	mov    %ebp,%esp
43efd5:	5d                   	pop    %ebp
43efd6:	c3                   	ret
43efd7:	90                   	nop
43efd8:	55                   	push   %ebp
43efd9:	8b ec                	mov    %esp,%ebp
43efdb:	83 c4 ec             	add    $0xffffffec,%esp
43efde:	53                   	push   %ebx
43efdf:	8b da                	mov    %edx,%ebx
43efe1:	89 45 fc             	mov    %eax,-0x4(%ebp)
43efe4:	8b 45 fc             	mov    -0x4(%ebp),%eax
43efe7:	e8 dc 39 00 00       	call   0x4429c8
43efec:	84 c0                	test   %al,%al
43efee:	74 76                	je     0x43f066
43eff0:	8b 45 fc             	mov    -0x4(%ebp),%eax
43eff3:	f6 40 1c 08          	testb  $0x8,0x1c(%eax)
43eff7:	75 6d                	jne    0x43f066
43eff9:	8b 45 fc             	mov    -0x4(%ebp),%eax
43effc:	66 83 b8 60 01 00 00 	cmpw   $0x0,0x160(%eax)
43f003:	00
43f004:	74 0a                	je     0x43f010
43f006:	8b 45 fc             	mov    -0x4(%ebp),%eax
43f009:	66 83 48 54 10       	orw    $0x10,0x54(%eax)
43f00e:	eb 56                	jmp    0x43f066
43f010:	8b 45 fc             	mov    -0x4(%ebp),%eax
43f013:	e8 54 00 00 00       	call   0x43f06c
43f018:	33 c0                	xor    %eax,%eax
43f01a:	55                   	push   %ebp
43f01b:	68 5f f0 43 00       	push   $0x43f05f
43f020:	64 ff 30             	push   %fs:(%eax)
43f023:	64 89 20             	mov    %esp,%fs:(%eax)
43f026:	8d 55 ec             	lea    -0x14(%ebp),%edx
43f029:	8b 45 fc             	mov    -0x4(%ebp),%eax
43f02c:	8b 08                	mov    (%eax),%ecx
43f02e:	ff 51 44             	call   *0x44(%ecx)
43f031:	8d 4d ec             	lea    -0x14(%ebp),%ecx
43f034:	8b d3                	mov    %ebx,%edx
43f036:	8b 45 fc             	mov    -0x4(%ebp),%eax
43f039:	8b 18                	mov    (%eax),%ebx
43f03b:	ff 93 90 00 00 00    	call   *0x90(%ebx)
43f041:	33 c0                	xor    %eax,%eax
43f043:	5a                   	pop    %edx
43f044:	59                   	pop    %ecx
43f045:	59                   	pop    %ecx
43f046:	64 89 10             	mov    %edx,%fs:(%eax)
43f049:	68 66 f0 43 00       	push   $0x43f066
43f04e:	8b 45 fc             	mov    -0x4(%ebp),%eax
43f051:	66 83 60 54 ef       	andw   $0xffef,0x54(%eax)
43f056:	8b 45 fc             	mov    -0x4(%ebp),%eax
43f059:	e8 16 00 00 00       	call   0x43f074
43f05e:	c3                   	ret
43f05f:	e9 04 4b fc ff       	jmp    0x403b68
43f064:	eb e8                	jmp    0x43f04e
43f066:	5b                   	pop    %ebx
43f067:	8b e5                	mov    %ebp,%esp
43f069:	5d                   	pop    %ebp
43f06a:	c3                   	ret
43f06b:	90                   	nop
43f06c:	66 ff 80 60 01 00 00 	incw   0x160(%eax)
43f073:	c3                   	ret
43f074:	66 ff 88 60 01 00 00 	decw   0x160(%eax)
43f07b:	66 83 b8 60 01 00 00 	cmpw   $0x0,0x160(%eax)
43f082:	00
43f083:	75 0b                	jne    0x43f090
43f085:	f6 40 54 10          	testb  $0x10,0x54(%eax)
43f089:	74 05                	je     0x43f090
43f08b:	e8 04 00 00 00       	call   0x43f094
43f090:	c3                   	ret
43f091:	8d 40 00             	lea    0x0(%eax),%eax
43f094:	33 d2                	xor    %edx,%edx
43f096:	e8 3d ff ff ff       	call   0x43efd8
43f09b:	c3                   	ret
43f09c:	55                   	push   %ebp
43f09d:	8b ec                	mov    %esp,%ebp
43f09f:	83 c4 f4             	add    $0xfffffff4,%esp
43f0a2:	53                   	push   %ebx
43f0a3:	56                   	push   %esi
43f0a4:	57                   	push   %edi
43f0a5:	89 45 fc             	mov    %eax,-0x4(%ebp)
43f0a8:	b2 01                	mov    $0x1,%dl
43f0aa:	a1 bc 95 41 00       	mov    0x4195bc,%eax
43f0af:	e8 08 43 fc ff       	call   0x4033bc
43f0b4:	89 45 f4             	mov    %eax,-0xc(%ebp)
43f0b7:	33 c0                	xor    %eax,%eax
43f0b9:	55                   	push   %ebp
43f0ba:	68 61 f1 43 00       	push   $0x43f161
43f0bf:	64 ff 30             	push   %fs:(%eax)
43f0c2:	64 89 20             	mov    %esp,%fs:(%eax)
43f0c5:	8b 45 fc             	mov    -0x4(%ebp),%eax
43f0c8:	e8 3f c9 ff ff       	call   0x43ba0c
43f0cd:	89 45 f8             	mov    %eax,-0x8(%ebp)
43f0d0:	8b 45 fc             	mov    -0x4(%ebp),%eax
43f0d3:	e8 2c 04 00 00       	call   0x43f504
43f0d8:	8b d8                	mov    %eax,%ebx
43f0da:	4b                   	dec    %ebx
43f0db:	85 db                	test   %ebx,%ebx
43f0dd:	7c 42                	jl     0x43f121
43f0df:	43                   	inc    %ebx
43f0e0:	33 f6                	xor    %esi,%esi
43f0e2:	8b d6                	mov    %esi,%edx
43f0e4:	8b 45 fc             	mov    -0x4(%ebp),%eax
43f0e7:	e8 dc 03 00 00       	call   0x43f4c8
43f0ec:	8b f8                	mov    %eax,%edi
43f0ee:	8b 47 04             	mov    0x4(%edi),%eax
43f0f1:	8b 55 fc             	mov    -0x4(%ebp),%edx
43f0f4:	3b 42 04             	cmp    0x4(%edx),%eax
43f0f7:	75 24                	jne    0x43f11d
43f0f9:	8b d6                	mov    %esi,%edx
43f0fb:	8b 45 fc             	mov    -0x4(%ebp),%eax
43f0fe:	e8 c5 03 00 00       	call   0x43f4c8
43f103:	8b d0                	mov    %eax,%edx
43f105:	8b 45 f4             	mov    -0xc(%ebp),%eax
43f108:	e8 87 cb fd ff       	call   0x41bc94
43f10d:	8b 55 f8             	mov    -0x8(%ebp),%edx
43f110:	2b 57 48             	sub    0x48(%edi),%edx
43f113:	2b 57 40             	sub    0x40(%edi),%edx
43f116:	8b c7                	mov    %edi,%eax
43f118:	e8 5b c6 ff ff       	call   0x43b778
43f11d:	46                   	inc    %esi
43f11e:	4b                   	dec    %ebx
43f11f:	75 c1                	jne    0x43f0e2
43f121:	8b 45 f4             	mov    -0xc(%ebp),%eax
43f124:	8b 58 08             	mov    0x8(%eax),%ebx
43f127:	4b                   	dec    %ebx
43f128:	85 db                	test   %ebx,%ebx
43f12a:	7c 1f                	jl     0x43f14b
43f12c:	43                   	inc    %ebx
43f12d:	33 f6                	xor    %esi,%esi