43eb79:	8b c7                	mov    %edi,%eax
43eb7b:	e8 a8 b3 fd ff       	call   0x419f28
43eb80:	84 db                	test   %bl,%bl
43eb82:	7e 07                	jle    0x43eb8b
43eb84:	8b c7                	mov    %edi,%eax
43eb86:	e8 31 4a fc ff       	call   0x4035bc
43eb8b:	83 c4 10             	add    $0x10,%esp
43eb8e:	5f                   	pop    %edi
43eb8f:	5e                   	pop    %esi
43eb90:	5b                   	pop    %ebx
43eb91:	c3                   	ret
43eb92:	8b c0                	mov    %eax,%eax
43eb94:	33 c0                	xor    %eax,%eax
43eb96:	c3                   	ret
43eb97:	90                   	nop
43eb98:	8a 40 58             	mov    0x58(%eax),%al
43eb9b:	c3                   	ret
43eb9c:	33 c0                	xor    %eax,%eax
43eb9e:	c3                   	ret
43eb9f:	90                   	nop
43eba0:	83 78 30 00          	cmpl   $0x0,0x30(%eax)
43eba4:	0f 95 c0             	setne  %al
43eba7:	c3                   	ret
43eba8:	8b 40 30             	mov    0x30(%eax),%eax
43ebab:	c3                   	ret
43ebac:	53                   	push   %ebx
43ebad:	56                   	push   %esi
43ebae:	8b f2                	mov    %edx,%esi
43ebb0:	8b d8                	mov    %eax,%ebx
43ebb2:	3b 73 30             	cmp    0x30(%ebx),%esi
43ebb5:	74 1a                	je     0x43ebd1
43ebb7:	8b c6                	mov    %esi,%eax
43ebb9:	8b 15 94 b6 43 00    	mov    0x43b694,%edx
43ebbf:	e8 10 48 fc ff       	call   0x4033d4
43ebc4:	84 c0                	test   %al,%al
43ebc6:	74 09                	je     0x43ebd1
43ebc8:	8b d6                	mov    %esi,%edx
43ebca:	8b c3                	mov    %ebx,%eax
43ebcc:	8b 08                	mov    (%eax),%ecx
43ebce:	ff 51 68             	call   *0x68(%ecx)
43ebd1:	5e                   	pop    %esi
43ebd2:	5b                   	pop    %ebx
43ebd3:	c3                   	ret
43ebd4:	53                   	push   %ebx
43ebd5:	56                   	push   %esi
43ebd6:	57                   	push   %edi
43ebd7:	55                   	push   %ebp
43ebd8:	83 c4 f8             	add    $0xfffffff8,%esp
43ebdb:	88 14 24             	mov    %dl,(%esp)
43ebde:	8b e8                	mov    %eax,%ebp
43ebe0:	33 db                	xor    %ebx,%ebx
43ebe2:	80 7d 57 00          	cmpb   $0x0,0x57(%ebp)
43ebe6:	74 58                	je     0x43ec40
43ebe8:	8b c5                	mov    %ebp,%eax
43ebea:	66 be d7 ff          	mov    $0xffd7,%si
43ebee:	e8 51 48 fc ff       	call   0x403444
43ebf3:	8b f8                	mov    %eax,%edi
43ebf5:	85 ff                	test   %edi,%edi
43ebf7:	74 47                	je     0x43ec40
43ebf9:	8d 54 24 04          	lea    0x4(%esp),%edx
43ebfd:	8b c5                	mov    %ebp,%eax
43ebff:	8b 08                	mov    (%eax),%ecx
43ec01:	ff 51 48             	call   *0x48(%ecx)
43ec04:	8b f0                	mov    %eax,%esi
43ec06:	8a 04 24             	mov    (%esp),%al
43ec09:	34 01                	xor    $0x1,%al
43ec0b:	f6 d8                	neg    %al
43ec0d:	1b c0                	sbb    %eax,%eax
43ec0f:	50                   	push   %eax
43ec10:	57                   	push   %edi
43ec11:	56                   	push   %esi
43ec12:	e8 75 77 fc ff       	call   0x40638c
43ec17:	8b f8                	mov    %eax,%edi
43ec19:	56                   	push   %esi
43ec1a:	e8 35 77 fc ff       	call   0x406354
43ec1f:	85 c0                	test   %eax,%eax
43ec21:	74 07                	je     0x43ec2a
43ec23:	8b c5                	mov    %ebp,%eax
43ec25:	8b 10                	mov    (%eax),%edx
43ec27:	ff 52 7c             	call   *0x7c(%edx)
43ec2a:	6a ff                	push   $0xffffffff
43ec2c:	57                   	push   %edi
43ec2d:	56                   	push   %esi
43ec2e:	e8 59 77 fc ff       	call   0x40638c
43ec33:	56                   	push   %esi
43ec34:	8b 44 24 08          	mov    0x8(%esp),%eax
43ec38:	50                   	push   %eax
43ec39:	e8 ae 7b fc ff       	call   0x4067ec
43ec3e:	b3 01                	mov    $0x1,%bl
43ec40:	8b c3                	mov    %ebx,%eax
43ec42:	59                   	pop    %ecx
43ec43:	5a                   	pop    %edx
43ec44:	5d                   	pop    %ebp
43ec45:	5f                   	pop    %edi
43ec46:	5e                   	pop    %esi
43ec47:	5b                   	pop    %ebx
43ec48:	c3                   	ret
43ec49:	8d 40 00             	lea    0x0(%eax),%eax
43ec4c:	8b 50 6c             	mov    0x6c(%eax),%edx
43ec4f:	85 d2                	test   %edx,%edx
43ec51:	74 04                	je     0x43ec57
43ec53:	8b 42 10             	mov    0x10(%edx),%eax
43ec56:	c3                   	ret
43ec57:	33 c0                	xor    %eax,%eax
43ec59:	c3                   	ret
43ec5a:	8b c0                	mov    %eax,%eax
43ec5c:	53                   	push   %ebx
43ec5d:	51                   	push   %ecx
43ec5e:	88 14 24             	mov    %dl,(%esp)
43ec61:	8b d8                	mov    %eax,%ebx
43ec63:	8a 04 24             	mov    (%esp),%al
43ec66:	3a 43 61             	cmp    0x61(%ebx),%al
43ec69:	74 0d                	je     0x43ec78
43ec6b:	8a 04 24             	mov    (%esp),%al
43ec6e:	88 43 61             	mov    %al,0x61(%ebx)
43ec71:	8b c3                	mov    %ebx,%eax
43ec73:	e8 e4 02 00 00       	call   0x43ef5c
43ec78:	5a                   	pop    %edx
43ec79:	5b                   	pop    %ebx
43ec7a:	c3                   	ret
43ec7b:	90                   	nop
43ec7c:	53                   	push   %ebx
43ec7d:	56                   	push   %esi
43ec7e:	57                   	push   %edi
43ec7f:	8b fa                	mov    %edx,%edi
43ec81:	8b d8                	mov    %eax,%ebx
43ec83:	85 ff                	test   %edi,%edi
43ec85:	75 16                	jne    0x43ec9d
43ec87:	8b 43 6c             	mov    0x6c(%ebx),%eax
43ec8a:	e8 b9 45 fc ff       	call   0x403248
43ec8f:	33 c0                	xor    %eax,%eax
43ec91:	89 43 6c             	mov    %eax,0x6c(%ebx)
43ec94:	81 63 50 ff 7f ff ff 	andl   $0xffff7fff,0x50(%ebx)
43ec9b:	eb 56                	jmp    0x43ecf3
43ec9d:	81 4b 50 00 80 00 00 	orl    $0x8000,0x50(%ebx)
43eca4:	83 7b 6c 00          	cmpl   $0x0,0x6c(%ebx)
43eca8:	75 15                	jne    0x43ecbf
43ecaa:	8b c3                	mov    %ebx,%eax
43ecac:	66 be d9 ff          	mov    $0xffd9,%si
43ecb0:	e8 8f 47 fc ff       	call   0x403444
43ecb5:	8b cb                	mov    %ebx,%ecx
43ecb7:	b2 01                	mov    $0x1,%dl
43ecb9:	ff 50 14             	call   *0x14(%eax)
43ecbc:	89 43 6c             	mov    %eax,0x6c(%ebx)
43ecbf:	8b d7                	mov    %edi,%edx
43ecc1:	8b 43 6c             	mov    0x6c(%ebx),%eax
43ecc4:	8b 08                	mov    (%eax),%ecx
43ecc6:	ff 51 0c             	call   *0xc(%ecx)
43ecc9:	8b 43 6c             	mov    0x6c(%ebx),%eax
43eccc:	89 58 0c             	mov    %ebx,0xc(%eax)
43eccf:	c7 40 08 d8 18 44 00 	movl   $0x4418d8,0x8(%eax)
43ecd6:	f6 47 1c 01          	testb  $0x1,0x1c(%edi)
43ecda:	0f 95 c1             	setne  %cl
43ecdd:	8b d7                	mov    %edi,%edx
43ecdf:	8b c3                	mov    %ebx,%eax
43ece1:	66 be ef ff          	mov    $0xffef,%si
43ece5:	e8 5a 47 fc ff       	call   0x403444
43ecea:	8b d3                	mov    %ebx,%edx
43ecec:	8b c7                	mov    %edi,%eax
43ecee:	e8 b9 b2 fd ff       	call   0x419fac
43ecf3:	5f                   	pop    %edi
43ecf4:	5e                   	pop    %esi
43ecf5:	5b                   	pop    %ebx
43ecf6:	c3                   	ret
43ecf7:	90                   	nop
43ecf8:	53                   	push   %ebx
43ecf9:	8b d8                	mov    %eax,%ebx
43ecfb:	33 c0                	xor    %eax,%eax
43ecfd:	8a 43 5b             	mov    0x5b(%ebx),%al
43ed00:	8a 80 50 3b 46 00    	mov    0x463b50(%eax),%al
43ed06:	3a 43 61             	cmp    0x61(%ebx),%al
43ed09:	0f 95 c0             	setne  %al
43ed0c:	5b                   	pop    %ebx
43ed0d:	c3                   	ret
43ed0e:	8b c0                	mov    %eax,%eax
43ed10:	88 50 5d             	mov    %dl,0x5d(%eax)
43ed13:	c3                   	ret
43ed14:	8b 50 30             	mov    0x30(%eax),%edx
43ed17:	85 d2                	test   %edx,%edx
43ed19:	74 06                	je     0x43ed21
43ed1b:	92                   	xchg   %eax,%edx
43ed1c:	e8 d3 3b 00 00       	call   0x4428f4
43ed21:	c3                   	ret
43ed22:	8b c0                	mov    %eax,%eax
43ed24:	53                   	push   %ebx
43ed25:	66 83 b8 fa 00 00 00 	cmpw   $0x0,0xfa(%eax)
43ed2c:	00
43ed2d:	74 10                	je     0x43ed3f
43ed2f:	8b d8                	mov    %eax,%ebx
43ed31:	8b d0                	mov    %eax,%edx
43ed33:	8b 83 fc 00 00 00    	mov    0xfc(%ebx),%eax
43ed39:	ff 93 f8 00 00 00    	call   *0xf8(%ebx)
43ed3f:	5b                   	pop    %ebx
43ed40:	c3                   	ret
43ed41:	8d 40 00             	lea    0x0(%eax),%eax
43ed44:	53                   	push   %ebx
43ed45:	56                   	push   %esi
43ed46:	57                   	push   %edi
43ed47:	8b f2                	mov    %edx,%esi
43ed49:	8b d8                	mov    %eax,%ebx
43ed4b:	66 83 4b 54 08       	orw    $0x8,0x54(%ebx)
43ed50:	8b 7e 2c             	mov    0x2c(%esi),%edi
43ed53:	8b c7                	mov    %edi,%eax
43ed55:	8b 15 94 b6 43 00    	mov    0x43b694,%edx
43ed5b:	e8 74 46 fc ff       	call   0x4033d4
43ed60:	84 c0                	test   %al,%al
43ed62:	74 09                	je     0x43ed6d
43ed64:	8b d7                	mov    %edi,%edx
43ed66:	8b c3                	mov    %ebx,%eax
43ed68:	8b 08                	mov    (%eax),%ecx
43ed6a:	ff 51 68             	call   *0x68(%ecx)
43ed6d:	8b d6                	mov    %esi,%edx
43ed6f:	8b c3                	mov    %ebx,%eax
43ed71:	e8 c6 b5 fd ff       	call   0x41a33c
43ed76:	66 83 63 54 f7       	andw   $0xfff7,0x54(%ebx)
43ed7b:	83 7b 30 00          	cmpl   $0x0,0x30(%ebx)
43ed7f:	74 50                	je     0x43edd1
43ed81:	6a 00                	push   $0x0
43ed83:	33 c9                	xor    %ecx,%ecx
43ed85:	ba 09 b0 00 00       	mov    $0xb009,%edx
43ed8a:	8b c3                	mov    %ebx,%eax
43ed8c:	e8 2b 1d 00 00       	call   0x440abc
43ed91:	6a 00                	push   $0x0
43ed93:	33 c9                	xor    %ecx,%ecx
43ed95:	ba 08 b0 00 00       	mov    $0xb008,%edx
43ed9a:	8b c3                	mov    %ebx,%eax
43ed9c:	e8 1b 1d 00 00       	call   0x440abc
43eda1:	6a 00                	push   $0x0
43eda3:	33 c9                	xor    %ecx,%ecx
43eda5:	ba 23 b0 00 00       	mov    $0xb023,%edx
43edaa:	8b c3                	mov    %ebx,%eax
43edac:	e8 0b 1d 00 00       	call   0x440abc
43edb1:	6a 00                	push   $0x0
43edb3:	33 c9                	xor    %ecx,%ecx
43edb5:	ba 35 b0 00 00       	mov    $0xb035,%edx
43edba:	8b c3                	mov    %ebx,%eax
43edbc:	e8 fb 1c 00 00       	call   0x440abc
43edc1:	6a 00                	push   $0x0
43edc3:	33 c9                	xor    %ecx,%ecx
43edc5:	ba 3d b0 00 00       	mov    $0xb03d,%edx
43edca:	8b c3                	mov    %ebx,%eax
43edcc:	e8 eb 1c 00 00       	call   0x440abc
43edd1:	5f                   	pop    %edi
43edd2:	5e                   	pop    %esi
43edd3:	5b                   	pop    %ebx
43edd4:	c3                   	ret
43edd5:	8d 40 00             	lea    0x0(%eax),%eax
43edd8:	53                   	push   %ebx
43edd9:	56                   	push   %esi
43edda:	57                   	push   %edi
43eddb:	8b d9                	mov    %ecx,%ebx
43eddd:	8b fa                	mov    %edx,%edi
43eddf:	8b f0                	mov    %eax,%esi
43ede1:	8b cb                	mov    %ebx,%ecx
43ede3:	8b d7                	mov    %edi,%edx
43ede5:	8b c6                	mov    %esi,%eax
43ede7:	e8 0c b4 fd ff       	call   0x41a1f8
43edec:	80 fb 01             	cmp    $0x1,%bl
43edef:	75 24                	jne    0x43ee15
43edf1:	3b 7e 7c             	cmp    0x7c(%esi),%edi
43edf4:	75 0b                	jne    0x43ee01
43edf6:	33 d2                	xor    %edx,%edx
43edf8:	8b c6                	mov    %esi,%eax
43edfa:	e8 c1 0a 00 00       	call   0x43f8c0
43edff:	eb 14                	jmp    0x43ee15
43ee01:	8b c6                	mov    %esi,%eax
43ee03:	8b 10                	mov    (%eax),%edx
43ee05:	ff 52 3c             	call   *0x3c(%edx)
43ee08:	3b f8                	cmp    %eax,%edi
43ee0a:	75 09                	jne    0x43ee15
43ee0c:	33 d2                	xor    %edx,%edx
43ee0e:	8b c6                	mov    %esi,%eax
43ee10:	e8 67 fe ff ff       	call   0x43ec7c
43ee15:	5f                   	pop    %edi
43ee16:	5e                   	pop    %esi
43ee17:	5b                   	pop    %ebx
43ee18:	c3                   	ret
43ee19:	8d 40 00             	lea    0x0(%eax),%eax
43ee1c:	53                   	push   %ebx
43ee1d:	56                   	push   %esi
43ee1e:	57                   	push   %edi
43ee1f:	51                   	push   %ecx
43ee20:	8b da                	mov    %edx,%ebx
43ee22:	8b f8                	mov    %eax,%edi
43ee24:	8a 47 5b             	mov    0x5b(%edi),%al
43ee27:	3a d8                	cmp    %al,%bl
43ee29:	0f 84 85 00 00 00    	je     0x43eeb4
43ee2f:	88 04 24             	mov    %al,(%esp)
43ee32:	88 5f 5b             	mov    %bl,0x5b(%edi)
43ee35:	33 c0                	xor    %eax,%eax
43ee37:	8a c3                	mov    %bl,%al
43ee39:	8a 90 50 3b 46 00    	mov    0x463b50(%eax),%dl
43ee3f:	8b c7                	mov    %edi,%eax
43ee41:	e8 16 fe ff ff       	call   0x43ec5c
43ee46:	f6 47 1c 01          	testb  $0x1,0x1c(%edi)
43ee4a:	75 68                	jne    0x43eeb4
43ee4c:	f6 47 1c 10          	testb  $0x10,0x1c(%edi)
43ee50:	74 06                	je     0x43ee58
43ee52:	83 7f 30 00          	cmpl   $0x0,0x30(%edi)
43ee56:	74 5c                	je     0x43eeb4
43ee58:	80 fb 06             	cmp    $0x6,%bl
43ee5b:	74 57                	je     0x43eeb4
43ee5d:	80 3c 24 06          	cmpb   $0x6,(%esp)
43ee61:	74 51                	je     0x43eeb4
43ee63:	8a 04 24             	mov    (%esp),%al
43ee66:	48                   	dec    %eax
43ee67:	2c 02                	sub    $0x2,%al
43ee69:	0f 92 c0             	setb   %al
43ee6c:	8b d3                	mov    %ebx,%edx
43ee6e:	80 c2 fd             	add    $0xfd,%dl
43ee71:	80 ea 02             	sub    $0x2,%dl
43ee74:	0f 92 c2             	setb   %dl
43ee77:	3a c2                	cmp    %dl,%al
43ee79:	75 2e                	jne    0x43eea9
43ee7b:	8a 04 24             	mov    (%esp),%al
43ee7e:	84 c0                	test   %al,%al
43ee80:	74 27                	je     0x43eea9
43ee82:	2c 05                	sub    $0x5,%al
43ee84:	74 23                	je     0x43eea9
43ee86:	84 db                	test   %bl,%bl
43ee88:	74 1f                	je     0x43eea9
43ee8a:	80 eb 05             	sub    $0x5,%bl
43ee8d:	74 1a                	je     0x43eea9
43ee8f:	8b 47 4c             	mov    0x4c(%edi),%eax
43ee92:	50                   	push   %eax
43ee93:	8b 47 48             	mov    0x48(%edi),%eax
43ee96:	50                   	push   %eax
43ee97:	8b 4f 44             	mov    0x44(%edi),%ecx
43ee9a:	8b 57 40             	mov    0x40(%edi),%edx
43ee9d:	8b c7                	mov    %edi,%eax
43ee9f:	8b 18                	mov    (%eax),%ebx
43eea1:	ff 93 84 00 00 00    	call   *0x84(%ebx)
43eea7:	eb 0b                	jmp    0x43eeb4
43eea9:	8b c7                	mov    %edi,%eax
43eeab:	66 be ee ff          	mov    $0xffee,%si
43eeaf:	e8 90 45 fc ff       	call   0x403444
43eeb4:	8b c7                	mov    %edi,%eax
43eeb6:	66 be d0 ff          	mov    $0xffd0,%si
43eeba:	e8 85 45 fc ff       	call   0x403444
43eebf:	5a                   	pop    %edx
43eec0:	5f                   	pop    %edi
43eec1:	5e                   	pop    %esi
43eec2:	5b                   	pop    %ebx
43eec3:	c3                   	ret
43eec4:	55                   	push   %ebp
43eec5:	8b ec                	mov    %esp,%ebp
43eec7:	53                   	push   %ebx
43eec8:	56                   	push   %esi
43eec9:	57                   	push   %edi
43eeca:	8b f9                	mov    %ecx,%edi