5951e8:	56                   	push   %esi
5951e9:	6a 08                	push   $0x8
5951eb:	53                   	push   %ebx
5951ec:	57                   	push   %edi
5951ed:	e8 7e c8 00 00       	call   0x5a1a70
5951f2:	83 c4 24             	add    $0x24,%esp
5951f5:	5f                   	pop    %edi
5951f6:	5e                   	pop    %esi
5951f7:	5d                   	pop    %ebp
5951f8:	b8 01 00 00 00       	mov    $0x1,%eax
5951fd:	5b                   	pop    %ebx
5951fe:	c3                   	ret
5951ff:	cc                   	int3
595200:	b8 cc 84 6c 00       	mov    $0x6c84cc,%eax
595205:	c3                   	ret
595206:	cc                   	int3
595207:	cc                   	int3
595208:	cc                   	int3
595209:	cc                   	int3
59520a:	cc                   	int3
59520b:	cc                   	int3
59520c:	cc                   	int3
59520d:	cc                   	int3
59520e:	cc                   	int3
59520f:	cc                   	int3
595210:	b8 2c 00 00 00       	mov    $0x2c,%eax
595215:	e8 d6 c2 04 00       	call   0x5e14f0
59521a:	a1 d4 89 72 00       	mov    0x7289d4,%eax
59521f:	33 c4                	xor    %esp,%eax
595221:	89 44 24 28          	mov    %eax,0x28(%esp)
595225:	8b 4c 24 30          	mov    0x30(%esp),%ecx
595229:	53                   	push   %ebx
59522a:	8b 5c 24 3c          	mov    0x3c(%esp),%ebx
59522e:	55                   	push   %ebp
59522f:	56                   	push   %esi
595230:	8b 74 24 40          	mov    0x40(%esp),%esi
595234:	83 cd ff             	or     $0xffffffff,%ebp
595237:	57                   	push   %edi
595238:	8b 7c 24 4c          	mov    0x4c(%esp),%edi
59523c:	89 4c 24 10          	mov    %ecx,0x10(%esp)
595240:	83 ff 18             	cmp    $0x18,%edi
595243:	73 15                	jae    0x59525a
595245:	5f                   	pop    %edi
595246:	5e                   	pop    %esi
595247:	0b c5                	or     %ebp,%eax
595249:	5d                   	pop    %ebp
59524a:	5b                   	pop    %ebx
59524b:	8b 4c 24 28          	mov    0x28(%esp),%ecx
59524f:	33 cc                	xor    %esp,%ecx
595251:	e8 84 c2 04 00       	call   0x5e14da
595256:	83 c4 2c             	add    $0x2c,%esp
595259:	c3                   	ret
59525a:	85 f6                	test   %esi,%esi
59525c:	75 16                	jne    0x595274
59525e:	8d 47 f0             	lea    -0x10(%edi),%eax
595261:	5f                   	pop    %edi
595262:	5e                   	pop    %esi
595263:	5d                   	pop    %ebp
595264:	5b                   	pop    %ebx
595265:	8b 4c 24 28          	mov    0x28(%esp),%ecx
595269:	33 cc                	xor    %esp,%ecx
59526b:	e8 6a c2 04 00       	call   0x5e14da
595270:	83 c4 2c             	add    $0x2c,%esp
595273:	c3                   	ret
595274:	a1 c4 84 6c 00       	mov    0x6c84c4,%eax
595279:	89 41 20             	mov    %eax,0x20(%ecx)
59527c:	a1 c8 84 6c 00       	mov    0x6c84c8,%eax
595281:	6a 08                	push   $0x8
595283:	89 41 24             	mov    %eax,0x24(%ecx)
595286:	8d 44 24 18          	lea    0x18(%esp),%eax
59528a:	53                   	push   %ebx
59528b:	50                   	push   %eax
59528c:	51                   	push   %ecx
59528d:	e8 4e fc ff ff       	call   0x594ee0
595292:	83 c4 10             	add    $0x10,%esp
595295:	3b f3                	cmp    %ebx,%esi
595297:	75 14                	jne    0x5952ad
595299:	8d 47 f8             	lea    -0x8(%edi),%eax
59529c:	50                   	push   %eax
59529d:	8d 46 08             	lea    0x8(%esi),%eax
5952a0:	50                   	push   %eax
5952a1:	56                   	push   %esi
5952a2:	e8 d9 e1 04 00       	call   0x5e3480
5952a7:	83 c4 0c             	add    $0xc,%esp
5952aa:	83 eb 08             	sub    $0x8,%ebx
5952ad:	8d 47 f0             	lea    -0x10(%edi),%eax
5952b0:	50                   	push   %eax
5952b1:	8d 43 08             	lea    0x8(%ebx),%eax
5952b4:	50                   	push   %eax
5952b5:	56                   	push   %esi
5952b6:	ff 74 24 1c          	push   0x1c(%esp)
5952ba:	e8 21 fc ff ff       	call   0x594ee0
5952bf:	6a 08                	push   $0x8
5952c1:	8d 47 f8             	lea    -0x8(%edi),%eax
5952c4:	03 c3                	add    %ebx,%eax
5952c6:	8b 5c 24 24          	mov    0x24(%esp),%ebx
5952ca:	50                   	push   %eax
5952cb:	8d 44 24 34          	lea    0x34(%esp),%eax
5952cf:	50                   	push   %eax
5952d0:	53                   	push   %ebx
5952d1:	e8 0a fc ff ff       	call   0x594ee0
5952d6:	6a 08                	push   $0x8
5952d8:	8d 44 24 38          	lea    0x38(%esp),%eax
5952dc:	6a 00                	push   $0x0
5952de:	50                   	push   %eax
5952df:	e8 fc 93 f3 ff       	call   0x4ce6e0
5952e4:	8d 47 f0             	lea    -0x10(%edi),%eax
5952e7:	50                   	push   %eax
5952e8:	6a 00                	push   $0x0
5952ea:	56                   	push   %esi
5952eb:	e8 f0 93 f3 ff       	call   0x4ce6e0
5952f0:	6a 08                	push   $0x8
5952f2:	8d 44 24 58          	lea    0x58(%esp),%eax
5952f6:	50                   	push   %eax
5952f7:	8d 43 20             	lea    0x20(%ebx),%eax
5952fa:	50                   	push   %eax
5952fb:	e8 e0 93 f3 ff       	call   0x4ce6e0
595300:	83 c4 44             	add    $0x44,%esp
595303:	8d 47 f0             	lea    -0x10(%edi),%eax
595306:	50                   	push   %eax
595307:	56                   	push   %esi
595308:	56                   	push   %esi
595309:	53                   	push   %ebx
59530a:	e8 d1 fb ff ff       	call   0x594ee0
59530f:	6a 08                	push   $0x8
595311:	8d 44 24 28          	lea    0x28(%esp),%eax
595315:	50                   	push   %eax
595316:	50                   	push   %eax
595317:	53                   	push   %ebx
595318:	e8 c3 fb ff ff       	call   0x594ee0
59531d:	8d 44 24 44          	lea    0x44(%esp),%eax
595321:	50                   	push   %eax
595322:	8d 47 f0             	lea    -0x10(%edi),%eax
595325:	50                   	push   %eax
595326:	56                   	push   %esi
595327:	e8 e4 d3 00 00       	call   0x5a2710
59532c:	6a 08                	push   $0x8
59532e:	8d 44 24 44          	lea    0x44(%esp),%eax
595332:	50                   	push   %eax
595333:	8d 44 24 58          	lea    0x58(%esp),%eax
595337:	50                   	push   %eax
595338:	e8 f3 b2 f0 ff       	call   0x4a0630
59533d:	83 c4 38             	add    $0x38,%esp
595340:	85 c0                	test   %eax,%eax
595342:	75 03                	jne    0x595347
595344:	8d 6f f0             	lea    -0x10(%edi),%ebp
595347:	8d 44 24 14          	lea    0x14(%esp),%eax
59534b:	6a 08                	push   $0x8
59534d:	50                   	push   %eax
59534e:	e8 fd af f0 ff       	call   0x4a0350
595353:	8d 44 24 2c          	lea    0x2c(%esp),%eax
595357:	6a 14                	push   $0x14
595359:	50                   	push   %eax
59535a:	e8 f1 af f0 ff       	call   0x4a0350
59535f:	8d 44 24 2c          	lea    0x2c(%esp),%eax
595363:	6a 08                	push   $0x8
595365:	50                   	push   %eax
595366:	e8 e5 af f0 ff       	call   0x4a0350
59536b:	8d 43 20             	lea    0x20(%ebx),%eax
59536e:	6a 08                	push   $0x8
595370:	50                   	push   %eax
595371:	e8 da af f0 ff       	call   0x4a0350
595376:	83 c4 20             	add    $0x20,%esp
595379:	83 fd ff             	cmp    $0xffffffff,%ebp
59537c:	75 0d                	jne    0x59538b
59537e:	8d 47 f0             	lea    -0x10(%edi),%eax
595381:	50                   	push   %eax
595382:	56                   	push   %esi
595383:	e8 c8 af f0 ff       	call   0x4a0350
595388:	83 c4 08             	add    $0x8,%esp
59538b:	8b 4c 24 38          	mov    0x38(%esp),%ecx
59538f:	8b c5                	mov    %ebp,%eax
595391:	5f                   	pop    %edi
595392:	5e                   	pop    %esi
595393:	5d                   	pop    %ebp
595394:	5b                   	pop    %ebx
595395:	33 cc                	xor    %esp,%ecx
595397:	e8 3e c1 04 00       	call   0x5e14da
59539c:	83 c4 2c             	add    $0x2c,%esp
59539f:	c3                   	ret
5953a0:	b8 18 00 00 00       	mov    $0x18,%eax
5953a5:	e8 46 c1 04 00       	call   0x5e14f0
5953aa:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5953af:	33 c4                	xor    %esp,%eax
5953b1:	89 44 24 14          	mov    %eax,0x14(%esp)
5953b5:	53                   	push   %ebx
5953b6:	8b 5c 24 28          	mov    0x28(%esp),%ebx
5953ba:	55                   	push   %ebp
5953bb:	8b 6c 24 24          	mov    0x24(%esp),%ebp
5953bf:	56                   	push   %esi
5953c0:	8b 74 24 34          	mov    0x34(%esp),%esi
5953c4:	57                   	push   %edi
5953c5:	8b 7c 24 30          	mov    0x30(%esp),%edi
5953c9:	85 ff                	test   %edi,%edi
5953cb:	75 16                	jne    0x5953e3
5953cd:	5f                   	pop    %edi
5953ce:	8d 46 10             	lea    0x10(%esi),%eax
5953d1:	5e                   	pop    %esi
5953d2:	5d                   	pop    %ebp
5953d3:	5b                   	pop    %ebx
5953d4:	8b 4c 24 14          	mov    0x14(%esp),%ecx
5953d8:	33 cc                	xor    %esp,%ecx
5953da:	e8 fb c0 04 00       	call   0x5e14da
5953df:	83 c4 18             	add    $0x18,%esp
5953e2:	c3                   	ret
5953e3:	56                   	push   %esi
5953e4:	8d 47 08             	lea    0x8(%edi),%eax
5953e7:	53                   	push   %ebx
5953e8:	50                   	push   %eax
5953e9:	e8 92 e0 04 00       	call   0x5e3480
5953ee:	8d 44 24 1c          	lea    0x1c(%esp),%eax
5953f2:	50                   	push   %eax
5953f3:	56                   	push   %esi
5953f4:	53                   	push   %ebx
5953f5:	e8 16 d3 00 00       	call   0x5a2710
5953fa:	8b 44 24 28          	mov    0x28(%esp),%eax
5953fe:	89 44 3e 08          	mov    %eax,0x8(%esi,%edi,1)
595402:	8b 44 24 2c          	mov    0x2c(%esp),%eax
595406:	89 44 3e 0c          	mov    %eax,0xc(%esi,%edi,1)
59540a:	8d 44 24 28          	lea    0x28(%esp),%eax
59540e:	6a 14                	push   $0x14
595410:	50                   	push   %eax
595411:	e8 3a af f0 ff       	call   0x4a0350
595416:	8d 5d 20             	lea    0x20(%ebp),%ebx
595419:	6a 08                	push   $0x8
59541b:	53                   	push   %ebx
59541c:	e8 7f ba ef ff       	call   0x490ea0
595421:	83 c4 28             	add    $0x28,%esp
595424:	85 c0                	test   %eax,%eax
595426:	7f 16                	jg     0x59543e
595428:	5f                   	pop    %edi
595429:	5e                   	pop    %esi
59542a:	5d                   	pop    %ebp
59542b:	83 c8 ff             	or     $0xffffffff,%eax
59542e:	5b                   	pop    %ebx
59542f:	8b 4c 24 14          	mov    0x14(%esp),%ecx
595433:	33 cc                	xor    %esp,%ecx
595435:	e8 a0 c0 04 00       	call   0x5e14da
59543a:	83 c4 18             	add    $0x18,%esp
59543d:	c3                   	ret
59543e:	8b 03                	mov    (%ebx),%eax
595440:	89 07                	mov    %eax,(%edi)
595442:	8b 43 04             	mov    0x4(%ebx),%eax
595445:	89 47 04             	mov    %eax,0x4(%edi)
595448:	8d 46 08             	lea    0x8(%esi),%eax
59544b:	50                   	push   %eax
59544c:	8d 47 08             	lea    0x8(%edi),%eax
59544f:	50                   	push   %eax
595450:	50                   	push   %eax
595451:	55                   	push   %ebp
595452:	e8 89 fa ff ff       	call   0x594ee0
595457:	83 c6 10             	add    $0x10,%esi
59545a:	56                   	push   %esi
59545b:	6a 00                	push   $0x0
59545d:	57                   	push   %edi
59545e:	e8 7d 92 f3 ff       	call   0x4ce6e0
595463:	8b 0d c4 84 6c 00    	mov    0x6c84c4,%ecx
595469:	56                   	push   %esi
59546a:	57                   	push   %edi
59546b:	89 0b                	mov    %ecx,(%ebx)
59546d:	8b 0d c8 84 6c 00    	mov    0x6c84c8,%ecx
595473:	57                   	push   %edi
595474:	55                   	push   %ebp
595475:	89 4b 04             	mov    %ecx,0x4(%ebx)
595478:	e8 63 fa ff ff       	call   0x594ee0
59547d:	8b 4c 24 50          	mov    0x50(%esp),%ecx
595481:	83 c4 2c             	add    $0x2c,%esp
595484:	8b c6                	mov    %esi,%eax
595486:	5f                   	pop    %edi
595487:	5e                   	pop    %esi
595488:	5d                   	pop    %ebp
595489:	5b                   	pop    %ebx
59548a:	33 cc                	xor    %esp,%ecx
59548c:	e8 49 c0 04 00       	call   0x5e14da
595491:	83 c4 18             	add    $0x18,%esp
595494:	c3                   	ret
595495:	cc                   	int3
595496:	cc                   	int3
595497:	cc                   	int3
595498:	cc                   	int3
595499:	cc                   	int3
59549a:	cc                   	int3
59549b:	cc                   	int3
59549c:	cc                   	int3
59549d:	cc                   	int3
59549e:	cc                   	int3
59549f:	cc                   	int3
5954a0:	8b 4c 24 04          	mov    0x4(%esp),%ecx
5954a4:	56                   	push   %esi
5954a5:	8b 01                	mov    (%ecx),%eax
5954a7:	8b 70 54             	mov    0x54(%eax),%esi
5954aa:	85 f6                	test   %esi,%esi
5954ac:	75 21                	jne    0x5954cf
5954ae:	f6 00 01             	testb  $0x1,(%eax)
5954b1:	75 1c                	jne    0x5954cf
5954b3:	68 ab 00 00 00       	push   $0xab
5954b8:	68 00 85 6c 00       	push   $0x6c8500
5954bd:	6a 42                	push   $0x42
5954bf:	6a 7a                	push   $0x7a
5954c1:	6a 10                	push   $0x10
5954c3:	e8 d8 bf f0 ff       	call   0x4a14a0
5954c8:	83 c4 14             	add    $0x14,%esp
5954cb:	33 c0                	xor    %eax,%eax
5954cd:	5e                   	pop    %esi
5954ce:	c3                   	ret
5954cf:	8b 54 24 0c          	mov    0xc(%esp),%edx
5954d3:	3b 02                	cmp    (%edx),%eax
5954d5:	74 1c                	je     0x5954f3
5954d7:	68 af 00 00 00       	push   $0xaf
5954dc:	68 00 85 6c 00       	push   $0x6c8500
5954e1:	6a 65                	push   $0x65
5954e3:	6a 7a                	push   $0x7a
5954e5:	6a 10                	push   $0x10
5954e7:	e8 b4 bf f0 ff       	call   0x4a14a0
5954ec:	83 c4 14             	add    $0x14,%esp
5954ef:	33 c0                	xor    %eax,%eax
5954f1:	5e                   	pop    %esi
5954f2:	c3                   	ret
5954f3:	f6 00 01             	testb  $0x1,(%eax)
5954f6:	74 24                	je     0x59551c
5954f8:	81 78 04 96 01 00 00 	cmpl   $0x196,0x4(%eax)
5954ff:	5e                   	pop    %esi
595500:	75 0d                	jne    0x59550f
595502:	89 54 24 08          	mov    %edx,0x8(%esp)
595506:	89 4c 24 04          	mov    %ecx,0x4(%esp)
59550a:	e9 91 d2 00 00       	jmp    0x5a27a0
59550f:	89 54 24 08          	mov    %edx,0x8(%esp)
595513:	89 4c 24 04          	mov    %ecx,0x4(%esp)
595517:	e9 f4 da 00 00       	jmp    0x5a3010
59551c:	ff 74 24 18          	push   0x18(%esp)
595520:	ff 74 24 18          	push   0x18(%esp)
595524:	ff 74 24 18          	push   0x18(%esp)
595528:	52                   	push   %edx
595529:	51                   	push   %ecx
59552a:	ff d6                	call   *%esi
59552c:	83 c4 14             	add    $0x14,%esp
59552f:	5e                   	pop    %esi
595530:	c3                   	ret
595531:	cc                   	int3
595532:	cc                   	int3
595533:	cc                   	int3
595534:	cc                   	int3
595535:	cc                   	int3
595536:	cc                   	int3
595537:	cc                   	int3
595538:	cc                   	int3
595539:	cc                   	int3
59553a:	cc                   	int3
59553b:	cc                   	int3
59553c:	cc                   	int3