5960dd:	56                   	push   %esi
5960de:	e8 6d e5 ff ff       	call   0x594650
5960e3:	83 c4 14             	add    $0x14,%esp
5960e6:	85 c0                	test   %eax,%eax
5960e8:	74 23                	je     0x59610d
5960ea:	6a 6e                	push   $0x6e
5960ec:	68 e0 71 66 00       	push   $0x6671e0
5960f1:	6a 44                	push   $0x44
5960f3:	68 fc 01 00 00       	push   $0x1fc
5960f8:	6a 50                	push   $0x50
5960fa:	56                   	push   %esi
5960fb:	e8 10 90 ff ff       	call   0x58f110
596100:	83 c4 18             	add    $0x18,%esp
596103:	33 c0                	xor    %eax,%eax
596105:	5f                   	pop    %edi
596106:	5d                   	pop    %ebp
596107:	5b                   	pop    %ebx
596108:	5e                   	pop    %esi
596109:	83 c4 08             	add    $0x8,%esp
59610c:	c3                   	ret
59610d:	55                   	push   %ebp
59610e:	33 ff                	xor    %edi,%edi
596110:	e8 ab ef f4 ff       	call   0x4e50c0
596115:	83 c4 04             	add    $0x4,%esp
596118:	85 c0                	test   %eax,%eax
59611a:	0f 8e bd 00 00 00    	jle    0x5961dd
596120:	8b 5c 24 10          	mov    0x10(%esp),%ebx
596124:	c7 44 24 14 00 ff 00 	movl   $0xff00,0x14(%esp)
59612b:	00
59612c:	0f 1f 40 00          	nopl   0x0(%eax)
596130:	57                   	push   %edi
596131:	55                   	push   %ebp
596132:	e8 49 f1 f4 ff       	call   0x4e5280
596137:	8b 4e 04             	mov    0x4(%esi),%ecx
59613a:	83 c4 08             	add    $0x8,%esp
59613d:	8b 49 64             	mov    0x64(%ecx),%ecx
596140:	f6 41 30 08          	testb  $0x8,0x30(%ecx)
596144:	74 7b                	je     0x5961c1
596146:	8b 48 28             	mov    0x28(%eax),%ecx
596149:	ba 00 ff 00 00       	mov    $0xff00,%edx
59614e:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
596154:	0f 44 ca             	cmove  %edx,%ecx
596157:	81 fb 00 01 00 00    	cmp    $0x100,%ebx
59615d:	8b d3                	mov    %ebx,%edx
59615f:	0f 44 54 24 14       	cmove  0x14(%esp),%edx
596164:	3b d1                	cmp    %ecx,%edx
596166:	7f 63                	jg     0x5961cb
596168:	8b 40 2c             	mov    0x2c(%eax),%eax
59616b:	b9 00 ff 00 00       	mov    $0xff00,%ecx
596170:	3d 00 01 00 00       	cmp    $0x100,%eax
596175:	0f 44 c1             	cmove  %ecx,%eax
596178:	3b d0                	cmp    %eax,%edx
59617a:	7c 4f                	jl     0x5961cb
59617c:	8b 46 7c             	mov    0x7c(%esi),%eax
59617f:	83 b8 80 01 00 00 00 	cmpl   $0x0,0x180(%eax)
596186:	0f 84 86 00 00 00    	je     0x596212
59618c:	83 b8 04 02 00 00 00 	cmpl   $0x0,0x204(%eax)
596193:	74 7d                	je     0x596212
596195:	8b 86 d0 04 00 00    	mov    0x4d0(%esi),%eax
59619b:	b9 01 00 00 00       	mov    $0x1,%ecx
5961a0:	83 c0 48             	add    $0x48,%eax
5961a3:	f0 0f c1 08          	lock xadd %ecx,(%eax)
5961a7:	8b 46 7c             	mov    0x7c(%esi),%eax
5961aa:	5f                   	pop    %edi
5961ab:	5d                   	pop    %ebp
5961ac:	5b                   	pop    %ebx
5961ad:	c7 80 44 02 00 00 00 	movl   $0x0,0x244(%eax)
5961b4:	00 00 00
5961b7:	b8 01 00 00 00       	mov    $0x1,%eax
5961bc:	5e                   	pop    %esi
5961bd:	83 c4 08             	add    $0x8,%esp
5961c0:	c3                   	ret
5961c1:	3b 58 20             	cmp    0x20(%eax),%ebx
5961c4:	7c 05                	jl     0x5961cb
5961c6:	3b 58 24             	cmp    0x24(%eax),%ebx
5961c9:	7e b1                	jle    0x59617c
5961cb:	55                   	push   %ebp
5961cc:	47                   	inc    %edi
5961cd:	e8 ee ee f4 ff       	call   0x4e50c0
5961d2:	83 c4 04             	add    $0x4,%esp
5961d5:	3b f8                	cmp    %eax,%edi
5961d7:	0f 8c 53 ff ff ff    	jl     0x596130
5961dd:	68 80 00 00 00       	push   $0x80
5961e2:	68 e0 71 66 00       	push   $0x6671e0
5961e7:	68 b5 00 00 00       	push   $0xb5
5961ec:	68 fc 01 00 00       	push   $0x1fc
5961f1:	6a 28                	push   $0x28
5961f3:	56                   	push   %esi
5961f4:	e8 17 8f ff ff       	call   0x58f110
5961f9:	68 f8 71 66 00       	push   $0x6671f8
5961fe:	6a 01                	push   $0x1
596200:	e8 6b 24 f4 ff       	call   0x4d8670
596205:	83 c4 20             	add    $0x20,%esp
596208:	33 c0                	xor    %eax,%eax
59620a:	5f                   	pop    %edi
59620b:	5d                   	pop    %ebp
59620c:	5b                   	pop    %ebx
59620d:	5e                   	pop    %esi
59620e:	83 c4 08             	add    $0x8,%esp
596211:	c3                   	ret
596212:	8b 86 e0 05 00 00    	mov    0x5e0(%esi),%eax
596218:	b9 01 00 00 00       	mov    $0x1,%ecx
59621d:	83 c0 44             	add    $0x44,%eax
596220:	f0 0f c1 08          	lock xadd %ecx,(%eax)
596224:	5f                   	pop    %edi
596225:	5d                   	pop    %ebp
596226:	5b                   	pop    %ebx
596227:	b8 01 00 00 00       	mov    $0x1,%eax
59622c:	5e                   	pop    %esi
59622d:	83 c4 08             	add    $0x8,%esp
596230:	c3                   	ret
596231:	8b 46 7c             	mov    0x7c(%esi),%eax
596234:	83 b8 80 01 00 00 00 	cmpl   $0x0,0x180(%eax)
59623b:	74 14                	je     0x596251
59623d:	83 b8 04 02 00 00 00 	cmpl   $0x0,0x204(%eax)
596244:	74 0b                	je     0x596251
596246:	8b 8e e0 05 00 00    	mov    0x5e0(%esi),%ecx
59624c:	83 c1 3c             	add    $0x3c,%ecx
59624f:	eb 09                	jmp    0x59625a
596251:	8b 8e e0 05 00 00    	mov    0x5e0(%esi),%ecx
596257:	83 c1 38             	add    $0x38,%ecx
59625a:	b8 01 00 00 00       	mov    $0x1,%eax
59625f:	f0 0f c1 01          	lock xadd %eax,(%ecx)
596263:	8b 46 7c             	mov    0x7c(%esi),%eax
596266:	0f 11 80 ac 00 00 00 	movups %xmm0,0xac(%eax)
59626d:	0f 11 80 bc 00 00 00 	movups %xmm0,0xbc(%eax)
596274:	8b 4e 7c             	mov    0x7c(%esi),%ecx
596277:	c7 86 8c 00 00 00 00 	movl   $0x0,0x8c(%esi)
59627e:	00 00 00
596281:	c7 81 18 02 00 00 00 	movl   $0x0,0x218(%ecx)
596288:	00 00 00
59628b:	8b 4e 04             	mov    0x4(%esi),%ecx
59628e:	8b 49 64             	mov    0x64(%ecx),%ecx
596291:	f6 41 30 08          	testb  $0x8,0x30(%ecx)
596295:	74 07                	je     0x59629e
596297:	c7 46 5c 01 00 00 00 	movl   $0x1,0x5c(%esi)
59629e:	5f                   	pop    %edi
59629f:	5d                   	pop    %ebp
5962a0:	5b                   	pop    %ebx
5962a1:	b8 01 00 00 00       	mov    $0x1,%eax
5962a6:	5e                   	pop    %esi
5962a7:	83 c4 08             	add    $0x8,%esp
5962aa:	c3                   	ret
5962ab:	cc                   	int3
5962ac:	cc                   	int3
5962ad:	cc                   	int3
5962ae:	cc                   	int3
5962af:	cc                   	int3
5962b0:	8b 4c 24 08          	mov    0x8(%esp),%ecx
5962b4:	8b 54 24 0c          	mov    0xc(%esp),%edx
5962b8:	3b ca                	cmp    %edx,%ecx
5962ba:	75 03                	jne    0x5962bf
5962bc:	33 c0                	xor    %eax,%eax
5962be:	c3                   	ret
5962bf:	8b 44 24 04          	mov    0x4(%esp),%eax
5962c3:	8b 40 04             	mov    0x4(%eax),%eax
5962c6:	8b 40 64             	mov    0x64(%eax),%eax
5962c9:	f6 40 30 08          	testb  $0x8,0x30(%eax)
5962cd:	75 0f                	jne    0x5962de
5962cf:	33 c0                	xor    %eax,%eax
5962d1:	3b ca                	cmp    %edx,%ecx
5962d3:	0f 9d c0             	setge  %al
5962d6:	8d 04 45 ff ff ff ff 	lea    -0x1(,%eax,2),%eax
5962dd:	c3                   	ret
5962de:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
5962e4:	b8 00 ff 00 00       	mov    $0xff00,%eax
5962e9:	0f 44 c8             	cmove  %eax,%ecx
5962ec:	81 fa 00 01 00 00    	cmp    $0x100,%edx
5962f2:	0f 44 d0             	cmove  %eax,%edx
5962f5:	33 c0                	xor    %eax,%eax
5962f7:	3b ca                	cmp    %edx,%ecx
5962f9:	0f 9e c0             	setle  %al
5962fc:	8d 04 45 ff ff ff ff 	lea    -0x1(,%eax,2),%eax
596303:	c3                   	ret
596304:	cc                   	int3
596305:	cc                   	int3
596306:	cc                   	int3
596307:	cc                   	int3
596308:	cc                   	int3
596309:	cc                   	int3
59630a:	cc                   	int3
59630b:	cc                   	int3
59630c:	cc                   	int3
59630d:	cc                   	int3
59630e:	cc                   	int3
59630f:	cc                   	int3
596310:	b8 60 00 00 00       	mov    $0x60,%eax
596315:	e8 96 b4 03 00       	call   0x5d17b0
59631a:	a1 c0 14 69 00       	mov    0x6914c0,%eax
59631f:	33 c4                	xor    %esp,%eax
596321:	89 44 24 5c          	mov    %eax,0x5c(%esp)
596325:	8b 44 24 74          	mov    0x74(%esp),%eax
596329:	53                   	push   %ebx
59632a:	8b 9c 24 90 00 00 00 	mov    0x90(%esp),%ebx
596331:	89 44 24 08          	mov    %eax,0x8(%esp)
596335:	8b 44 24 7c          	mov    0x7c(%esp),%eax
596339:	55                   	push   %ebp
59633a:	8b 6c 24 78          	mov    0x78(%esp),%ebp
59633e:	89 44 24 14          	mov    %eax,0x14(%esp)
596342:	8b 84 24 84 00 00 00 	mov    0x84(%esp),%eax
596349:	56                   	push   %esi
59634a:	8b 74 24 78          	mov    0x78(%esp),%esi
59634e:	89 44 24 1c          	mov    %eax,0x1c(%esp)
596352:	8b 84 24 90 00 00 00 	mov    0x90(%esp),%eax
596359:	57                   	push   %edi
59635a:	8b 7c 24 74          	mov    0x74(%esp),%edi
59635e:	89 44 24 10          	mov    %eax,0x10(%esp)
596362:	8b 84 24 98 00 00 00 	mov    0x98(%esp),%eax
596369:	56                   	push   %esi
59636a:	89 74 24 1c          	mov    %esi,0x1c(%esp)
59636e:	89 6c 24 2c          	mov    %ebp,0x2c(%esp)
596372:	89 44 24 28          	mov    %eax,0x28(%esp)
596376:	e8 45 a5 f5 ff       	call   0x4f08c0
59637b:	83 c4 04             	add    $0x4,%esp
59637e:	85 c0                	test   %eax,%eax
596380:	79 0a                	jns    0x59638c
596382:	68 78 01 00 00       	push   $0x178
596387:	e9 7e 01 00 00       	jmp    0x59650a
59638c:	6a 01                	push   $0x1
59638e:	50                   	push   %eax
59638f:	ff 74 24 18          	push   0x18(%esp)
596393:	50                   	push   %eax
596394:	ff 74 24 2c          	push   0x2c(%esp)
596398:	ff b4 24 a4 00 00 00 	push   0xa4(%esp)
59639f:	ff 74 24 38          	push   0x38(%esp)
5963a3:	ff 74 24 30          	push   0x30(%esp)
5963a7:	56                   	push   %esi
5963a8:	57                   	push   %edi
5963a9:	e8 82 0e 00 00       	call   0x597230
5963ae:	83 c4 28             	add    $0x28,%esp
5963b1:	85 c0                	test   %eax,%eax
5963b3:	0f 84 68 01 00 00    	je     0x596521
5963b9:	55                   	push   %ebp
5963ba:	e8 91 0e f5 ff       	call   0x4e7250
5963bf:	55                   	push   %ebp
5963c0:	89 44 24 1c          	mov    %eax,0x1c(%esp)
5963c4:	e8 e7 9e f5 ff       	call   0x4f02b0
5963c9:	25 07 00 0f 00       	and    $0xf0007,%eax
5963ce:	83 c4 08             	add    $0x8,%esp
5963d1:	83 f8 07             	cmp    $0x7,%eax
5963d4:	75 53                	jne    0x596429
5963d6:	8d 68 05             	lea    0x5(%eax),%ebp
5963d9:	8b 47 7c             	mov    0x7c(%edi),%eax
5963dc:	8b b0 10 02 00 00    	mov    0x210(%eax),%esi
5963e2:	85 f6                	test   %esi,%esi
5963e4:	75 24                	jne    0x59640a
5963e6:	8b 87 74 04 00 00    	mov    0x474(%edi),%eax
5963ec:	8b b0 bc 01 00 00    	mov    0x1bc(%eax),%esi
5963f2:	85 f6                	test   %esi,%esi
5963f4:	75 14                	jne    0x59640a
5963f6:	8b 87 78 04 00 00    	mov    0x478(%edi),%eax
5963fc:	85 c0                	test   %eax,%eax
5963fe:	74 1f                	je     0x59641f
596400:	8b b0 bc 01 00 00    	mov    0x1bc(%eax),%esi
596406:	85 f6                	test   %esi,%esi
596408:	74 15                	je     0x59641f
59640a:	8b 76 18             	mov    0x18(%esi),%esi
59640d:	81 e6 00 00 03 00    	and    $0x30000,%esi
596413:	f7 de                	neg    %esi
596415:	1b f6                	sbb    %esi,%esi
596417:	83 e6 f8             	and    $0xfffffff8,%esi
59641a:	83 c6 10             	add    $0x10,%esi
59641d:	eb 17                	jmp    0x596436
59641f:	68 93 01 00 00       	push   $0x193
596424:	e9 e1 00 00 00       	jmp    0x59650a
596429:	55                   	push   %ebp
59642a:	e8 11 0e f5 ff       	call   0x4e7240
59642f:	83 c4 04             	add    $0x4,%esp
596432:	8b e8                	mov    %eax,%ebp
596434:	33 f6                	xor    %esi,%esi
596436:	6a 01                	push   $0x1
596438:	ff 74 24 18          	push   0x18(%esp)
59643c:	8d 44 24 34          	lea    0x34(%esp),%eax
596440:	50                   	push   %eax
596441:	6a 00                	push   $0x0
596443:	6a 00                	push   $0x0
596445:	6a 03                	push   $0x3
596447:	68 48 72 66 00       	push   $0x667248
59644c:	ff 74 24 2c          	push   0x2c(%esp)
596450:	ff 74 24 38          	push   0x38(%esp)
596454:	57                   	push   %edi
596455:	e8 d6 0d 00 00       	call   0x597230
59645a:	83 c4 28             	add    $0x28,%esp
59645d:	85 c0                	test   %eax,%eax
59645f:	0f 84 bc 00 00 00    	je     0x596521
596465:	6a 01                	push   $0x1
596467:	55                   	push   %ebp
596468:	ff 74 24 2c          	push   0x2c(%esp)
59646c:	6a 00                	push   $0x0
59646e:	6a 00                	push   $0x0
596470:	6a 02                	push   $0x2
596472:	68 4c 72 66 00       	push   $0x66724c
596477:	ff 74 24 2c          	push   0x2c(%esp)
59647b:	ff 74 24 38          	push   0x38(%esp)
59647f:	57                   	push   %edi
596480:	e8 ab 0d 00 00       	call   0x597230
596485:	83 c4 28             	add    $0x28,%esp
596488:	85 c0                	test   %eax,%eax
59648a:	0f 84 91 00 00 00    	je     0x596521
596490:	ff 74 24 78          	push   0x78(%esp)
596494:	6a 00                	push   $0x0
596496:	6a 00                	push   $0x0
596498:	6a 00                	push   $0x0
59649a:	ff 74 24 38          	push   0x38(%esp)
59649e:	53                   	push   %ebx
59649f:	e8 4c 61 f4 ff       	call   0x4dc5f0
5964a4:	83 c4 18             	add    $0x18,%esp
5964a7:	85 c0                	test   %eax,%eax
5964a9:	7e 5a                	jle    0x596505
5964ab:	6a 00                	push   $0x0
5964ad:	55                   	push   %ebp
5964ae:	6a 09                	push   $0x9
5964b0:	53                   	push   %ebx
5964b1:	e8 aa 5e f4 ff       	call   0x4dc360
5964b6:	83 c4 10             	add    $0x10,%esp
5964b9:	85 c0                	test   %eax,%eax
5964bb:	74 48                	je     0x596505
5964bd:	85 f6                	test   %esi,%esi
5964bf:	74 12                	je     0x5964d3
5964c1:	6a 00                	push   $0x0
5964c3:	56                   	push   %esi
5964c4:	6a 11                	push   $0x11
5964c6:	53                   	push   %ebx
5964c7:	e8 94 5e f4 ff       	call   0x4dc360
5964cc:	83 c4 10             	add    $0x10,%esp
5964cf:	85 c0                	test   %eax,%eax
5964d1:	74 32                	je     0x596505
5964d3:	6a ff                	push   $0xffffffff
5964d5:	6a 00                	push   $0x0
5964d7:	8d 44 24 34          	lea    0x34(%esp),%eax
5964db:	50                   	push   %eax
5964dc:	6a 00                	push   $0x0
5964de:	6a 00                	push   $0x0
5964e0:	53                   	push   %ebx
5964e1:	e8 0a 61 f4 ff       	call   0x4dc5f0
5964e6:	83 c4 18             	add    $0x18,%esp
5964e9:	85 c0                	test   %eax,%eax
5964eb:	7e 18                	jle    0x596505
5964ed:	5f                   	pop    %edi
5964ee:	5e                   	pop    %esi
5964ef:	5d                   	pop    %ebp
5964f0:	b8 01 00 00 00       	mov    $0x1,%eax
5964f5:	5b                   	pop    %ebx
5964f6:	8b 4c 24 5c          	mov    0x5c(%esp),%ecx
5964fa:	33 cc                	xor    %esp,%ecx
5964fc:	e8 25 b5 03 00       	call   0x5d1a26
596501:	83 c4 60             	add    $0x60,%esp
596504:	c3                   	ret
596505:	68 ab 01 00 00       	push   $0x1ab
59650a:	68 40 73 66 00       	push   $0x667340