57f048:	e8 f5 1f 06 00       	call   0x5e1042
57f04d:	8b d8                	mov    %eax,%ebx
57f04f:	83 c4 04             	add    $0x4,%esp
57f052:	89 5d e0             	mov    %ebx,-0x20(%ebp)
57f055:	8d 73 10             	lea    0x10(%ebx),%esi
57f058:	57                   	push   %edi
57f059:	8b ce                	mov    %esi,%ecx
57f05b:	89 75 e4             	mov    %esi,-0x1c(%ebp)
57f05e:	e8 1d 96 eb ff       	call   0x438680
57f063:	8d 47 18             	lea    0x18(%edi),%eax
57f066:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
57f06a:	50                   	push   %eax
57f06b:	8d 4e 18             	lea    0x18(%esi),%ecx
57f06e:	e8 0d 96 eb ff       	call   0x438680
57f073:	8b 4d ec             	mov    -0x14(%ebp),%ecx
57f076:	8b 7d 08             	mov    0x8(%ebp),%edi
57f079:	8b 45 0c             	mov    0xc(%ebp),%eax
57f07c:	ff 75 10             	push   0x10(%ebp)
57f07f:	8b 75 e8             	mov    -0x18(%ebp),%esi
57f082:	89 0b                	mov    %ecx,(%ebx)
57f084:	89 4b 08             	mov    %ecx,0x8(%ebx)
57f087:	66 c7 43 0c 00 00    	movw   $0x0,0xc(%ebx)
57f08d:	89 43 04             	mov    %eax,0x4(%ebx)
57f090:	8a 47 0c             	mov    0xc(%edi),%al
57f093:	88 43 0c             	mov    %al,0xc(%ebx)
57f096:	80 79 0d 00          	cmpb   $0x0,0xd(%ecx)
57f09a:	53                   	push   %ebx
57f09b:	ff 37                	push   (%edi)
57f09d:	0f 45 cb             	cmovne %ebx,%ecx
57f0a0:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
57f0a7:	89 4d ec             	mov    %ecx,-0x14(%ebp)
57f0aa:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
57f0ad:	8b ce                	mov    %esi,%ecx
57f0af:	e8 3c ff ff ff       	call   0x57eff0
57f0b4:	ff 75 10             	push   0x10(%ebp)
57f0b7:	89 03                	mov    %eax,(%ebx)
57f0b9:	8b ce                	mov    %esi,%ecx
57f0bb:	53                   	push   %ebx
57f0bc:	ff 77 08             	push   0x8(%edi)
57f0bf:	e8 2c ff ff ff       	call   0x57eff0
57f0c4:	8b 4d ec             	mov    -0x14(%ebp),%ecx
57f0c7:	89 43 08             	mov    %eax,0x8(%ebx)
57f0ca:	8b c1                	mov    %ecx,%eax
57f0cc:	8b 4d f4             	mov    -0xc(%ebp),%ecx
57f0cf:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
57f0d6:	59                   	pop    %ecx
57f0d7:	5f                   	pop    %edi
57f0d8:	5e                   	pop    %esi
57f0d9:	5b                   	pop    %ebx
57f0da:	8b e5                	mov    %ebp,%esp
57f0dc:	5d                   	pop    %ebp
57f0dd:	c2 0c 00             	ret    $0xc
57f0e0:	ff 75 e4             	push   -0x1c(%ebp)
57f0e3:	8b 4d e8             	mov    -0x18(%ebp),%ecx
57f0e6:	e8 c5 a3 eb ff       	call   0x4394b0
57f0eb:	8b 4d e8             	mov    -0x18(%ebp),%ecx
57f0ee:	50                   	push   %eax
57f0ef:	e8 0c 00 00 00       	call   0x57f100
57f0f4:	6a 00                	push   $0x0
57f0f6:	6a 00                	push   $0x0
57f0f8:	e8 35 39 06 00       	call   0x5e2a32
57f0fd:	cc                   	int3
57f0fe:	cc                   	int3
57f0ff:	cc                   	int3
57f100:	55                   	push   %ebp
57f101:	8b ec                	mov    %esp,%ebp
57f103:	51                   	push   %ecx
57f104:	56                   	push   %esi
57f105:	8b 75 0c             	mov    0xc(%ebp),%esi
57f108:	8b c1                	mov    %ecx,%eax
57f10a:	89 45 fc             	mov    %eax,-0x4(%ebp)
57f10d:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
57f111:	75 34                	jne    0x57f147
57f113:	53                   	push   %ebx
57f114:	8b 5d 08             	mov    0x8(%ebp),%ebx
57f117:	57                   	push   %edi
57f118:	ff 76 08             	push   0x8(%esi)
57f11b:	8b c8                	mov    %eax,%ecx
57f11d:	53                   	push   %ebx
57f11e:	e8 dd ff ff ff       	call   0x57f100
57f123:	8b fe                	mov    %esi,%edi
57f125:	8b 36                	mov    (%esi),%esi
57f127:	8d 47 10             	lea    0x10(%edi),%eax
57f12a:	50                   	push   %eax
57f12b:	53                   	push   %ebx
57f12c:	e8 1f 00 00 00       	call   0x57f150
57f131:	6a 40                	push   $0x40
57f133:	57                   	push   %edi
57f134:	e8 39 1f 06 00       	call   0x5e1072
57f139:	8b 45 fc             	mov    -0x4(%ebp),%eax
57f13c:	83 c4 10             	add    $0x10,%esp
57f13f:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
57f143:	74 d3                	je     0x57f118
57f145:	5f                   	pop    %edi
57f146:	5b                   	pop    %ebx
57f147:	5e                   	pop    %esi
57f148:	8b e5                	mov    %ebp,%esp
57f14a:	5d                   	pop    %ebp
57f14b:	c2 08 00             	ret    $0x8
57f14e:	cc                   	int3
57f14f:	cc                   	int3
57f150:	55                   	push   %ebp
57f151:	8b ec                	mov    %esp,%ebp
57f153:	56                   	push   %esi
57f154:	8b 75 0c             	mov    0xc(%ebp),%esi
57f157:	8b 4e 2c             	mov    0x2c(%esi),%ecx
57f15a:	83 f9 08             	cmp    $0x8,%ecx
57f15d:	72 2e                	jb     0x57f18d
57f15f:	8b 46 18             	mov    0x18(%esi),%eax
57f162:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
57f169:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
57f16f:	72 12                	jb     0x57f183
57f171:	8b 50 fc             	mov    -0x4(%eax),%edx
57f174:	83 c1 23             	add    $0x23,%ecx
57f177:	2b c2                	sub    %edx,%eax
57f179:	83 c0 fc             	add    $0xfffffffc,%eax
57f17c:	83 f8 1f             	cmp    $0x1f,%eax
57f17f:	77 6b                	ja     0x57f1ec
57f181:	8b c2                	mov    %edx,%eax
57f183:	51                   	push   %ecx
57f184:	50                   	push   %eax
57f185:	e8 e8 1e 06 00       	call   0x5e1072
57f18a:	83 c4 08             	add    $0x8,%esp
57f18d:	33 c0                	xor    %eax,%eax
57f18f:	c7 46 28 00 00 00 00 	movl   $0x0,0x28(%esi)
57f196:	c7 46 2c 07 00 00 00 	movl   $0x7,0x2c(%esi)
57f19d:	66 89 46 18          	mov    %ax,0x18(%esi)
57f1a1:	8b 4e 14             	mov    0x14(%esi),%ecx
57f1a4:	83 f9 08             	cmp    $0x8,%ecx
57f1a7:	72 2d                	jb     0x57f1d6
57f1a9:	8b 06                	mov    (%esi),%eax
57f1ab:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
57f1b2:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
57f1b8:	72 12                	jb     0x57f1cc
57f1ba:	8b 50 fc             	mov    -0x4(%eax),%edx
57f1bd:	83 c1 23             	add    $0x23,%ecx
57f1c0:	2b c2                	sub    %edx,%eax
57f1c2:	83 c0 fc             	add    $0xfffffffc,%eax
57f1c5:	83 f8 1f             	cmp    $0x1f,%eax
57f1c8:	77 22                	ja     0x57f1ec
57f1ca:	8b c2                	mov    %edx,%eax
57f1cc:	51                   	push   %ecx
57f1cd:	50                   	push   %eax
57f1ce:	e8 9f 1e 06 00       	call   0x5e1072
57f1d3:	83 c4 08             	add    $0x8,%esp
57f1d6:	33 c0                	xor    %eax,%eax
57f1d8:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
57f1df:	c7 46 14 07 00 00 00 	movl   $0x7,0x14(%esi)
57f1e6:	66 89 06             	mov    %ax,(%esi)
57f1e9:	5e                   	pop    %esi
57f1ea:	5d                   	pop    %ebp
57f1eb:	c3                   	ret
57f1ec:	e8 3e dd 06 00       	call   0x5ecf2f
57f1f1:	cc                   	int3
57f1f2:	cc                   	int3
57f1f3:	cc                   	int3
57f1f4:	cc                   	int3
57f1f5:	cc                   	int3
57f1f6:	cc                   	int3
57f1f7:	cc                   	int3
57f1f8:	cc                   	int3
57f1f9:	cc                   	int3
57f1fa:	cc                   	int3
57f1fb:	cc                   	int3
57f1fc:	cc                   	int3
57f1fd:	cc                   	int3
57f1fe:	cc                   	int3
57f1ff:	cc                   	int3
57f200:	55                   	push   %ebp
57f201:	8b ec                	mov    %esp,%ebp
57f203:	6a ff                	push   $0xffffffff
57f205:	68 88 c9 65 00       	push   $0x65c988
57f20a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
57f210:	50                   	push   %eax
57f211:	51                   	push   %ecx
57f212:	56                   	push   %esi
57f213:	57                   	push   %edi
57f214:	a1 d4 89 72 00       	mov    0x7289d4,%eax
57f219:	33 c5                	xor    %ebp,%eax
57f21b:	50                   	push   %eax
57f21c:	8d 45 f4             	lea    -0xc(%ebp),%eax
57f21f:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
57f225:	8b f9                	mov    %ecx,%edi
57f227:	89 7d f0             	mov    %edi,-0x10(%ebp)
57f22a:	8b 75 08             	mov    0x8(%ebp),%esi
57f22d:	8b 46 04             	mov    0x4(%esi),%eax
57f230:	a8 03                	test   $0x3,%al
57f232:	74 15                	je     0x57f249
57f234:	8b 0e                	mov    (%esi),%ecx
57f236:	85 c9                	test   %ecx,%ecx
57f238:	74 0f                	je     0x57f249
57f23a:	c1 e8 02             	shr    $0x2,%eax
57f23d:	50                   	push   %eax
57f23e:	51                   	push   %ecx
57f23f:	e8 3c 20 00 00       	call   0x581280
57f244:	83 c4 08             	add    $0x8,%esp
57f247:	eb 02                	jmp    0x57f24b
57f249:	8b 06                	mov    (%esi),%eax
57f24b:	89 07                	mov    %eax,(%edi)
57f24d:	8b 46 04             	mov    0x4(%esi),%eax
57f250:	83 e0 03             	and    $0x3,%eax
57f253:	83 3e 00             	cmpl   $0x0,(%esi)
57f256:	74 09                	je     0x57f261
57f258:	33 d2                	xor    %edx,%edx
57f25a:	85 c0                	test   %eax,%eax
57f25c:	0f 95 c2             	setne  %dl
57f25f:	eb 02                	jmp    0x57f263
57f261:	8b d0                	mov    %eax,%edx
57f263:	8b 4f 04             	mov    0x4(%edi),%ecx
57f266:	83 e1 fc             	and    $0xfffffffc,%ecx
57f269:	0b ca                	or     %edx,%ecx
57f26b:	89 4f 04             	mov    %ecx,0x4(%edi)
57f26e:	8b 46 04             	mov    0x4(%esi),%eax
57f271:	33 c1                	xor    %ecx,%eax
57f273:	83 e0 03             	and    $0x3,%eax
57f276:	33 46 04             	xor    0x4(%esi),%eax
57f279:	89 47 04             	mov    %eax,0x4(%edi)
57f27c:	ff 75 0c             	push   0xc(%ebp)
57f27f:	8d 4f 08             	lea    0x8(%edi),%ecx
57f282:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
57f289:	e8 12 08 00 00       	call   0x57faa0
57f28e:	8b c7                	mov    %edi,%eax
57f290:	8b 4d f4             	mov    -0xc(%ebp),%ecx
57f293:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
57f29a:	59                   	pop    %ecx
57f29b:	5f                   	pop    %edi
57f29c:	5e                   	pop    %esi
57f29d:	8b e5                	mov    %ebp,%esp
57f29f:	5d                   	pop    %ebp
57f2a0:	c2 08 00             	ret    $0x8
57f2a3:	cc                   	int3
57f2a4:	cc                   	int3
57f2a5:	cc                   	int3
57f2a6:	cc                   	int3
57f2a7:	cc                   	int3
57f2a8:	cc                   	int3
57f2a9:	cc                   	int3
57f2aa:	cc                   	int3
57f2ab:	cc                   	int3
57f2ac:	cc                   	int3
57f2ad:	cc                   	int3
57f2ae:	cc                   	int3
57f2af:	cc                   	int3
57f2b0:	55                   	push   %ebp
57f2b1:	8b ec                	mov    %esp,%ebp
57f2b3:	6a ff                	push   $0xffffffff
57f2b5:	68 b8 c9 65 00       	push   $0x65c9b8
57f2ba:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
57f2c0:	50                   	push   %eax
57f2c1:	83 ec 10             	sub    $0x10,%esp
57f2c4:	53                   	push   %ebx
57f2c5:	56                   	push   %esi
57f2c6:	57                   	push   %edi
57f2c7:	a1 d4 89 72 00       	mov    0x7289d4,%eax
57f2cc:	33 c5                	xor    %ebp,%eax
57f2ce:	50                   	push   %eax
57f2cf:	8d 45 f4             	lea    -0xc(%ebp),%eax
57f2d2:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
57f2d8:	89 65 f0             	mov    %esp,-0x10(%ebp)
57f2db:	8b f9                	mov    %ecx,%edi
57f2dd:	89 7d e4             	mov    %edi,-0x1c(%ebp)
57f2e0:	8b 45 08             	mov    0x8(%ebp),%eax
57f2e3:	8b 1f                	mov    (%edi),%ebx
57f2e5:	80 78 0d 00          	cmpb   $0x0,0xd(%eax)
57f2e9:	75 7f                	jne    0x57f36a
57f2eb:	89 7d e8             	mov    %edi,-0x18(%ebp)
57f2ee:	6a 30                	push   $0x30
57f2f0:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
57f2f7:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
57f2fe:	e8 3f 1d 06 00       	call   0x5e1042
57f303:	8b f0                	mov    %eax,%esi
57f305:	8b 45 08             	mov    0x8(%ebp),%eax
57f308:	83 c0 10             	add    $0x10,%eax
57f30b:	89 75 ec             	mov    %esi,-0x14(%ebp)
57f30e:	50                   	push   %eax
57f30f:	8d 46 10             	lea    0x10(%esi),%eax
57f312:	50                   	push   %eax
57f313:	57                   	push   %edi
57f314:	e8 07 03 00 00       	call   0x57f620
57f319:	8b 4d 08             	mov    0x8(%ebp),%ecx
57f31c:	83 c4 10             	add    $0x10,%esp
57f31f:	8b 45 0c             	mov    0xc(%ebp),%eax
57f322:	89 1e                	mov    %ebx,(%esi)
57f324:	89 5e 08             	mov    %ebx,0x8(%esi)
57f327:	ff 75 10             	push   0x10(%ebp)
57f32a:	66 c7 46 0c 00 00    	movw   $0x0,0xc(%esi)
57f330:	89 46 04             	mov    %eax,0x4(%esi)
57f333:	8a 41 0c             	mov    0xc(%ecx),%al
57f336:	88 46 0c             	mov    %al,0xc(%esi)
57f339:	80 7b 0d 00          	cmpb   $0x0,0xd(%ebx)
57f33d:	56                   	push   %esi
57f33e:	ff 31                	push   (%ecx)
57f340:	0f 45 de             	cmovne %esi,%ebx
57f343:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
57f34a:	8b cf                	mov    %edi,%ecx
57f34c:	89 5d ec             	mov    %ebx,-0x14(%ebp)
57f34f:	e8 5c ff ff ff       	call   0x57f2b0
57f354:	ff 75 10             	push   0x10(%ebp)
57f357:	89 06                	mov    %eax,(%esi)
57f359:	8b cf                	mov    %edi,%ecx
57f35b:	8b 45 08             	mov    0x8(%ebp),%eax
57f35e:	56                   	push   %esi
57f35f:	ff 70 08             	push   0x8(%eax)
57f362:	e8 49 ff ff ff       	call   0x57f2b0
57f367:	89 46 08             	mov    %eax,0x8(%esi)
57f36a:	8b c3                	mov    %ebx,%eax
57f36c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
57f36f:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
57f376:	59                   	pop    %ecx
57f377:	5f                   	pop    %edi
57f378:	5e                   	pop    %esi
57f379:	5b                   	pop    %ebx
57f37a:	8b e5                	mov    %ebp,%esp
57f37c:	5d                   	pop    %ebp
57f37d:	c2 0c 00             	ret    $0xc
57f380:	ff 75 ec             	push   -0x14(%ebp)
57f383:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
57f386:	e8 25 a1 eb ff       	call   0x4394b0
57f38b:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
57f38e:	50                   	push   %eax
57f38f:	e8 0c 00 00 00       	call   0x57f3a0
57f394:	6a 00                	push   $0x0
57f396:	6a 00                	push   $0x0
57f398:	e8 95 36 06 00       	call   0x5e2a32
57f39d:	cc                   	int3
57f39e:	cc                   	int3
57f39f:	cc                   	int3
57f3a0:	55                   	push   %ebp
57f3a1:	8b ec                	mov    %esp,%ebp
57f3a3:	51                   	push   %ecx
57f3a4:	56                   	push   %esi
57f3a5:	8b 75 0c             	mov    0xc(%ebp),%esi
57f3a8:	8b c1                	mov    %ecx,%eax
57f3aa:	89 45 fc             	mov    %eax,-0x4(%ebp)
57f3ad:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
57f3b1:	75 4b                	jne    0x57f3fe
57f3b3:	53                   	push   %ebx
57f3b4:	8b 5d 08             	mov    0x8(%ebp),%ebx
57f3b7:	57                   	push   %edi
57f3b8:	ff 76 08             	push   0x8(%esi)
57f3bb:	8b c8                	mov    %eax,%ecx
57f3bd:	53                   	push   %ebx
57f3be:	e8 dd ff ff ff       	call   0x57f3a0
57f3c3:	8b fe                	mov    %esi,%edi
57f3c5:	8b 36                	mov    (%esi),%esi
57f3c7:	8d 4f 18             	lea    0x18(%edi),%ecx
57f3ca:	e8 b1 0c 00 00       	call   0x580080
57f3cf:	8b 4f 10             	mov    0x10(%edi),%ecx
57f3d2:	85 c9                	test   %ecx,%ecx
57f3d4:	74 12                	je     0x57f3e8