430e01:	e8 93 00 00 00       	call   0x430e99
430e06:	57                   	push   %edi
430e07:	ba 00 01 00 00       	mov    $0x100,%edx
430e0c:	8d 8d fc fd ff ff    	lea    -0x204(%ebp),%ecx
430e12:	e8 82 00 00 00       	call   0x430e99
430e17:	33 ff                	xor    %edi,%edi
430e19:	8d 85 f8 fd ff ff    	lea    -0x208(%ebp),%eax
430e1f:	57                   	push   %edi
430e20:	50                   	push   %eax
430e21:	57                   	push   %edi
430e22:	68 3f 00 0f 00       	push   $0xf003f
430e27:	57                   	push   %edi
430e28:	57                   	push   %edi
430e29:	57                   	push   %edi
430e2a:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
430e30:	50                   	push   %eax
430e31:	68 00 00 00 80       	push   $0x80000000
430e36:	ff 15 1c 11 45 00    	call   *0x45111c
430e3c:	85 c0                	test   %eax,%eax
430e3e:	75 46                	jne    0x430e86
430e40:	85 f6                	test   %esi,%esi
430e42:	74 31                	je     0x430e75
430e44:	8b ce                	mov    %esi,%ecx
430e46:	8d 51 02             	lea    0x2(%ecx),%edx
430e49:	66 8b 01             	mov    (%ecx),%ax
430e4c:	83 c1 02             	add    $0x2,%ecx
430e4f:	66 3b c7             	cmp    %di,%ax
430e52:	75 f5                	jne    0x430e49
430e54:	2b ca                	sub    %edx,%ecx
430e56:	d1 f9                	sar    $1,%ecx
430e58:	8d 04 4d 02 00 00 00 	lea    0x2(,%ecx,2),%eax
430e5f:	50                   	push   %eax
430e60:	56                   	push   %esi
430e61:	6a 01                	push   $0x1
430e63:	57                   	push   %edi
430e64:	53                   	push   %ebx
430e65:	ff b5 f8 fd ff ff    	push   -0x208(%ebp)
430e6b:	ff 15 20 11 45 00    	call   *0x451120
430e71:	85 c0                	test   %eax,%eax
430e73:	75 11                	jne    0x430e86
430e75:	ff b5 f8 fd ff ff    	push   -0x208(%ebp)
430e7b:	ff 15 14 11 45 00    	call   *0x451114
430e81:	33 c0                	xor    %eax,%eax
430e83:	40                   	inc    %eax
430e84:	eb 02                	jmp    0x430e88
430e86:	33 c0                	xor    %eax,%eax
430e88:	8b 4d fc             	mov    -0x4(%ebp),%ecx
430e8b:	5f                   	pop    %edi
430e8c:	5e                   	pop    %esi
430e8d:	33 cd                	xor    %ebp,%ecx
430e8f:	5b                   	pop    %ebx
430e90:	e8 7b e4 fe ff       	call   0x41f310
430e95:	c9                   	leave
430e96:	c2 08 00             	ret    $0x8
430e99:	8b ff                	mov    %edi,%edi
430e9b:	55                   	push   %ebp
430e9c:	8b ec                	mov    %esp,%ebp
430e9e:	51                   	push   %ecx
430e9f:	56                   	push   %esi
430ea0:	8b f2                	mov    %edx,%esi
430ea2:	33 d2                	xor    %edx,%edx
430ea4:	8b c2                	mov    %edx,%eax
430ea6:	57                   	push   %edi
430ea7:	8b f9                	mov    %ecx,%edi
430ea9:	85 f6                	test   %esi,%esi
430eab:	74 08                	je     0x430eb5
430ead:	81 fe ff ff ff 7f    	cmp    $0x7fffffff,%esi
430eb3:	76 05                	jbe    0x430eba
430eb5:	b8 57 00 07 80       	mov    $0x80070057,%eax
430eba:	85 c0                	test   %eax,%eax
430ebc:	78 23                	js     0x430ee1
430ebe:	8d 45 fc             	lea    -0x4(%ebp),%eax
430ec1:	8b d6                	mov    %esi,%edx
430ec3:	50                   	push   %eax
430ec4:	e8 a3 00 00 00       	call   0x430f6c
430ec9:	8b 55 fc             	mov    -0x4(%ebp),%edx
430ecc:	85 c0                	test   %eax,%eax
430ece:	78 11                	js     0x430ee1
430ed0:	51                   	push   %ecx
430ed1:	ff 75 08             	push   0x8(%ebp)
430ed4:	2b f2                	sub    %edx,%esi
430ed6:	51                   	push   %ecx
430ed7:	8d 0c 57             	lea    (%edi,%edx,2),%ecx
430eda:	8b d6                	mov    %esi,%edx
430edc:	e8 3b 00 00 00       	call   0x430f1c
430ee1:	5f                   	pop    %edi
430ee2:	5e                   	pop    %esi
430ee3:	c9                   	leave
430ee4:	c2 04 00             	ret    $0x4
430ee7:	8b ff                	mov    %edi,%edi
430ee9:	55                   	push   %ebp
430eea:	8b ec                	mov    %esp,%ebp
430eec:	33 c0                	xor    %eax,%eax
430eee:	85 d2                	test   %edx,%edx
430ef0:	74 08                	je     0x430efa
430ef2:	81 fa ff ff ff 7f    	cmp    $0x7fffffff,%edx
430ef8:	76 05                	jbe    0x430eff
430efa:	b8 57 00 07 80       	mov    $0x80070057,%eax
430eff:	85 c0                	test   %eax,%eax
430f01:	78 0c                	js     0x430f0f
430f03:	51                   	push   %ecx
430f04:	ff 75 08             	push   0x8(%ebp)
430f07:	51                   	push   %ecx
430f08:	e8 0f 00 00 00       	call   0x430f1c
430f0d:	eb 09                	jmp    0x430f18
430f0f:	85 d2                	test   %edx,%edx
430f11:	74 05                	je     0x430f18
430f13:	33 d2                	xor    %edx,%edx
430f15:	66 89 11             	mov    %dx,(%ecx)
430f18:	5d                   	pop    %ebp
430f19:	c2 04 00             	ret    $0x4
430f1c:	8b ff                	mov    %edi,%edi
430f1e:	55                   	push   %ebp
430f1f:	8b ec                	mov    %esp,%ebp
430f21:	85 d2                	test   %edx,%edx
430f23:	74 2b                	je     0x430f50
430f25:	8b 45 0c             	mov    0xc(%ebp),%eax
430f28:	56                   	push   %esi
430f29:	57                   	push   %edi
430f2a:	be fe ff ff 7f       	mov    $0x7ffffffe,%esi
430f2f:	2b c1                	sub    %ecx,%eax
430f31:	85 f6                	test   %esi,%esi
430f33:	74 15                	je     0x430f4a
430f35:	0f b7 3c 08          	movzwl (%eax,%ecx,1),%edi
430f39:	66 85 ff             	test   %di,%di
430f3c:	74 0c                	je     0x430f4a
430f3e:	66 89 39             	mov    %di,(%ecx)
430f41:	83 c1 02             	add    $0x2,%ecx
430f44:	4e                   	dec    %esi
430f45:	83 ea 01             	sub    $0x1,%edx
430f48:	75 e7                	jne    0x430f31
430f4a:	5f                   	pop    %edi
430f4b:	5e                   	pop    %esi
430f4c:	85 d2                	test   %edx,%edx
430f4e:	75 03                	jne    0x430f53
430f50:	83 e9 02             	sub    $0x2,%ecx
430f53:	f7 da                	neg    %edx
430f55:	1b d2                	sbb    %edx,%edx
430f57:	81 e2 86 ff f8 7f    	and    $0x7ff8ff86,%edx
430f5d:	33 c0                	xor    %eax,%eax
430f5f:	66 89 01             	mov    %ax,(%ecx)
430f62:	8d 82 7a 00 07 80    	lea    -0x7ff8ff86(%edx),%eax
430f68:	5d                   	pop    %ebp
430f69:	c2 0c 00             	ret    $0xc
430f6c:	8b ff                	mov    %edi,%edi
430f6e:	55                   	push   %ebp
430f6f:	8b ec                	mov    %esp,%ebp
430f71:	56                   	push   %esi
430f72:	57                   	push   %edi
430f73:	33 ff                	xor    %edi,%edi
430f75:	8b f2                	mov    %edx,%esi
430f77:	85 d2                	test   %edx,%edx
430f79:	74 0d                	je     0x430f88
430f7b:	66 39 39             	cmp    %di,(%ecx)
430f7e:	74 08                	je     0x430f88
430f80:	83 c1 02             	add    $0x2,%ecx
430f83:	83 ea 01             	sub    $0x1,%edx
430f86:	75 f3                	jne    0x430f7b
430f88:	8b 4d 08             	mov    0x8(%ebp),%ecx
430f8b:	8b c2                	mov    %edx,%eax
430f8d:	f7 d8                	neg    %eax
430f8f:	1b c0                	sbb    %eax,%eax
430f91:	25 a9 ff f8 7f       	and    $0x7ff8ffa9,%eax
430f96:	05 57 00 07 80       	add    $0x80070057,%eax
430f9b:	85 c9                	test   %ecx,%ecx
430f9d:	74 0c                	je     0x430fab
430f9f:	85 d2                	test   %edx,%edx
430fa1:	74 06                	je     0x430fa9
430fa3:	2b f2                	sub    %edx,%esi
430fa5:	89 31                	mov    %esi,(%ecx)
430fa7:	eb 02                	jmp    0x430fab
430fa9:	89 39                	mov    %edi,(%ecx)
430fab:	5f                   	pop    %edi
430fac:	5e                   	pop    %esi
430fad:	5d                   	pop    %ebp
430fae:	c2 04 00             	ret    $0x4
430fb1:	cc                   	int3
430fb2:	cc                   	int3
430fb3:	8b ff                	mov    %edi,%edi
430fb5:	56                   	push   %esi
430fb6:	57                   	push   %edi
430fb7:	e8 81 00 00 00       	call   0x43103d
430fbc:	83 ec 10             	sub    $0x10,%esp
430fbf:	be c0 61 40 00       	mov    $0x4061c0,%esi
430fc4:	8b fc                	mov    %esp,%edi
430fc6:	6a 00                	push   $0x0
430fc8:	a5                   	movsl  %ds:(%esi),%es:(%edi)
430fc9:	6a 00                	push   $0x0
430fcb:	68 c8 a8 40 00       	push   $0x40a8c8
430fd0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
430fd1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
430fd2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
430fd3:	e8 d5 00 00 00       	call   0x4310ad
430fd8:	83 ec 10             	sub    $0x10,%esp
430fdb:	be b0 61 40 00       	mov    $0x4061b0,%esi
430fe0:	8b fc                	mov    %esp,%edi
430fe2:	6a 01                	push   $0x1
430fe4:	a5                   	movsl  %ds:(%esi),%es:(%edi)
430fe5:	68 84 60 40 00       	push   $0x406084
430fea:	68 18 a9 40 00       	push   $0x40a918
430fef:	a5                   	movsl  %ds:(%esi),%es:(%edi)
430ff0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
430ff1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
430ff2:	e8 b6 00 00 00       	call   0x4310ad
430ff7:	8b f0                	mov    %eax,%esi
430ff9:	85 f6                	test   %esi,%esi
430ffb:	79 0f                	jns    0x43100c
430ffd:	56                   	push   %esi
430ffe:	ff 15 a0 12 45 00    	call   *0x4512a0
431004:	8b c8                	mov    %eax,%ecx
431006:	ff 15 a4 12 45 00    	call   *0x4512a4
43100c:	a1 00 f0 44 00       	mov    0x44f000,%eax
431011:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
431016:	74 20                	je     0x431038
431018:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
43101c:	74 1a                	je     0x431038
43101e:	80 78 19 02          	cmpb   $0x2,0x19(%eax)
431022:	72 14                	jb     0x431038
431024:	56                   	push   %esi
431025:	ff 70 14             	push   0x14(%eax)
431028:	ba 74 a9 40 00       	mov    $0x40a974,%edx
43102d:	ff 70 10             	push   0x10(%eax)
431030:	6a 0e                	push   $0xe
431032:	59                   	pop    %ecx
431033:	e8 8e f7 ff ff       	call   0x4307c6
431038:	5f                   	pop    %edi
431039:	8b c6                	mov    %esi,%eax
43103b:	5e                   	pop    %esi
43103c:	c3                   	ret
43103d:	8b ff                	mov    %edi,%edi
43103f:	56                   	push   %esi
431040:	57                   	push   %edi
431041:	83 ec 10             	sub    $0x10,%esp
431044:	be c0 61 40 00       	mov    $0x4061c0,%esi
431049:	8b fc                	mov    %esp,%edi
43104b:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43104c:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43104d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43104e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43104f:	e8 a0 03 00 00       	call   0x4313f4
431054:	83 ec 10             	sub    $0x10,%esp
431057:	be b0 61 40 00       	mov    $0x4061b0,%esi
43105c:	8b fc                	mov    %esp,%edi
43105e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
43105f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
431060:	a5                   	movsl  %ds:(%esi),%es:(%edi)
431061:	a5                   	movsl  %ds:(%esi),%es:(%edi)
431062:	e8 8d 03 00 00       	call   0x4313f4
431067:	8b f0                	mov    %eax,%esi
431069:	85 f6                	test   %esi,%esi
43106b:	79 0f                	jns    0x43107c
43106d:	56                   	push   %esi
43106e:	ff 15 a0 12 45 00    	call   *0x4512a0
431074:	8b c8                	mov    %eax,%ecx
431076:	ff 15 a4 12 45 00    	call   *0x4512a4
43107c:	a1 00 f0 44 00       	mov    0x44f000,%eax
431081:	3d 00 f0 44 00       	cmp    $0x44f000,%eax
431086:	74 20                	je     0x4310a8
431088:	f6 40 1c 04          	testb  $0x4,0x1c(%eax)
43108c:	74 1a                	je     0x4310a8
43108e:	80 78 19 02          	cmpb   $0x2,0x19(%eax)
431092:	72 14                	jb     0x4310a8
431094:	56                   	push   %esi
431095:	ff 70 14             	push   0x14(%eax)
431098:	ba 74 a9 40 00       	mov    $0x40a974,%edx
43109d:	ff 70 10             	push   0x10(%eax)
4310a0:	6a 0f                	push   $0xf
4310a2:	59                   	pop    %ecx
4310a3:	e8 1e f7 ff ff       	call   0x4307c6
4310a8:	5f                   	pop    %edi
4310a9:	8b c6                	mov    %esi,%eax
4310ab:	5e                   	pop    %esi
4310ac:	c3                   	ret
4310ad:	68 40 05 00 00       	push   $0x540
4310b2:	b8 26 3b 42 00       	mov    $0x423b26,%eax
4310b7:	e8 e4 e5 fe ff       	call   0x41f6a0
4310bc:	8b 45 08             	mov    0x8(%ebp),%eax
4310bf:	8d 75 14             	lea    0x14(%ebp),%esi
4310c2:	8d bd d4 fa ff ff    	lea    -0x52c(%ebp),%edi
4310c8:	89 85 c8 fa ff ff    	mov    %eax,-0x538(%ebp)
4310ce:	8b 45 0c             	mov    0xc(%ebp),%eax
4310d1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4310d2:	89 85 d0 fa ff ff    	mov    %eax,-0x530(%ebp)
4310d8:	33 c0                	xor    %eax,%eax
4310da:	66 89 85 e4 fa ff ff 	mov    %ax,-0x51c(%ebp)
4310e1:	66 89 85 ec fc ff ff 	mov    %ax,-0x314(%ebp)
4310e8:	8d 85 e4 fa ff ff    	lea    -0x51c(%ebp),%eax
4310ee:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4310ef:	68 04 01 00 00       	push   $0x104
4310f4:	50                   	push   %eax
4310f5:	ff 35 c4 0b 45 00    	push   0x450bc4
4310fb:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4310fc:	a5                   	movsl  %ds:(%esi),%es:(%edi)
4310fd:	ff 15 a0 10 45 00    	call   *0x4510a0
431103:	85 c0                	test   %eax,%eax
431105:	0f 84 dc 02 00 00    	je     0x4313e7
43110b:	8d 8d e4 fa ff ff    	lea    -0x51c(%ebp),%ecx
431111:	33 db                	xor    %ebx,%ebx
431113:	6a 02                	push   $0x2
431115:	8d 51 02             	lea    0x2(%ecx),%edx
431118:	5e                   	pop    %esi
431119:	66 8b 01             	mov    (%ecx),%ax
43111c:	03 ce                	add    %esi,%ecx
43111e:	66 3b c3             	cmp    %bx,%ax
431121:	75 f6                	jne    0x431119
431123:	8b 85 d0 fa ff ff    	mov    -0x530(%ebp),%eax
431129:	2b ca                	sub    %edx,%ecx
43112b:	d1 f9                	sar    $1,%ecx
43112d:	8d 79 01             	lea    0x1(%ecx),%edi
431130:	85 c0                	test   %eax,%eax
431132:	74 18                	je     0x43114c
431134:	8b c8                	mov    %eax,%ecx
431136:	8d 51 02             	lea    0x2(%ecx),%edx
431139:	66 8b 01             	mov    (%ecx),%ax
43113c:	03 ce                	add    %esi,%ecx
43113e:	66 3b c3             	cmp    %bx,%ax
431141:	75 f6                	jne    0x431139
431143:	2b ca                	sub    %edx,%ecx
431145:	83 c7 02             	add    $0x2,%edi
431148:	d1 f9                	sar    $1,%ecx
43114a:	03 f9                	add    %ecx,%edi
43114c:	33 c9                	xor    %ecx,%ecx
43114e:	8b c7                	mov    %edi,%eax
431150:	f7 e6                	mul    %esi
431152:	0f 90 c1             	seto   %cl
431155:	f7 d9                	neg    %ecx
431157:	0b c8                	or     %eax,%ecx
431159:	51                   	push   %ecx
43115a:	e8 7c d0 fe ff       	call   0x41e1db
43115f:	8b f0                	mov    %eax,%esi
431161:	59                   	pop    %ecx
431162:	85 f6                	test   %esi,%esi
431164:	0f 84 7d 02 00 00    	je     0x4313e7
43116a:	89 b5 c0 fa ff ff    	mov    %esi,-0x540(%ebp)
431170:	8d 85 e4 fa ff ff    	lea    -0x51c(%ebp),%eax
431176:	89 5d fc             	mov    %ebx,-0x4(%ebp)
431179:	50                   	push   %eax
43117a:	8b d7                	mov    %edi,%edx
43117c:	8b ce                	mov    %esi,%ecx
43117e:	e8 64 fd ff ff       	call   0x430ee7
431183:	83 bd d0 fa ff ff 00 	cmpl   $0x0,-0x530(%ebp)
43118a:	74 1d                	je     0x4311a9
43118c:	68 40 a8 40 00       	push   $0x40a840
431191:	8b d7                	mov    %edi,%edx
431193:	8b ce                	mov    %esi,%ecx
431195:	e8 ff fc ff ff       	call   0x430e99
43119a:	ff b5 d0 fa ff ff    	push   -0x530(%ebp)
4311a0:	8b d7                	mov    %edi,%edx
4311a2:	8b ce                	mov    %esi,%ecx
4311a4:	e8 f0 fc ff ff       	call   0x430e99