589f4b:	7c 05                	jl     0x589f52
589f4d:	8b 5c 24 08          	mov    0x8(%esp),%ebx
589f51:	4b                   	dec    %ebx
589f52:	8b cd                	mov    %ebp,%ecx
589f54:	2b 8f f4 00 00 00    	sub    0xf4(%edi),%ecx
589f5a:	8b c6                	mov    %esi,%eax
589f5c:	8b 54 24 0c          	mov    0xc(%esp),%edx
589f60:	e8 97 ea ff ff       	call   0x5889fc
589f65:	8b 54 24 18          	mov    0x18(%esp),%edx
589f69:	66 8b 14 5a          	mov    (%edx,%ebx,2),%dx
589f6d:	c1 e2 02             	shl    $0x2,%edx
589f70:	66 89 10             	mov    %dx,(%eax)
589f73:	45                   	inc    %ebp
589f74:	83 44 24 24 04       	addl   $0x4,0x24(%esp)
589f79:	ff 4c 24 20          	decl   0x20(%esp)
589f7d:	0f 85 1f ff ff ff    	jne    0x589ea2
589f83:	ff 44 24 0c          	incl   0xc(%esp)
589f87:	ff 4c 24 1c          	decl   0x1c(%esp)
589f8b:	0f 85 d2 fe ff ff    	jne    0x589e63
589f91:	8b 44 24 18          	mov    0x18(%esp),%eax
589f95:	e8 32 88 e7 ff       	call   0x4027cc
589f9a:	83 c4 38             	add    $0x38,%esp
589f9d:	5d                   	pop    %ebp
589f9e:	5f                   	pop    %edi
589f9f:	5e                   	pop    %esi
589fa0:	5b                   	pop    %ebx
589fa1:	c3                   	ret
589fa2:	00 00                	add    %al,(%eax)
589fa4:	6e                   	outsb  %ds:(%esi),(%dx)
589fa5:	69 6b 6f 6e 5f 63 6f 	imul   $0x6f635f6e,0x6f(%ebx),%ebp
589fac:	6d                   	insl   (%dx),%es:(%edi)
589fad:	70 72                	jo     0x58a021
589faf:	65 73 73             	gs jae 0x58a025
589fb2:	65 64 5f             	gs fs pop %edi
589fb5:	6c                   	insb   (%dx),%es:(%edi)
589fb6:	6f                   	outsl  %ds:(%esi),(%dx)
589fb7:	61                   	popa
589fb8:	64 5f                	fs pop %edi
589fba:	72 61                	jb     0x58a01d
589fbc:	77 28                	ja     0x589fe6
589fbe:	29 00                	sub    %eax,(%eax)
589fc0:	00 00                	add    %al,(%eax)
589fc2:	c8 42 00 00          	enter  $0x42,$0x0
589fc6:	00 40 55             	add    %al,0x55(%eax)
589fc9:	8b ec                	mov    %esp,%ebp
589fcb:	83 c4 e4             	add    $0xffffffe4,%esp
589fce:	53                   	push   %ebx
589fcf:	56                   	push   %esi
589fd0:	57                   	push   %edi
589fd1:	33 d2                	xor    %edx,%edx
589fd3:	89 55 e4             	mov    %edx,-0x1c(%ebp)
589fd6:	89 45 fc             	mov    %eax,-0x4(%ebp)
589fd9:	33 c0                	xor    %eax,%eax
589fdb:	55                   	push   %ebp
589fdc:	68 79 a1 58 00       	push   $0x58a179
589fe1:	64 ff 30             	push   %fs:(%eax)
589fe4:	64 89 20             	mov    %esp,%fs:(%eax)
589fe7:	8b 45 fc             	mov    -0x4(%ebp),%eax
589fea:	8b d8                	mov    %eax,%ebx
589fec:	83 ca ff             	or     $0xffffffff,%edx
589fef:	e8 28 f1 ff ff       	call   0x58911c
589ff4:	db 83 f8 00 00 00    	fildl  0xf8(%ebx)
589ffa:	d8 3d 88 a1 58 00    	fdivrs 0x58a188
58a000:	d8 35 8c a1 58 00    	fdivs  0x58a18c
58a006:	dd 9b c0 f4 00 00    	fstpl  0xf4c0(%ebx)
58a00c:	9b                   	fwait
58a00d:	8b 83 f8 00 00 00    	mov    0xf8(%ebx),%eax
58a013:	48                   	dec    %eax
58a014:	85 c0                	test   %eax,%eax
58a016:	0f 8c 47 01 00 00    	jl     0x58a163
58a01c:	40                   	inc    %eax
58a01d:	89 45 ec             	mov    %eax,-0x14(%ebp)
58a020:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
58a027:	8d b3 a8 f4 00 00    	lea    0xf4a8(%ebx),%esi
58a02d:	66 83 7e 02 00       	cmpw   $0x0,0x2(%esi)
58a032:	74 15                	je     0x58a049
58a034:	db 45 f4             	fildl  -0xc(%ebp)
58a037:	dc 4e 18             	fmull  0x18(%esi)
58a03a:	e8 8d 8c e7 ff       	call   0x402ccc
58a03f:	8b c8                	mov    %eax,%ecx
58a041:	8b 56 08             	mov    0x8(%esi),%edx
58a044:	8b 46 04             	mov    0x4(%esi),%eax
58a047:	ff 16                	call   *(%esi)
58a049:	8b 45 f8             	mov    -0x8(%ebp),%eax
58a04c:	89 45 f4             	mov    %eax,-0xc(%ebp)
58a04f:	80 7b 4a 45          	cmpb   $0x45,0x4a(%ebx)
58a053:	0f 85 84 00 00 00    	jne    0x58a0dd
58a059:	8b 8b f8 00 00 00    	mov    0xf8(%ebx),%ecx
58a05f:	8b c1                	mov    %ecx,%eax
58a061:	d1 f8                	sar    $1,%eax
58a063:	79 03                	jns    0x58a068
58a065:	83 d0 00             	adc    $0x0,%eax
58a068:	50                   	push   %eax
58a069:	8b 45 f8             	mov    -0x8(%ebp),%eax
58a06c:	5a                   	pop    %edx
58a06d:	8b f2                	mov    %edx,%esi
58a06f:	99                   	cltd
58a070:	f7 fe                	idiv   %esi
58a072:	8b f0                	mov    %eax,%esi
58a074:	8b 45 f8             	mov    -0x8(%ebp),%eax
58a077:	03 c0                	add    %eax,%eax
58a079:	99                   	cltd
58a07a:	f7 f9                	idiv   %ecx
58a07c:	03 f2                	add    %edx,%esi
58a07e:	89 75 f4             	mov    %esi,-0xc(%ebp)
58a081:	83 7d f4 01          	cmpl   $0x1,-0xc(%ebp)
58a085:	75 56                	jne    0x58a0dd
58a087:	8d 45 e4             	lea    -0x1c(%ebp),%eax
58a08a:	8d 53 4b             	lea    0x4b(%ebx),%edx
58a08d:	e8 c6 a9 e7 ff       	call   0x404a58
58a092:	8b 45 e4             	mov    -0x1c(%ebp),%eax
58a095:	33 d2                	xor    %edx,%edx
58a097:	e8 44 f6 e7 ff       	call   0x4096e0
58a09c:	3d 88 13 00 00       	cmp    $0x1388,%eax
58a0a1:	7d 3a                	jge    0x58a0dd
58a0a3:	8b 73 04             	mov    0x4(%ebx),%esi
58a0a6:	8b c6                	mov    %esi,%eax
58a0a8:	e8 3f 46 e9 ff       	call   0x41e6ec
58a0ad:	52                   	push   %edx
58a0ae:	50                   	push   %eax
58a0af:	8b c6                	mov    %esi,%eax
58a0b1:	e8 22 46 e9 ff       	call   0x41e6d8
58a0b6:	6a 00                	push   $0x0
58a0b8:	6a 02                	push   $0x2
58a0ba:	8b 73 04             	mov    0x4(%ebx),%esi
58a0bd:	8b c6                	mov    %esi,%eax
58a0bf:	e8 f4 45 e9 ff       	call   0x41e6b8
58a0c4:	e8 df b9 e7 ff       	call   0x405aa8
58a0c9:	52                   	push   %edx
58a0ca:	50                   	push   %eax
58a0cb:	8b c6                	mov    %esi,%eax
58a0cd:	e8 06 46 e9 ff       	call   0x41e6d8
58a0d2:	8b 45 fc             	mov    -0x4(%ebp),%eax
58a0d5:	83 ca ff             	or     $0xffffffff,%edx
58a0d8:	e8 3f f0 ff ff       	call   0x58911c
58a0dd:	8b 83 ec 00 00 00    	mov    0xec(%ebx),%eax
58a0e3:	48                   	dec    %eax
58a0e4:	85 c0                	test   %eax,%eax
58a0e6:	7c 6f                	jl     0x58a157
58a0e8:	40                   	inc    %eax
58a0e9:	89 45 e8             	mov    %eax,-0x18(%ebp)
58a0ec:	33 f6                	xor    %esi,%esi
58a0ee:	8b 45 fc             	mov    -0x4(%ebp),%eax
58a0f1:	ba 0c 00 00 00       	mov    $0xc,%edx
58a0f6:	e8 21 f0 ff ff       	call   0x58911c
58a0fb:	89 45 f0             	mov    %eax,-0x10(%ebp)
58a0fe:	8b fe                	mov    %esi,%edi
58a100:	2b bb f4 00 00 00    	sub    0xf4(%ebx),%edi
58a106:	3b bb fc 00 00 00    	cmp    0xfc(%ebx),%edi
58a10c:	7d 1b                	jge    0x58a129
58a10e:	85 ff                	test   %edi,%edi
58a110:	7c 17                	jl     0x58a129
58a112:	8b cf                	mov    %edi,%ecx
58a114:	8b 45 fc             	mov    -0x4(%ebp),%eax
58a117:	8b 55 f4             	mov    -0xc(%ebp),%edx
58a11a:	e8 dd e8 ff ff       	call   0x5889fc
58a11f:	66 8b 55 f0          	mov    -0x10(%ebp),%dx
58a123:	c1 e2 02             	shl    $0x2,%edx
58a126:	66 89 10             	mov    %dx,(%eax)
58a129:	81 bb e0 00 00 00 99 	cmpl   $0x8799,0xe0(%ebx)
58a130:	87 00 00
58a133:	75 1c                	jne    0x58a151
58a135:	8b c6                	mov    %esi,%eax
58a137:	b9 0a 00 00 00       	mov    $0xa,%ecx
58a13c:	99                   	cltd
58a13d:	f7 f9                	idiv   %ecx
58a13f:	83 fa 09             	cmp    $0x9,%edx
58a142:	75 0d                	jne    0x58a151
58a144:	8b 45 fc             	mov    -0x4(%ebp),%eax
58a147:	ba 08 00 00 00       	mov    $0x8,%edx
58a14c:	e8 cb ef ff ff       	call   0x58911c
58a151:	46                   	inc    %esi
58a152:	ff 4d e8             	decl   -0x18(%ebp)
58a155:	75 97                	jne    0x58a0ee
58a157:	ff 45 f8             	incl   -0x8(%ebp)
58a15a:	ff 4d ec             	decl   -0x14(%ebp)
58a15d:	0f 85 c4 fe ff ff    	jne    0x58a027
58a163:	33 c0                	xor    %eax,%eax
58a165:	5a                   	pop    %edx
58a166:	59                   	pop    %ecx
58a167:	59                   	pop    %ecx
58a168:	64 89 10             	mov    %edx,%fs:(%eax)
58a16b:	68 80 a1 58 00       	push   $0x58a180
58a170:	8d 45 e4             	lea    -0x1c(%ebp),%eax
58a173:	e8 f0 a6 e7 ff       	call   0x404868
58a178:	c3                   	ret
58a179:	e9 8e a0 e7 ff       	jmp    0x40420c
58a17e:	eb f0                	jmp    0x58a170
58a180:	5f                   	pop    %edi
58a181:	5e                   	pop    %esi
58a182:	5b                   	pop    %ebx
58a183:	8b e5                	mov    %ebp,%esp
58a185:	5d                   	pop    %ebp
58a186:	c3                   	ret
58a187:	00 00                	add    %al,(%eax)
58a189:	00 c8                	add    %cl,%al
58a18b:	42                   	inc    %edx
58a18c:	00 00                	add    %al,(%eax)
58a18e:	00 40 53             	add    %al,0x53(%eax)
58a191:	81 c4 00 ff ff ff    	add    $0xffffff00,%esp
58a197:	8b d8                	mov    %eax,%ebx
58a199:	81 bb e0 00 00 00 99 	cmpl   $0x8799,0xe0(%ebx)
58a1a0:	87 00 00
58a1a3:	74 04                	je     0x58a1a9
58a1a5:	33 c0                	xor    %eax,%eax
58a1a7:	eb 56                	jmp    0x58a1ff
58a1a9:	ba 08 a2 58 00       	mov    $0x58a208,%edx
58a1ae:	8d 43 4a             	lea    0x4a(%ebx),%eax
58a1b1:	e8 f6 e7 ff ff       	call   0x5889ac
58a1b6:	85 c0                	test   %eax,%eax
58a1b8:	74 07                	je     0x58a1c1
58a1ba:	b8 01 00 00 00       	mov    $0x1,%eax
58a1bf:	eb 3e                	jmp    0x58a1ff
58a1c1:	8b 83 d4 00 00 00    	mov    0xd4(%ebx),%eax
58a1c7:	99                   	cltd
58a1c8:	52                   	push   %edx
58a1c9:	50                   	push   %eax
58a1ca:	8b 43 04             	mov    0x4(%ebx),%eax
58a1cd:	e8 06 45 e9 ff       	call   0x41e6d8
58a1d2:	8b d4                	mov    %esp,%edx
58a1d4:	8b 43 04             	mov    0x4(%ebx),%eax
58a1d7:	b9 00 01 00 00       	mov    $0x100,%ecx
58a1dc:	8b 18                	mov    (%eax),%ebx
58a1de:	ff 53 08             	call   *0x8(%ebx)
58a1e1:	b8 0f 00 00 00       	mov    $0xf,%eax
58a1e6:	80 3c 04 00          	cmpb   $0x0,(%esp,%eax,1)
58a1ea:	74 07                	je     0x58a1f3
58a1ec:	b8 01 00 00 00       	mov    $0x1,%eax
58a1f1:	eb 0c                	jmp    0x58a1ff
58a1f3:	83 c0 10             	add    $0x10,%eax
58a1f6:	3d 00 01 00 00       	cmp    $0x100,%eax
58a1fb:	7c e9                	jl     0x58a1e6
58a1fd:	33 c0                	xor    %eax,%eax
58a1ff:	81 c4 00 01 00 00    	add    $0x100,%esp
58a205:	5b                   	pop    %ebx
58a206:	c3                   	ret
58a207:	00 44 31 30          	add    %al,0x30(%ecx,%esi,1)
58a20b:	30 00                	xor    %al,(%eax)
58a20d:	00 00                	add    %al,(%eax)
58a20f:	00 53 56             	add    %dl,0x56(%ebx)
58a212:	57                   	push   %edi
58a213:	81 c4 fc fb ff ff    	add    $0xfffffbfc,%esp
58a219:	8b f0                	mov    %eax,%esi
58a21b:	8d 44 24 04          	lea    0x4(%esp),%eax
58a21f:	b9 00 04 00 00       	mov    $0x400,%ecx
58a224:	33 d2                	xor    %edx,%edx
58a226:	e8 89 ef ff ff       	call   0x5891b4
58a22b:	6a 00                	push   $0x0
58a22d:	68 30 60 24 00       	push   $0x246030
58a232:	8b 46 04             	mov    0x4(%esi),%eax
58a235:	e8 9e 44 e9 ff       	call   0x41e6d8
58a23a:	bb d0 07 00 00       	mov    $0x7d0,%ebx
58a23f:	8b d4                	mov    %esp,%edx
58a241:	8b 46 04             	mov    0x4(%esi),%eax
58a244:	b9 01 00 00 00       	mov    $0x1,%ecx
58a249:	8b 38                	mov    (%eax),%edi
58a24b:	ff 57 08             	call   *0x8(%edi)
58a24e:	33 c0                	xor    %eax,%eax
58a250:	8a 04 24             	mov    (%esp),%al
58a253:	ff 44 84 04          	incl   0x4(%esp,%eax,4)
58a257:	4b                   	dec    %ebx
58a258:	75 e5                	jne    0x58a23f
58a25a:	bb 04 00 00 00       	mov    $0x4,%ebx
58a25f:	b8 dc 37 6a 00       	mov    $0x6a37dc,%eax
58a264:	33 d2                	xor    %edx,%edx
58a266:	8a 10                	mov    (%eax),%dl
58a268:	81 7c 94 04 90 01 00 	cmpl   $0x190,0x4(%esp,%edx,4)
58a26f:	00
58a270:	7e 07                	jle    0x58a279
58a272:	b8 01 00 00 00       	mov    $0x1,%eax
58a277:	eb 06                	jmp    0x58a27f
58a279:	40                   	inc    %eax
58a27a:	4b                   	dec    %ebx
58a27b:	75 e7                	jne    0x58a264
58a27d:	33 c0                	xor    %eax,%eax
58a27f:	81 c4 04 04 00 00    	add    $0x404,%esp
58a285:	5f                   	pop    %edi
58a286:	5e                   	pop    %esi
58a287:	5b                   	pop    %ebx
58a288:	c3                   	ret
58a289:	8d 40 00             	lea    0x0(%eax),%eax
58a28c:	53                   	push   %ebx
58a28d:	56                   	push   %esi
58a28e:	57                   	push   %edi
58a28f:	55                   	push   %ebp
58a290:	83 c4 f4             	add    $0xfffffff4,%esp
58a293:	8b f8                	mov    %eax,%edi
58a295:	8b f4                	mov    %esp,%esi
58a297:	6a 00                	push   $0x0
58a299:	6a 00                	push   $0x0
58a29b:	8b 47 04             	mov    0x4(%edi),%eax
58a29e:	e8 35 44 e9 ff       	call   0x41e6d8
58a2a3:	bb 00 04 00 00       	mov    $0x400,%ebx
58a2a8:	8b d6                	mov    %esi,%edx
58a2aa:	8b 47 04             	mov    0x4(%edi),%eax
58a2ad:	b9 0c 00 00 00       	mov    $0xc,%ecx
58a2b2:	8b 28                	mov    (%eax),%ebp
58a2b4:	ff 55 08             	call   *0x8(%ebp)
58a2b7:	8a 46 02             	mov    0x2(%esi),%al
58a2ba:	22 46 04             	and    0x4(%esi),%al
58a2bd:	22 46 07             	and    0x7(%esi),%al
58a2c0:	22 46 09             	and    0x9(%esi),%al
58a2c3:	25 ff 00 00 00       	and    $0xff,%eax
58a2c8:	c1 e8 04             	shr    $0x4,%eax
58a2cb:	33 d2                	xor    %edx,%edx
58a2cd:	8a 56 01             	mov    0x1(%esi),%dl
58a2d0:	23 c2                	and    %edx,%eax
58a2d2:	33 d2                	xor    %edx,%edx
58a2d4:	8a 56 06             	mov    0x6(%esi),%dl
58a2d7:	23 c2                	and    %edx,%eax
58a2d9:	33 d2                	xor    %edx,%edx
58a2db:	8a 56 08             	mov    0x8(%esi),%dl
58a2de:	23 c2                	and    %edx,%eax
58a2e0:	33 d2                	xor    %edx,%edx
58a2e2:	8a 56 0b             	mov    0xb(%esi),%dl
58a2e5:	23 c2                	and    %edx,%eax
58a2e7:	83 e0 03             	and    $0x3,%eax
58a2ea:	83 f8 03             	cmp    $0x3,%eax
58a2ed:	74 04                	je     0x58a2f3
58a2ef:	33 c0                	xor    %eax,%eax
58a2f1:	eb 08                	jmp    0x58a2fb
58a2f3:	4b                   	dec    %ebx
58a2f4:	75 b2                	jne    0x58a2a8
58a2f6:	b8 01 00 00 00       	mov    $0x1,%eax
58a2fb:	83 c4 0c             	add    $0xc,%esp
58a2fe:	5d                   	pop    %ebp
58a2ff:	5f                   	pop    %edi
58a300:	5e                   	pop    %esi
58a301:	5b                   	pop    %ebx
58a302:	c3                   	ret
58a303:	90                   	nop
58a304:	53                   	push   %ebx
58a305:	56                   	push   %esi
58a306:	81 c4 58 fe ff ff    	add    $0xfffffe58,%esp
58a30c:	8b d8                	mov    %eax,%ebx
58a30e:	8b 73 04             	mov    0x4(%ebx),%esi
58a311:	8b c6                	mov    %esi,%eax
58a313:	e8 d4 43 e9 ff       	call   0x41e6ec
58a318:	2d a8 01 00 00       	sub    $0x1a8,%eax
58a31d:	83 da 00             	sbb    $0x0,%edx
58a320:	52                   	push   %edx
58a321:	50                   	push   %eax
58a322:	8b c6                	mov    %esi,%eax
58a324:	e8 af 43 e9 ff       	call   0x41e6d8
58a329:	8b d4                	mov    %esp,%edx
58a32b:	8b 43 04             	mov    0x4(%ebx),%eax
58a32e:	b9 a8 01 00 00       	mov    $0x1a8,%ecx
58a333:	8b 18                	mov    (%eax),%ebx
58a335:	ff 53 08             	call   *0x8(%ebx)
58a338:	ba a8 01 00 00       	mov    $0x1a8,%edx