58915d:	cc                   	int3
58915e:	cc                   	int3
58915f:	cc                   	int3
589160:	6a 5d                	push   $0x5d
589162:	68 38 3c 6c 00       	push   $0x6c3c38
589167:	6a 08                	push   $0x8
589169:	e8 42 70 f1 ff       	call   0x4a01b0
58916e:	83 c4 0c             	add    $0xc,%esp
589171:	85 c0                	test   %eax,%eax
589173:	75 01                	jne    0x589176
589175:	c3                   	ret
589176:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
58917c:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
589183:	c3                   	ret
589184:	cc                   	int3
589185:	cc                   	int3
589186:	cc                   	int3
589187:	cc                   	int3
589188:	cc                   	int3
589189:	cc                   	int3
58918a:	cc                   	int3
58918b:	cc                   	int3
58918c:	cc                   	int3
58918d:	cc                   	int3
58918e:	cc                   	int3
58918f:	cc                   	int3
589190:	8b 44 24 0c          	mov    0xc(%esp),%eax
589194:	8b 48 3c             	mov    0x3c(%eax),%ecx
589197:	89 44 24 0c          	mov    %eax,0xc(%esp)
58919b:	8b 41 04             	mov    0x4(%ecx),%eax
58919e:	ff e0                	jmp    *%eax
5891a0:	8b 44 24 04          	mov    0x4(%esp),%eax
5891a4:	8b 48 3c             	mov    0x3c(%eax),%ecx
5891a7:	89 44 24 04          	mov    %eax,0x4(%esp)
5891ab:	8b 41 08             	mov    0x8(%ecx),%eax
5891ae:	ff e0                	jmp    *%eax
5891b0:	8b 44 24 04          	mov    0x4(%esp),%eax
5891b4:	85 c0                	test   %eax,%eax
5891b6:	75 13                	jne    0x5891cb
5891b8:	e8 e3 36 fe ff       	call   0x56c8a0
5891bd:	8b 4c 24 08          	mov    0x8(%esp),%ecx
5891c1:	89 01                	mov    %eax,(%ecx)
5891c3:	f7 d8                	neg    %eax
5891c5:	1b c0                	sbb    %eax,%eax
5891c7:	83 e0 02             	and    $0x2,%eax
5891ca:	c3                   	ret
5891cb:	83 f8 02             	cmp    $0x2,%eax
5891ce:	75 1c                	jne    0x5891ec
5891d0:	56                   	push   %esi
5891d1:	8b 74 24 0c          	mov    0xc(%esp),%esi
5891d5:	ff 36                	push   (%esi)
5891d7:	e8 d4 35 fe ff       	call   0x56c7b0
5891dc:	83 c4 04             	add    $0x4,%esp
5891df:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
5891e5:	b8 02 00 00 00       	mov    $0x2,%eax
5891ea:	5e                   	pop    %esi
5891eb:	c3                   	ret
5891ec:	b8 01 00 00 00       	mov    $0x1,%eax
5891f1:	c3                   	ret
5891f2:	cc                   	int3
5891f3:	cc                   	int3
5891f4:	cc                   	int3
5891f5:	cc                   	int3
5891f6:	cc                   	int3
5891f7:	cc                   	int3
5891f8:	cc                   	int3
5891f9:	cc                   	int3
5891fa:	cc                   	int3
5891fb:	cc                   	int3
5891fc:	cc                   	int3
5891fd:	cc                   	int3
5891fe:	cc                   	int3
5891ff:	cc                   	int3
589200:	b8 e8 3c 6c 00       	mov    $0x6c3ce8,%eax
589205:	c3                   	ret
589206:	cc                   	int3
589207:	cc                   	int3
589208:	cc                   	int3
589209:	cc                   	int3
58920a:	cc                   	int3
58920b:	cc                   	int3
58920c:	cc                   	int3
58920d:	cc                   	int3
58920e:	cc                   	int3
58920f:	cc                   	int3
589210:	68 a4 3c 6c 00       	push   $0x6c3ca4
589215:	ff 74 24 10          	push   0x10(%esp)
589219:	ff 74 24 10          	push   0x10(%esp)
58921d:	ff 74 24 10          	push   0x10(%esp)
589221:	e8 1a 2e f4 ff       	call   0x4cc040
589226:	83 c4 10             	add    $0x10,%esp
589229:	c3                   	ret
58922a:	cc                   	int3
58922b:	cc                   	int3
58922c:	cc                   	int3
58922d:	cc                   	int3
58922e:	cc                   	int3
58922f:	cc                   	int3
589230:	56                   	push   %esi
589231:	e8 6a 36 fe ff       	call   0x56c8a0
589236:	8b f0                	mov    %eax,%esi
589238:	85 f6                	test   %esi,%esi
58923a:	75 02                	jne    0x58923e
58923c:	5e                   	pop    %esi
58923d:	c3                   	ret
58923e:	57                   	push   %edi
58923f:	68 04 3d 6c 00       	push   $0x6c3d04
589244:	ff 74 24 18          	push   0x18(%esp)
589248:	ff 74 24 18          	push   0x18(%esp)
58924c:	6a 00                	push   $0x0
58924e:	e8 ed 2d f4 ff       	call   0x4cc040
589253:	8b f8                	mov    %eax,%edi
589255:	83 c4 10             	add    $0x10,%esp
589258:	85 ff                	test   %edi,%edi
58925a:	75 0e                	jne    0x58926a
58925c:	56                   	push   %esi
58925d:	e8 4e 35 fe ff       	call   0x56c7b0
589262:	83 c4 04             	add    $0x4,%esp
589265:	33 c0                	xor    %eax,%eax
589267:	5f                   	pop    %edi
589268:	5e                   	pop    %esi
589269:	c3                   	ret
58926a:	53                   	push   %ebx
58926b:	8b 5c 24 10          	mov    0x10(%esp),%ebx
58926f:	85 db                	test   %ebx,%ebx
589271:	74 11                	je     0x589284
589273:	8b 03                	mov    (%ebx),%eax
589275:	85 c0                	test   %eax,%eax
589277:	74 09                	je     0x589282
589279:	50                   	push   %eax
58927a:	e8 31 35 fe ff       	call   0x56c7b0
58927f:	83 c4 04             	add    $0x4,%esp
589282:	89 33                	mov    %esi,(%ebx)
589284:	8b 07                	mov    (%edi),%eax
589286:	89 46 08             	mov    %eax,0x8(%esi)
589289:	8b 47 04             	mov    0x4(%edi),%eax
58928c:	89 46 24             	mov    %eax,0x24(%esi)
58928f:	8b 47 08             	mov    0x8(%edi),%eax
589292:	89 46 0c             	mov    %eax,0xc(%esi)
589295:	8b 47 0c             	mov    0xc(%edi),%eax
589298:	89 46 28             	mov    %eax,0x28(%esi)
58929b:	8b 47 10             	mov    0x10(%edi),%eax
58929e:	5b                   	pop    %ebx
58929f:	85 c0                	test   %eax,%eax
5892a1:	74 43                	je     0x5892e6
5892a3:	8b 00                	mov    (%eax),%eax
5892a5:	8b 40 08             	mov    0x8(%eax),%eax
5892a8:	89 46 2c             	mov    %eax,0x2c(%esi)
5892ab:	8b 47 10             	mov    0x10(%edi),%eax
5892ae:	8b 00                	mov    (%eax),%eax
5892b0:	8b 00                	mov    (%eax),%eax
5892b2:	89 46 30             	mov    %eax,0x30(%esi)
5892b5:	8b 47 10             	mov    0x10(%edi),%eax
5892b8:	8b 40 04             	mov    0x4(%eax),%eax
5892bb:	89 46 34             	mov    %eax,0x34(%esi)
5892be:	8b 47 10             	mov    0x10(%edi),%eax
5892c1:	8b 00                	mov    (%eax),%eax
5892c3:	c7 40 08 00 00 00 00 	movl   $0x0,0x8(%eax)
5892ca:	8b 47 10             	mov    0x10(%edi),%eax
5892cd:	ff 30                	push   (%eax)
5892cf:	e8 2c a8 f2 ff       	call   0x4b3b00
5892d4:	ff 77 10             	push   0x10(%edi)
5892d7:	e8 54 6e f1 ff       	call   0x4a0130
5892dc:	83 c4 08             	add    $0x8,%esp
5892df:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
5892e6:	57                   	push   %edi
5892e7:	e8 44 6e f1 ff       	call   0x4a0130
5892ec:	83 c4 04             	add    $0x4,%esp
5892ef:	8b c6                	mov    %esi,%eax
5892f1:	5f                   	pop    %edi
5892f2:	5e                   	pop    %esi
5892f3:	c3                   	ret
5892f4:	cc                   	int3
5892f5:	cc                   	int3
5892f6:	cc                   	int3
5892f7:	cc                   	int3
5892f8:	cc                   	int3
5892f9:	cc                   	int3
5892fa:	cc                   	int3
5892fb:	cc                   	int3
5892fc:	cc                   	int3
5892fd:	cc                   	int3
5892fe:	cc                   	int3
5892ff:	cc                   	int3
589300:	68 a4 3c 6c 00       	push   $0x6c3ca4
589305:	ff 74 24 0c          	push   0xc(%esp)
589309:	ff 74 24 0c          	push   0xc(%esp)
58930d:	e8 ee 48 f4 ff       	call   0x4cdc00
589312:	83 c4 0c             	add    $0xc,%esp
589315:	c3                   	ret
589316:	cc                   	int3
589317:	cc                   	int3
589318:	cc                   	int3
589319:	cc                   	int3
58931a:	cc                   	int3
58931b:	cc                   	int3
58931c:	cc                   	int3
58931d:	cc                   	int3
58931e:	cc                   	int3
58931f:	cc                   	int3
589320:	b8 2c 00 00 00       	mov    $0x2c,%eax
589325:	e8 c6 81 05 00       	call   0x5e14f0
58932a:	8b 4c 24 30          	mov    0x30(%esp),%ecx
58932e:	8b 41 08             	mov    0x8(%ecx),%eax
589331:	8b 51 34             	mov    0x34(%ecx),%edx
589334:	89 44 24 18          	mov    %eax,0x18(%esp)
589338:	8b 41 0c             	mov    0xc(%ecx),%eax
58933b:	89 44 24 20          	mov    %eax,0x20(%esp)
58933f:	8b 41 24             	mov    0x24(%ecx),%eax
589342:	89 44 24 1c          	mov    %eax,0x1c(%esp)
589346:	8b 41 28             	mov    0x28(%ecx),%eax
589349:	89 44 24 24          	mov    %eax,0x24(%esp)
58934d:	85 d2                	test   %edx,%edx
58934f:	74 32                	je     0x589383
589351:	8b 41 2c             	mov    0x2c(%ecx),%eax
589354:	85 c0                	test   %eax,%eax
589356:	74 2b                	je     0x589383
589358:	8b 49 30             	mov    0x30(%ecx),%ecx
58935b:	85 c9                	test   %ecx,%ecx
58935d:	7e 24                	jle    0x589383
58935f:	89 44 24 10          	mov    %eax,0x10(%esp)
589363:	8d 44 24 08          	lea    0x8(%esp),%eax
589367:	89 04 24             	mov    %eax,(%esp)
58936a:	8d 04 24             	lea    (%esp),%eax
58936d:	c7 44 24 14 08 00 00 	movl   $0x8,0x14(%esp)
589374:	00
589375:	89 4c 24 08          	mov    %ecx,0x8(%esp)
589379:	89 54 24 04          	mov    %edx,0x4(%esp)
58937d:	89 44 24 28          	mov    %eax,0x28(%esp)
589381:	eb 08                	jmp    0x58938b
589383:	c7 44 24 28 00 00 00 	movl   $0x0,0x28(%esp)
58938a:	00
58938b:	68 04 3d 6c 00       	push   $0x6c3d04
589390:	ff 74 24 38          	push   0x38(%esp)
589394:	8d 44 24 20          	lea    0x20(%esp),%eax
589398:	50                   	push   %eax
589399:	e8 62 48 f4 ff       	call   0x4cdc00
58939e:	83 c4 38             	add    $0x38,%esp
5893a1:	c3                   	ret
5893a2:	cc                   	int3
5893a3:	cc                   	int3
5893a4:	cc                   	int3
5893a5:	cc                   	int3
5893a6:	cc                   	int3
5893a7:	cc                   	int3
5893a8:	cc                   	int3
5893a9:	cc                   	int3
5893aa:	cc                   	int3
5893ab:	cc                   	int3
5893ac:	cc                   	int3
5893ad:	cc                   	int3
5893ae:	cc                   	int3
5893af:	cc                   	int3
5893b0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
5893b4:	83 39 01             	cmpl   $0x1,(%ecx)
5893b7:	74 1e                	je     0x5893d7
5893b9:	6a 4f                	push   $0x4f
5893bb:	68 c0 3d 6c 00       	push   $0x6c3dc0
5893c0:	68 b5 00 00 00       	push   $0xb5
5893c5:	68 af 00 00 00       	push   $0xaf
5893ca:	6a 2e                	push   $0x2e
5893cc:	e8 cf 80 f1 ff       	call   0x4a14a0
5893d1:	83 c4 14             	add    $0x14,%esp
5893d4:	33 c0                	xor    %eax,%eax
5893d6:	c3                   	ret
5893d7:	8b 54 24 08          	mov    0x8(%esp),%edx
5893db:	85 d2                	test   %edx,%edx
5893dd:	74 08                	je     0x5893e7
5893df:	8b 41 04             	mov    0x4(%ecx),%eax
5893e2:	8b 40 0c             	mov    0xc(%eax),%eax
5893e5:	89 02                	mov    %eax,(%edx)
5893e7:	8b 54 24 0c          	mov    0xc(%esp),%edx
5893eb:	85 d2                	test   %edx,%edx
5893ed:	74 08                	je     0x5893f7
5893ef:	8b 41 04             	mov    0x4(%ecx),%eax
5893f2:	8b 40 08             	mov    0x8(%eax),%eax
5893f5:	89 02                	mov    %eax,(%edx)
5893f7:	b8 01 00 00 00       	mov    $0x1,%eax
5893fc:	c3                   	ret
5893fd:	cc                   	int3
5893fe:	cc                   	int3
5893ff:	cc                   	int3
589400:	8b 44 24 04          	mov    0x4(%esp),%eax
589404:	83 38 01             	cmpl   $0x1,(%eax)
589407:	75 07                	jne    0x589410
589409:	8b 40 04             	mov    0x4(%eax),%eax
58940c:	83 c0 18             	add    $0x18,%eax
58940f:	c3                   	ret
589410:	33 c0                	xor    %eax,%eax
589412:	c3                   	ret
589413:	cc                   	int3
589414:	cc                   	int3
589415:	cc                   	int3
589416:	cc                   	int3
589417:	cc                   	int3
589418:	cc                   	int3
589419:	cc                   	int3
58941a:	cc                   	int3
58941b:	cc                   	int3
58941c:	cc                   	int3
58941d:	cc                   	int3
58941e:	cc                   	int3
58941f:	cc                   	int3
589420:	8b 44 24 04          	mov    0x4(%esp),%eax
589424:	83 38 01             	cmpl   $0x1,(%eax)
589427:	74 1e                	je     0x589447
589429:	6a 70                	push   $0x70
58942b:	68 c0 3d 6c 00       	push   $0x6c3dc0
589430:	68 b5 00 00 00       	push   $0xb5
589435:	68 ad 00 00 00       	push   $0xad
58943a:	6a 2e                	push   $0x2e
58943c:	e8 5f 80 f1 ff       	call   0x4a14a0
589441:	83 c4 14             	add    $0x14,%esp
589444:	33 c0                	xor    %eax,%eax
589446:	c3                   	ret
589447:	8b 40 04             	mov    0x4(%eax),%eax
58944a:	57                   	push   %edi
58944b:	8b 7c 24 18          	mov    0x18(%esp),%edi
58944f:	8b 48 04             	mov    0x4(%eax),%ecx
589452:	85 ff                	test   %edi,%edi
589454:	74 06                	je     0x58945c
589456:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
58945c:	8b 54 24 1c          	mov    0x1c(%esp),%edx
589460:	85 d2                	test   %edx,%edx
589462:	74 06                	je     0x58946a
589464:	c7 02 00 00 00 00    	movl   $0x0,(%edx)
58946a:	56                   	push   %esi
58946b:	8b 74 24 18          	mov    0x18(%esp),%esi
58946f:	85 f6                	test   %esi,%esi
589471:	74 06                	je     0x589479
589473:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
589479:	53                   	push   %ebx
58947a:	8b 5c 24 14          	mov    0x14(%esp),%ebx
58947e:	85 db                	test   %ebx,%ebx
589480:	74 06                	je     0x589488
589482:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
589488:	55                   	push   %ebp
589489:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
58948d:	85 ed                	test   %ebp,%ebp
58948f:	74 07                	je     0x589498
589491:	c7 45 00 00 00 00 00 	movl   $0x0,0x0(%ebp)
589498:	8b 01                	mov    (%ecx),%eax
58949a:	85 c0                	test   %eax,%eax
58949c:	75 21                	jne    0x5894bf
58949e:	85 ff                	test   %edi,%edi
5894a0:	74 07                	je     0x5894a9
5894a2:	8b 41 04             	mov    0x4(%ecx),%eax
5894a5:	8b 00                	mov    (%eax),%eax
5894a7:	89 07                	mov    %eax,(%edi)
5894a9:	85 d2                	test   %edx,%edx