430e78:	0f b7 c2             	movzwl %dx,%eax
430e7b:	66 83 fa 0d          	cmp    $0xd,%dx
430e7f:	75 05                	jne    0x430e86
430e81:	66 89 3e             	mov    %di,(%esi)
430e84:	8b c7                	mov    %edi,%eax
430e86:	66 83 f8 0a          	cmp    $0xa,%ax
430e8a:	75 03                	jne    0x430e8f
430e8c:	66 89 3e             	mov    %di,(%esi)
430e8f:	83 c6 02             	add    $0x2,%esi
430e92:	0f b7 06             	movzwl (%esi),%eax
430e95:	8b d0                	mov    %eax,%edx
430e97:	66 85 c0             	test   %ax,%ax
430e9a:	75 dc                	jne    0x430e78
430e9c:	8b 7d ac             	mov    -0x54(%ebp),%edi
430e9f:	51                   	push   %ecx
430ea0:	8b cf                	mov    %edi,%ecx
430ea2:	e8 5d 32 fe ff       	call   0x414104
430ea7:	eb 1b                	jmp    0x430ec4
430ea9:	33 d2                	xor    %edx,%edx
430eab:	52                   	push   %edx
430eac:	68 00 04 00 00       	push   $0x400
430eb1:	56                   	push   %esi
430eb2:	68 00 04 00 00       	push   $0x400
430eb7:	53                   	push   %ebx
430eb8:	52                   	push   %edx
430eb9:	68 00 10 00 00       	push   $0x1000
430ebe:	ff 15 8c a1 43 00    	call   *0x43a18c
430ec4:	83 65 bc 00          	andl   $0x0,-0x44(%ebp)
430ec8:	8d 45 c0             	lea    -0x40(%ebp),%eax
430ecb:	89 45 b4             	mov    %eax,-0x4c(%ebp)
430ece:	33 c0                	xor    %eax,%eax
430ed0:	c7 45 b8 18 00 00 00 	movl   $0x18,-0x48(%ebp)
430ed7:	66 89 45 c0          	mov    %ax,-0x40(%ebp)
430edb:	51                   	push   %ecx
430edc:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
430ee0:	8d 4d b0             	lea    -0x50(%ebp),%ecx
430ee3:	53                   	push   %ebx
430ee4:	c7 45 b0 54 19 40 00 	movl   $0x401954,-0x50(%ebp)
430eeb:	e8 68 01 00 00       	call   0x431058
430ef0:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
430ef4:	8b 07                	mov    (%edi),%eax
430ef6:	6a ff                	push   $0xffffffff
430ef8:	ff 77 0c             	push   0xc(%edi)
430efb:	8b 70 10             	mov    0x10(%eax),%esi
430efe:	8b ce                	mov    %esi,%ecx
430f00:	68 9c 7a 40 00       	push   $0x407a9c
430f05:	ff 15 20 a5 43 00    	call   *0x43a520
430f0b:	8b cf                	mov    %edi,%ecx
430f0d:	ff d6                	call   *%esi
430f0f:	8b 07                	mov    (%edi),%eax
430f11:	6a ff                	push   $0xffffffff
430f13:	ff 77 0c             	push   0xc(%edi)
430f16:	8b 70 10             	mov    0x10(%eax),%esi
430f19:	8b ce                	mov    %esi,%ecx
430f1b:	ff 75 b4             	push   -0x4c(%ebp)
430f1e:	ff 15 20 a5 43 00    	call   *0x43a520
430f24:	8b cf                	mov    %edi,%ecx
430f26:	ff d6                	call   *%esi
430f28:	8b 07                	mov    (%edi),%eax
430f2a:	6a ff                	push   $0xffffffff
430f2c:	ff 77 0c             	push   0xc(%edi)
430f2f:	8b 70 10             	mov    0x10(%eax),%esi
430f32:	8b ce                	mov    %esi,%ecx
430f34:	68 b8 7a 40 00       	push   $0x407ab8
430f39:	ff 15 20 a5 43 00    	call   *0x43a520
430f3f:	8b cf                	mov    %edi,%ecx
430f41:	ff d6                	call   *%esi
430f43:	8b 45 b4             	mov    -0x4c(%ebp),%eax
430f46:	c7 45 b0 54 19 40 00 	movl   $0x401954,-0x50(%ebp)
430f4d:	85 c0                	test   %eax,%eax
430f4f:	74 0f                	je     0x430f60
430f51:	8d 4d c0             	lea    -0x40(%ebp),%ecx
430f54:	3b c1                	cmp    %ecx,%eax
430f56:	74 08                	je     0x430f60
430f58:	50                   	push   %eax
430f59:	ff 15 14 a4 43 00    	call   *0x43a414
430f5f:	59                   	pop    %ecx
430f60:	33 c0                	xor    %eax,%eax
430f62:	66 89 87 10 08 00 00 	mov    %ax,0x810(%edi)
430f69:	8b c7                	mov    %edi,%eax
430f6b:	e8 80 9e fe ff       	call   0x41adf0
430f70:	c2 08 00             	ret    $0x8
430f73:	8b ff                	mov    %edi,%edi
430f75:	56                   	push   %esi
430f76:	8b f1                	mov    %ecx,%esi
430f78:	8b 4e 04             	mov    0x4(%esi),%ecx
430f7b:	c7 06 c4 11 40 00    	movl   $0x4011c4,(%esi)
430f81:	85 c9                	test   %ecx,%ecx
430f83:	74 0f                	je     0x430f94
430f85:	8d 46 10             	lea    0x10(%esi),%eax
430f88:	3b c8                	cmp    %eax,%ecx
430f8a:	74 08                	je     0x430f94
430f8c:	51                   	push   %ecx
430f8d:	ff 15 14 a4 43 00    	call   *0x43a414
430f93:	59                   	pop    %ecx
430f94:	c7 06 80 11 40 00    	movl   $0x401180,(%esi)
430f9a:	5e                   	pop    %esi
430f9b:	c3                   	ret
430f9c:	8b ff                	mov    %edi,%edi
430f9e:	56                   	push   %esi
430f9f:	8b f1                	mov    %ecx,%esi
430fa1:	8b 4e 04             	mov    0x4(%esi),%ecx
430fa4:	c7 06 54 19 40 00    	movl   $0x401954,(%esi)
430faa:	85 c9                	test   %ecx,%ecx
430fac:	74 0f                	je     0x430fbd
430fae:	8d 46 10             	lea    0x10(%esi),%eax
430fb1:	3b c8                	cmp    %eax,%ecx
430fb3:	74 08                	je     0x430fbd
430fb5:	51                   	push   %ecx
430fb6:	ff 15 14 a4 43 00    	call   *0x43a414
430fbc:	59                   	pop    %ecx
430fbd:	c7 06 80 11 40 00    	movl   $0x401180,(%esi)
430fc3:	5e                   	pop    %esi
430fc4:	c3                   	ret
430fc5:	cc                   	int3
430fc6:	cc                   	int3
430fc7:	cc                   	int3
430fc8:	cc                   	int3
430fc9:	cc                   	int3
430fca:	cc                   	int3
430fcb:	cc                   	int3
430fcc:	cc                   	int3
430fcd:	cc                   	int3
430fce:	cc                   	int3
430fcf:	cc                   	int3
430fd0:	cc                   	int3
430fd1:	cc                   	int3
430fd2:	cc                   	int3
430fd3:	cc                   	int3
430fd4:	cc                   	int3
430fd5:	cc                   	int3
430fd6:	cc                   	int3
430fd7:	cc                   	int3
430fd8:	cc                   	int3
430fd9:	cc                   	int3
430fda:	cc                   	int3
430fdb:	cc                   	int3
430fdc:	cc                   	int3
430fdd:	cc                   	int3
430fde:	cc                   	int3
430fdf:	cc                   	int3
430fe0:	8b ff                	mov    %edi,%edi
430fe2:	55                   	push   %ebp
430fe3:	8b ec                	mov    %esp,%ebp
430fe5:	6a ff                	push   $0xffffffff
430fe7:	68 6c e1 41 00       	push   $0x41e16c
430fec:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
430ff2:	50                   	push   %eax
430ff3:	56                   	push   %esi
430ff4:	57                   	push   %edi
430ff5:	a1 08 85 43 00       	mov    0x438508,%eax
430ffa:	33 c5                	xor    %ebp,%eax
430ffc:	50                   	push   %eax
430ffd:	8d 45 f4             	lea    -0xc(%ebp),%eax
431000:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
431006:	8b f9                	mov    %ecx,%edi
431008:	8b 4f 04             	mov    0x4(%edi),%ecx
43100b:	c7 07 54 19 40 00    	movl   $0x401954,(%edi)
431011:	85 c9                	test   %ecx,%ecx
431013:	74 0f                	je     0x431024
431015:	8d 47 10             	lea    0x10(%edi),%eax
431018:	3b c8                	cmp    %eax,%ecx
43101a:	74 08                	je     0x431024
43101c:	51                   	push   %ecx
43101d:	ff 15 14 a4 43 00    	call   *0x43a414
431023:	59                   	pop    %ecx
431024:	f6 45 08 01          	testb  $0x1,0x8(%ebp)
431028:	c7 07 80 11 40 00    	movl   $0x401180,(%edi)
43102e:	74 15                	je     0x431045
431030:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
431034:	8b 35 40 1a 40 00    	mov    0x401a40,%esi
43103a:	8b ce                	mov    %esi,%ecx
43103c:	57                   	push   %edi
43103d:	ff 15 20 a5 43 00    	call   *0x43a520
431043:	ff d6                	call   *%esi
431045:	8b c7                	mov    %edi,%eax
431047:	8b 4d f4             	mov    -0xc(%ebp),%ecx
43104a:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
431051:	59                   	pop    %ecx
431052:	5f                   	pop    %edi
431053:	5e                   	pop    %esi
431054:	c9                   	leave
431055:	c2 04 00             	ret    $0x4
431058:	8b ff                	mov    %edi,%edi
43105a:	55                   	push   %ebp
43105b:	8b ec                	mov    %esp,%ebp
43105d:	56                   	push   %esi
43105e:	57                   	push   %edi
43105f:	8b f9                	mov    %ecx,%edi
431061:	6a 10                	push   $0x10
431063:	6a 18                	push   $0x18
431065:	8d 77 10             	lea    0x10(%edi),%esi
431068:	56                   	push   %esi
431069:	ff 75 08             	push   0x8(%ebp)
43106c:	ff 15 8c a4 43 00    	call   *0x43a48c
431072:	83 c4 10             	add    $0x10,%esp
431075:	8b cf                	mov    %edi,%ecx
431077:	6a 17                	push   $0x17
431079:	e8 86 30 fe ff       	call   0x414104
43107e:	8d 4e 02             	lea    0x2(%esi),%ecx
431081:	66 8b 06             	mov    (%esi),%ax
431084:	83 c6 02             	add    $0x2,%esi
431087:	66 85 c0             	test   %ax,%ax
43108a:	75 f5                	jne    0x431081
43108c:	2b f1                	sub    %ecx,%esi
43108e:	8b cf                	mov    %edi,%ecx
431090:	d1 fe                	sar    $1,%esi
431092:	56                   	push   %esi
431093:	e8 6c 30 fe ff       	call   0x414104
431098:	8b c7                	mov    %edi,%eax
43109a:	5f                   	pop    %edi
43109b:	5e                   	pop    %esi
43109c:	5d                   	pop    %ebp
43109d:	c2 08 00             	ret    $0x8
4310a0:	8b ff                	mov    %edi,%edi
4310a2:	55                   	push   %ebp
4310a3:	8b ec                	mov    %esp,%ebp
4310a5:	8d 41 10             	lea    0x10(%ecx),%eax
4310a8:	39 41 04             	cmp    %eax,0x4(%ecx)
4310ab:	74 0b                	je     0x4310b8
4310ad:	50                   	push   %eax
4310ae:	6a 17                	push   $0x17
4310b0:	ff 75 08             	push   0x8(%ebp)
4310b3:	e8 3c c0 fe ff       	call   0x41d0f4
4310b8:	5d                   	pop    %ebp
4310b9:	c2 04 00             	ret    $0x4
4310bc:	8b ff                	mov    %edi,%edi
4310be:	55                   	push   %ebp
4310bf:	8b ec                	mov    %esp,%ebp
4310c1:	53                   	push   %ebx
4310c2:	56                   	push   %esi
4310c3:	8b 75 14             	mov    0x14(%ebp),%esi
4310c6:	33 c0                	xor    %eax,%eax
4310c8:	57                   	push   %edi
4310c9:	8b f9                	mov    %ecx,%edi
4310cb:	bb 00 04 00 00       	mov    $0x400,%ebx
4310d0:	33 c9                	xor    %ecx,%ecx
4310d2:	66 89 0e             	mov    %cx,(%esi)
4310d5:	39 47 04             	cmp    %eax,0x4(%edi)
4310d8:	74 1b                	je     0x4310f5
4310da:	51                   	push   %ecx
4310db:	53                   	push   %ebx
4310dc:	56                   	push   %esi
4310dd:	ff 75 10             	push   0x10(%ebp)
4310e0:	ff 75 0c             	push   0xc(%ebp)
4310e3:	ff 77 04             	push   0x4(%edi)
4310e6:	68 00 08 00 00       	push   $0x800
4310eb:	ff 15 8c a1 43 00    	call   *0x43a18c
4310f1:	85 c0                	test   %eax,%eax
4310f3:	75 1c                	jne    0x431111
4310f5:	83 3f 00             	cmpl   $0x0,(%edi)
4310f8:	74 17                	je     0x431111
4310fa:	6a 00                	push   $0x0
4310fc:	53                   	push   %ebx
4310fd:	56                   	push   %esi
4310fe:	ff 75 10             	push   0x10(%ebp)
431101:	ff 75 0c             	push   0xc(%ebp)
431104:	ff 37                	push   (%edi)
431106:	68 00 08 00 00       	push   $0x800
43110b:	ff 15 8c a1 43 00    	call   *0x43a18c
431111:	5f                   	pop    %edi
431112:	5e                   	pop    %esi
431113:	5b                   	pop    %ebx
431114:	5d                   	pop    %ebp
431115:	c2 18 00             	ret    $0x18
431118:	68 98 00 00 00       	push   $0x98
43111d:	b8 7f f6 41 00       	mov    $0x41f67f,%eax
431122:	e8 1a 9d fe ff       	call   0x41ae41
431127:	64 a1 2c 00 00 00    	mov    %fs:0x2c,%eax
43112d:	8b 08                	mov    (%eax),%ecx
43112f:	a1 9c 91 43 00       	mov    0x43919c,%eax
431134:	3b 81 04 00 00 00    	cmp    0x4(%ecx),%eax
43113a:	7e 27                	jle    0x431163
43113c:	be 9c 91 43 00       	mov    $0x43919c,%esi
431141:	56                   	push   %esi
431142:	e8 dc 96 fe ff       	call   0x41a823
431147:	83 3d 9c 91 43 00 ff 	cmpl   $0xffffffff,0x43919c
43114e:	59                   	pop    %ecx
43114f:	75 12                	jne    0x431163
431151:	68 e0 fc 41 00       	push   $0x41fce0
431156:	e8 13 9b fe ff       	call   0x41ac6e
43115b:	56                   	push   %esi
43115c:	e8 6f 96 fe ff       	call   0x41a7d0
431161:	59                   	pop    %ecx
431162:	59                   	pop    %ecx
431163:	83 3d 84 91 43 00 00 	cmpl   $0x0,0x439184
43116a:	be fc 8f 43 00       	mov    $0x438ffc,%esi
43116f:	75 4a                	jne    0x4311bb
431171:	51                   	push   %ecx
431172:	8d 8d 5c ff ff ff    	lea    -0xa4(%ebp),%ecx
431178:	e8 17 11 00 00       	call   0x432294
43117d:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
431181:	8b ce                	mov    %esi,%ecx
431183:	ff 70 04             	push   0x4(%eax)
431186:	e8 74 01 00 00       	call   0x4312ff
43118b:	8b 8d 60 ff ff ff    	mov    -0xa0(%ebp),%ecx
431191:	c7 85 5c ff ff ff c4 	movl   $0x4011c4,-0xa4(%ebp)
431198:	11 40 00
43119b:	85 c9                	test   %ecx,%ecx
43119d:	74 12                	je     0x4311b1
43119f:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
4311a5:	3b c8                	cmp    %eax,%ecx
4311a7:	74 08                	je     0x4311b1
4311a9:	51                   	push   %ecx
4311aa:	ff 15 14 a4 43 00    	call   *0x43a414
4311b0:	59                   	pop    %ecx
4311b1:	c7 05 84 91 43 00 01 	movl   $0x1,0x439184
4311b8:	00 00 00
4311bb:	8b c6                	mov    %esi,%eax
4311bd:	e8 2e 9c fe ff       	call   0x41adf0
4311c2:	c3                   	ret
4311c3:	68 98 00 00 00       	push   $0x98
4311c8:	b8 7f f6 41 00       	mov    $0x41f67f,%eax
4311cd:	e8 6f 9c fe ff       	call   0x41ae41
4311d2:	64 a1 2c 00 00 00    	mov    %fs:0x2c,%eax
4311d8:	8b 08                	mov    (%eax),%ecx
4311da:	a1 a0 91 43 00       	mov    0x4391a0,%eax
4311df:	3b 81 04 00 00 00    	cmp    0x4(%ecx),%eax
4311e5:	7e 27                	jle    0x43120e
4311e7:	be a0 91 43 00       	mov    $0x4391a0,%esi
4311ec:	56                   	push   %esi
4311ed:	e8 31 96 fe ff       	call   0x41a823
4311f2:	83 3d a0 91 43 00 ff 	cmpl   $0xffffffff,0x4391a0
4311f9:	59                   	pop    %ecx
4311fa:	75 12                	jne    0x43120e
4311fc:	68 f0 fc 41 00       	push   $0x41fcf0
431201:	e8 68 9a fe ff       	call   0x41ac6e
431206:	56                   	push   %esi
431207:	e8 c4 95 fe ff       	call   0x41a7d0
43120c:	59                   	pop    %ecx
43120d:	59                   	pop    %ecx
43120e:	83 3d 7c 91 43 00 00 	cmpl   $0x0,0x43917c
431215:	be 04 90 43 00       	mov    $0x439004,%esi
43121a:	75 4a                	jne    0x431266
43121c:	51                   	push   %ecx
43121d:	8d 8d 5c ff ff ff    	lea    -0xa4(%ebp),%ecx
431223:	e8 3d 11 00 00       	call   0x432365
431228:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
43122c:	8b ce                	mov    %esi,%ecx
43122e:	ff 70 04             	push   0x4(%eax)
431231:	e8 c9 00 00 00       	call   0x4312ff
431236:	8b 8d 60 ff ff ff    	mov    -0xa0(%ebp),%ecx
43123c:	c7 85 5c ff ff ff c4 	movl   $0x4011c4,-0xa4(%ebp)
431243:	11 40 00
431246:	85 c9                	test   %ecx,%ecx
431248:	74 12                	je     0x43125c
43124a:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
431250:	3b c8                	cmp    %eax,%ecx
431252:	74 08                	je     0x43125c
431254:	51                   	push   %ecx