43ecf4:	0f 84 ae 00 00 00    	je     0x43eda8
43ecfa:	57                   	push   %edi
43ecfb:	8d 45 fc             	lea    -0x4(%ebp),%eax
43ecfe:	89 7d fc             	mov    %edi,-0x4(%ebp)
43ed01:	50                   	push   %eax
43ed02:	8d 55 f8             	lea    -0x8(%ebp),%edx
43ed05:	89 7d f4             	mov    %edi,-0xc(%ebp)
43ed08:	8d 4d f4             	lea    -0xc(%ebp),%ecx
43ed0b:	89 7d f8             	mov    %edi,-0x8(%ebp)
43ed0e:	e8 81 fa fd ff       	call   0x41e794
43ed13:	85 c0                	test   %eax,%eax
43ed15:	0f 88 8d 00 00 00    	js     0x43eda8
43ed1b:	a1 2c 0a 45 00       	mov    0x450a2c,%eax
43ed20:	85 c0                	test   %eax,%eax
43ed22:	74 0d                	je     0x43ed31
43ed24:	83 80 e8 00 00 00 01 	addl   $0x1,0xe8(%eax)
43ed2b:	11 b8 ec 00 00 00    	adc    %edi,0xec(%eax)
43ed31:	83 86 b0 01 00 00 01 	addl   $0x1,0x1b0(%esi)
43ed38:	ff 75 14             	push   0x14(%ebp)
43ed3b:	11 be b4 01 00 00    	adc    %edi,0x1b4(%esi)
43ed41:	8b 86 a0 00 00 00    	mov    0xa0(%esi),%eax
43ed47:	ff 75 10             	push   0x10(%ebp)
43ed4a:	ff 75 0c             	push   0xc(%ebp)
43ed4d:	8b 30                	mov    (%eax),%esi
43ed4f:	50                   	push   %eax
43ed50:	8b 4e 18             	mov    0x18(%esi),%ecx
43ed53:	ff 15 c4 12 45 00    	call   *0x4512c4
43ed59:	ff 56 18             	call   *0x18(%esi)
43ed5c:	8b f0                	mov    %eax,%esi
43ed5e:	ff 15 64 30 45 00    	call   *0x453064
43ed64:	ff 75 fc             	push   -0x4(%ebp)
43ed67:	8b 55 f8             	mov    -0x8(%ebp),%edx
43ed6a:	8b 4d f4             	mov    -0xc(%ebp),%ecx
43ed6d:	e8 e0 ff fd ff       	call   0x41ed52
43ed72:	85 f6                	test   %esi,%esi
43ed74:	79 0f                	jns    0x43ed85
43ed76:	56                   	push   %esi
43ed77:	ff 15 a0 12 45 00    	call   *0x4512a0
43ed7d:	8b c8                	mov    %eax,%ecx
43ed7f:	ff 15 a4 12 45 00    	call   *0x4512a4
43ed85:	a1 00 f0 44 00       	mov    0x44f000,%eax
43ed8a:	3b c3                	cmp    %ebx,%eax
43ed8c:	74 5a                	je     0x43ede8
43ed8e:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
43ed92:	74 54                	je     0x43ede8
43ed94:	80 78 19 02          	cmpb   $0x2,0x19(%eax)
43ed98:	72 4e                	jb     0x43ede8
43ed9a:	56                   	push   %esi
43ed9b:	ff 70 14             	push   0x14(%eax)
43ed9e:	b9 9f 00 00 00       	mov    $0x9f,%ecx
43eda3:	ff 70 10             	push   0x10(%eax)
43eda6:	eb 36                	jmp    0x43edde
43eda8:	be 24 10 04 80       	mov    $0x80041024,%esi
43edad:	56                   	push   %esi
43edae:	ff 15 a0 12 45 00    	call   *0x4512a0
43edb4:	8b c8                	mov    %eax,%ecx
43edb6:	ff 15 a4 12 45 00    	call   *0x4512a4
43edbc:	8b 0d 00 f0 44 00    	mov    0x44f000,%ecx
43edc2:	3b cb                	cmp    %ebx,%ecx
43edc4:	74 22                	je     0x43ede8
43edc6:	f6 41 1c 04          	testb  $0x4,0x1c(%ecx)
43edca:	74 1c                	je     0x43ede8
43edcc:	80 79 19 02          	cmpb   $0x2,0x19(%ecx)
43edd0:	72 16                	jb     0x43ede8
43edd2:	56                   	push   %esi
43edd3:	ff 71 14             	push   0x14(%ecx)
43edd6:	ff 71 10             	push   0x10(%ecx)
43edd9:	b9 a0 00 00 00       	mov    $0xa0,%ecx
43edde:	ba a8 7b 40 00       	mov    $0x407ba8,%edx
43ede3:	e8 de 19 ff ff       	call   0x4307c6
43ede8:	5f                   	pop    %edi
43ede9:	8b c6                	mov    %esi,%eax
43edeb:	5e                   	pop    %esi
43edec:	5b                   	pop    %ebx
43eded:	c9                   	leave
43edee:	c2 10 00             	ret    $0x10
43edf1:	cc                   	int3
43edf2:	cc                   	int3
43edf3:	cc                   	int3
43edf4:	cc                   	int3
43edf5:	cc                   	int3
43edf6:	cc                   	int3
43edf7:	cc                   	int3
43edf8:	cc                   	int3
43edf9:	cc                   	int3
43edfa:	cc                   	int3
43edfb:	cc                   	int3
43edfc:	cc                   	int3
43edfd:	cc                   	int3
43edfe:	cc                   	int3
43edff:	cc                   	int3
43ee00:	8b ff                	mov    %edi,%edi
43ee02:	55                   	push   %ebp
43ee03:	8b ec                	mov    %esp,%ebp
43ee05:	8b 4d 08             	mov    0x8(%ebp),%ecx
43ee08:	32 d2                	xor    %dl,%dl
43ee0a:	ff 75 0c             	push   0xc(%ebp)
43ee0d:	8d 49 e8             	lea    -0x18(%ecx),%ecx
43ee10:	e8 55 d7 ff ff       	call   0x43c56a
43ee15:	5d                   	pop    %ebp
43ee16:	c2 08 00             	ret    $0x8
43ee19:	cc                   	int3
43ee1a:	cc                   	int3
43ee1b:	cc                   	int3
43ee1c:	cc                   	int3
43ee1d:	cc                   	int3
43ee1e:	cc                   	int3
43ee1f:	cc                   	int3
43ee20:	8b ff                	mov    %edi,%edi
43ee22:	55                   	push   %ebp
43ee23:	8b ec                	mov    %esp,%ebp
43ee25:	8b 45 08             	mov    0x8(%ebp),%eax
43ee28:	8b 80 98 00 00 00    	mov    0x98(%eax),%eax
43ee2e:	85 c0                	test   %eax,%eax
43ee30:	74 1c                	je     0x43ee4e
43ee32:	56                   	push   %esi
43ee33:	ff 75 14             	push   0x14(%ebp)
43ee36:	8b 30                	mov    (%eax),%esi
43ee38:	ff 75 10             	push   0x10(%ebp)
43ee3b:	ff 75 0c             	push   0xc(%ebp)
43ee3e:	8b 4e 0c             	mov    0xc(%esi),%ecx
43ee41:	50                   	push   %eax
43ee42:	ff 15 c4 12 45 00    	call   *0x4512c4
43ee48:	ff 56 0c             	call   *0xc(%esi)
43ee4b:	5e                   	pop    %esi
43ee4c:	eb 02                	jmp    0x43ee50
43ee4e:	33 c0                	xor    %eax,%eax
43ee50:	5d                   	pop    %ebp
43ee51:	c2 10 00             	ret    $0x10
43ee54:	cc                   	int3
43ee55:	cc                   	int3
43ee56:	cc                   	int3
43ee57:	cc                   	int3
43ee58:	cc                   	int3
43ee59:	cc                   	int3
43ee5a:	cc                   	int3
43ee5b:	cc                   	int3
43ee5c:	cc                   	int3
43ee5d:	cc                   	int3
43ee5e:	cc                   	int3
43ee5f:	cc                   	int3
43ee60:	8b ff                	mov    %edi,%edi
43ee62:	55                   	push   %ebp
43ee63:	8b ec                	mov    %esp,%ebp
43ee65:	51                   	push   %ecx
43ee66:	a1 00 f0 44 00       	mov    0x44f000,%eax
43ee6b:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
43ee70:	74 2c                	je     0x43ee9e
43ee72:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
43ee76:	74 26                	je     0x43ee9e
43ee78:	80 78 19 05          	cmpb   $0x5,0x19(%eax)
43ee7c:	72 20                	jb     0x43ee9e
43ee7e:	ff 75 10             	push   0x10(%ebp)
43ee81:	ba a8 7b 40 00       	mov    $0x407ba8,%edx
43ee86:	b9 ae 00 00 00       	mov    $0xae,%ecx
43ee8b:	ff 75 0c             	push   0xc(%ebp)
43ee8e:	ff 70 14             	push   0x14(%eax)
43ee91:	ff 70 10             	push   0x10(%eax)
43ee94:	e8 f5 48 ff ff       	call   0x43378e
43ee99:	a1 00 f0 44 00       	mov    0x44f000,%eax
43ee9e:	56                   	push   %esi
43ee9f:	57                   	push   %edi
43eea0:	8b 7d 08             	mov    0x8(%ebp),%edi
43eea3:	83 bf e4 00 00 00 00 	cmpl   $0x0,0xe4(%edi)
43eeaa:	0f 85 91 00 00 00    	jne    0x43ef41
43eeb0:	8b 55 0c             	mov    0xc(%ebp),%edx
43eeb3:	8d 45 fc             	lea    -0x4(%ebp),%eax
43eeb6:	8b 8f f0 00 00 00    	mov    0xf0(%edi),%ecx
43eebc:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43eec0:	50                   	push   %eax
43eec1:	e8 4c 7e 00 00       	call   0x446d12
43eec6:	8b f0                	mov    %eax,%esi
43eec8:	85 f6                	test   %esi,%esi
43eeca:	78 7b                	js     0x43ef47
43eecc:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
43eed0:	8b 87 ec 00 00 00    	mov    0xec(%edi),%eax
43eed6:	75 4d                	jne    0x43ef25
43eed8:	ff 75 10             	push   0x10(%ebp)
43eedb:	50                   	push   %eax
43eedc:	ff 15 38 11 45 00    	call   *0x451138
43eee2:	3d 02 01 00 00       	cmp    $0x102,%eax
43eee7:	75 51                	jne    0x43ef3a
43eee9:	be 13 10 04 80       	mov    $0x80041013,%esi
43eeee:	56                   	push   %esi
43eeef:	ff 15 a0 12 45 00    	call   *0x4512a0
43eef5:	8b c8                	mov    %eax,%ecx
43eef7:	ff 15 a4 12 45 00    	call   *0x4512a4
43eefd:	8b 0d 00 f0 44 00    	mov    0x44f000,%ecx
43ef03:	81 f9 00 f0 44 00    	cmp    $0x44f000,%ecx
43ef09:	74 79                	je     0x43ef84
43ef0b:	f6 41 1c 04          	testb  $0x4,0x1c(%ecx)
43ef0f:	74 73                	je     0x43ef84
43ef11:	80 79 19 02          	cmpb   $0x2,0x19(%ecx)
43ef15:	72 6d                	jb     0x43ef84
43ef17:	56                   	push   %esi
43ef18:	ff 71 14             	push   0x14(%ecx)
43ef1b:	ff 71 10             	push   0x10(%ecx)
43ef1e:	b9 af 00 00 00       	mov    $0xaf,%ecx
43ef23:	eb 55                	jmp    0x43ef7a
43ef25:	6a 00                	push   $0x0
43ef27:	50                   	push   %eax
43ef28:	ff 15 38 11 45 00    	call   *0x451138
43ef2e:	3d 02 01 00 00       	cmp    $0x102,%eax
43ef33:	75 05                	jne    0x43ef3a
43ef35:	33 c0                	xor    %eax,%eax
43ef37:	40                   	inc    %eax
43ef38:	eb 4c                	jmp    0x43ef86
43ef3a:	a1 00 f0 44 00       	mov    0x44f000,%eax
43ef3f:	eb 02                	jmp    0x43ef43
43ef41:	33 f6                	xor    %esi,%esi
43ef43:	85 f6                	test   %esi,%esi
43ef45:	79 14                	jns    0x43ef5b
43ef47:	56                   	push   %esi
43ef48:	ff 15 a0 12 45 00    	call   *0x4512a0
43ef4e:	8b c8                	mov    %eax,%ecx
43ef50:	ff 15 a4 12 45 00    	call   *0x4512a4
43ef56:	a1 00 f0 44 00       	mov    0x44f000,%eax
43ef5b:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
43ef60:	74 22                	je     0x43ef84
43ef62:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
43ef66:	74 1c                	je     0x43ef84
43ef68:	80 78 19 02          	cmpb   $0x2,0x19(%eax)
43ef6c:	72 16                	jb     0x43ef84
43ef6e:	56                   	push   %esi
43ef6f:	ff 70 14             	push   0x14(%eax)
43ef72:	b9 b0 00 00 00       	mov    $0xb0,%ecx
43ef77:	ff 70 10             	push   0x10(%eax)
43ef7a:	ba a8 7b 40 00       	mov    $0x407ba8,%edx
43ef7f:	e8 42 18 ff ff       	call   0x4307c6
43ef84:	8b c6                	mov    %esi,%eax
43ef86:	5f                   	pop    %edi
43ef87:	5e                   	pop    %esi
43ef88:	c9                   	leave
43ef89:	c2 0c 00             	ret    $0xc
43ef8c:	8b ff                	mov    %edi,%edi
43ef8e:	55                   	push   %ebp
43ef8f:	8b ec                	mov    %esp,%ebp
43ef91:	83 ec 0c             	sub    $0xc,%esp
43ef94:	53                   	push   %ebx
43ef95:	56                   	push   %esi
43ef96:	8b 75 18             	mov    0x18(%ebp),%esi
43ef99:	8b da                	mov    %edx,%ebx
43ef9b:	57                   	push   %edi
43ef9c:	33 ff                	xor    %edi,%edi
43ef9e:	89 5d f8             	mov    %ebx,-0x8(%ebp)
43efa1:	89 4d f4             	mov    %ecx,-0xc(%ebp)
43efa4:	89 7d fc             	mov    %edi,-0x4(%ebp)
43efa7:	85 f6                	test   %esi,%esi
43efa9:	74 1d                	je     0x43efc8
43efab:	8b d6                	mov    %esi,%edx
43efad:	8d 4a 02             	lea    0x2(%edx),%ecx
43efb0:	66 8b 02             	mov    (%edx),%ax
43efb3:	83 c2 02             	add    $0x2,%edx
43efb6:	66 3b c7             	cmp    %di,%ax
43efb9:	75 f5                	jne    0x43efb0
43efbb:	2b d1                	sub    %ecx,%edx
43efbd:	d1 fa                	sar    $1,%edx
43efbf:	8d 3c 55 02 00 00 00 	lea    0x2(,%edx,2),%edi
43efc6:	eb 03                	jmp    0x43efcb
43efc8:	6a 0a                	push   $0xa
43efca:	5f                   	pop    %edi
43efcb:	85 f6                	test   %esi,%esi
43efcd:	75 05                	jne    0x43efd4
43efcf:	be 98 aa 40 00       	mov    $0x40aa98,%esi
43efd4:	8b 55 10             	mov    0x10(%ebp),%edx
43efd7:	85 d2                	test   %edx,%edx
43efd9:	74 21                	je     0x43effc
43efdb:	8b ca                	mov    %edx,%ecx
43efdd:	8d 59 02             	lea    0x2(%ecx),%ebx
43efe0:	66 8b 01             	mov    (%ecx),%ax
43efe3:	83 c1 02             	add    $0x2,%ecx
43efe6:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
43efea:	75 f4                	jne    0x43efe0
43efec:	2b cb                	sub    %ebx,%ecx
43efee:	8b 5d f8             	mov    -0x8(%ebp),%ebx
43eff1:	d1 f9                	sar    $1,%ecx
43eff3:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
43effa:	eb 03                	jmp    0x43efff
43effc:	6a 0a                	push   $0xa
43effe:	59                   	pop    %ecx
43efff:	85 d2                	test   %edx,%edx
43f001:	75 05                	jne    0x43f008
43f003:	ba 98 aa 40 00       	mov    $0x40aa98,%edx
43f008:	33 c0                	xor    %eax,%eax
43f00a:	50                   	push   %eax
43f00b:	6a 04                	push   $0x4
43f00d:	8d 45 20             	lea    0x20(%ebp),%eax
43f010:	50                   	push   %eax
43f011:	6a 04                	push   $0x4
43f013:	8d 45 1c             	lea    0x1c(%ebp),%eax
43f016:	50                   	push   %eax
43f017:	57                   	push   %edi
43f018:	56                   	push   %esi
43f019:	6a 0a                	push   $0xa
43f01b:	68 98 aa 40 00       	push   $0x40aa98
43f020:	51                   	push   %ecx
43f021:	52                   	push   %edx
43f022:	ff 75 f4             	push   -0xc(%ebp)
43f025:	53                   	push   %ebx
43f026:	6a 2b                	push   $0x2b
43f028:	ff 75 0c             	push   0xc(%ebp)
43f02b:	ff 75 08             	push   0x8(%ebp)
43f02e:	ff 15 94 12 45 00    	call   *0x451294
43f034:	83 c4 40             	add    $0x40,%esp
43f037:	5f                   	pop    %edi
43f038:	5e                   	pop    %esi
43f039:	5b                   	pop    %ebx
43f03a:	c9                   	leave
43f03b:	c2 1c 00             	ret    $0x1c
43f03e:	8b ff                	mov    %edi,%edi
43f040:	55                   	push   %ebp
43f041:	8b ec                	mov    %esp,%ebp
43f043:	8b 55 14             	mov    0x14(%ebp),%edx
43f046:	56                   	push   %esi
43f047:	57                   	push   %edi
43f048:	33 ff                	xor    %edi,%edi
43f04a:	85 d2                	test   %edx,%edx
43f04c:	74 1d                	je     0x43f06b
43f04e:	8b ca                	mov    %edx,%ecx
43f050:	8d 71 02             	lea    0x2(%ecx),%esi
43f053:	66 8b 01             	mov    (%ecx),%ax
43f056:	83 c1 02             	add    $0x2,%ecx
43f059:	66 3b c7             	cmp    %di,%ax
43f05c:	75 f5                	jne    0x43f053
43f05e:	2b ce                	sub    %esi,%ecx
43f060:	d1 f9                	sar    $1,%ecx
43f062:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
43f069:	eb 03                	jmp    0x43f06e
43f06b:	6a 0a                	push   $0xa
43f06d:	59                   	pop    %ecx
43f06e:	85 d2                	test   %edx,%edx
43f070:	75 05                	jne    0x43f077
43f072:	ba 98 aa 40 00       	mov    $0x40aa98,%edx
43f077:	57                   	push   %edi
43f078:	6a 04                	push   $0x4
43f07a:	5e                   	pop    %esi
43f07b:	56                   	push   %esi
43f07c:	8d 45 20             	lea    0x20(%ebp),%eax
43f07f:	50                   	push   %eax
43f080:	56                   	push   %esi
43f081:	8d 45 1c             	lea    0x1c(%ebp),%eax
43f084:	50                   	push   %eax
43f085:	56                   	push   %esi
43f086:	8d 45 18             	lea    0x18(%ebp),%eax
43f089:	50                   	push   %eax
43f08a:	51                   	push   %ecx
43f08b:	52                   	push   %edx
43f08c:	56                   	push   %esi
43f08d:	8d 45 10             	lea    0x10(%ebp),%eax
43f090:	50                   	push   %eax