5a9119:	03 57 0c             	add    0xc(%edi),%edx
5a911c:	83 d1 00             	adc    $0x0,%ecx
5a911f:	2b 54 24 20          	sub    0x20(%esp),%edx
5a9123:	83 d9 00             	sbb    $0x0,%ecx
5a9126:	2b 54 24 40          	sub    0x40(%esp),%edx
5a912a:	83 d9 00             	sbb    $0x0,%ecx
5a912d:	03 54 24 24          	add    0x24(%esp),%edx
5a9131:	83 d1 00             	adc    $0x0,%ecx
5a9134:	03 d6                	add    %esi,%edx
5a9136:	83 d1 00             	adc    $0x0,%ecx
5a9139:	03 54 24 38          	add    0x38(%esp),%edx
5a913d:	83 d1 00             	adc    $0x0,%ecx
5a9140:	03 d5                	add    %ebp,%edx
5a9142:	89 57 0c             	mov    %edx,0xc(%edi)
5a9145:	13 4c 24 10          	adc    0x10(%esp),%ecx
5a9149:	8b 54 24 10          	mov    0x10(%esp),%edx
5a914d:	8b c1                	mov    %ecx,%eax
5a914f:	0f a4 ea 01          	shld   $0x1,%ebp,%edx
5a9153:	c1 f8 1f             	sar    $0x1f,%eax
5a9156:	03 ed                	add    %ebp,%ebp
5a9158:	03 e9                	add    %ecx,%ebp
5a915a:	13 d0                	adc    %eax,%edx
5a915c:	2b 6c 24 24          	sub    0x24(%esp),%ebp
5a9160:	83 da 00             	sbb    $0x0,%edx
5a9163:	03 6f 10             	add    0x10(%edi),%ebp
5a9166:	83 d2 00             	adc    $0x0,%edx
5a9169:	8b 4c 24 40          	mov    0x40(%esp),%ecx
5a916d:	03 6c 24 28          	add    0x28(%esp),%ebp
5a9171:	83 d2 00             	adc    $0x0,%edx
5a9174:	03 eb                	add    %ebx,%ebp
5a9176:	83 d2 00             	adc    $0x0,%edx
5a9179:	03 6c 24 40          	add    0x40(%esp),%ebp
5a917d:	83 d2 00             	adc    $0x0,%edx
5a9180:	03 ee                	add    %esi,%ebp
5a9182:	83 d2 00             	adc    $0x0,%edx
5a9185:	03 6c 24 38          	add    0x38(%esp),%ebp
5a9189:	89 6f 10             	mov    %ebp,0x10(%edi)
5a918c:	83 d2 00             	adc    $0x0,%edx
5a918f:	8b 6c 24 2c          	mov    0x2c(%esp),%ebp
5a9193:	89 54 24 10          	mov    %edx,0x10(%esp)
5a9197:	33 d2                	xor    %edx,%edx
5a9199:	0f a4 ca 01          	shld   $0x1,%ecx,%edx
5a919d:	8b 44 24 10          	mov    0x10(%esp),%eax
5a91a1:	03 c9                	add    %ecx,%ecx
5a91a3:	c1 f8 1f             	sar    $0x1f,%eax
5a91a6:	03 4c 24 10          	add    0x10(%esp),%ecx
5a91aa:	13 d0                	adc    %eax,%edx
5a91ac:	03 4f 14             	add    0x14(%edi),%ecx
5a91af:	83 d2 00             	adc    $0x0,%edx
5a91b2:	2b 4c 24 28          	sub    0x28(%esp),%ecx
5a91b6:	83 da 00             	sbb    $0x0,%edx
5a91b9:	03 cd                	add    %ebp,%ecx
5a91bb:	83 d2 00             	adc    $0x0,%edx
5a91be:	03 4c 24 20          	add    0x20(%esp),%ecx
5a91c2:	83 d2 00             	adc    $0x0,%edx
5a91c5:	03 cb                	add    %ebx,%ecx
5a91c7:	8b 5c 24 30          	mov    0x30(%esp),%ebx
5a91cb:	83 d2 00             	adc    $0x0,%edx
5a91ce:	03 4c 24 3c          	add    0x3c(%esp),%ecx
5a91d2:	83 d2 00             	adc    $0x0,%edx
5a91d5:	03 4c 24 44          	add    0x44(%esp),%ecx
5a91d9:	89 4f 14             	mov    %ecx,0x14(%edi)
5a91dc:	83 d2 00             	adc    $0x0,%edx
5a91df:	8b 4c 24 44          	mov    0x44(%esp),%ecx
5a91e3:	33 f6                	xor    %esi,%esi
5a91e5:	8b c2                	mov    %edx,%eax
5a91e7:	0f a4 ce 01          	shld   $0x1,%ecx,%esi
5a91eb:	c1 f8 1f             	sar    $0x1f,%eax
5a91ee:	03 c9                	add    %ecx,%ecx
5a91f0:	03 ca                	add    %edx,%ecx
5a91f2:	8b 54 24 34          	mov    0x34(%esp),%edx
5a91f6:	13 f0                	adc    %eax,%esi
5a91f8:	2b cd                	sub    %ebp,%ecx
5a91fa:	83 de 00             	sbb    $0x0,%esi
5a91fd:	03 4f 18             	add    0x18(%edi),%ecx
5a9200:	83 d6 00             	adc    $0x0,%esi
5a9203:	03 cb                	add    %ebx,%ecx
5a9205:	83 d6 00             	adc    $0x0,%esi
5a9208:	03 4c 24 24          	add    0x24(%esp),%ecx
5a920c:	83 d6 00             	adc    $0x0,%esi
5a920f:	03 4c 24 20          	add    0x20(%esp),%ecx
5a9213:	83 d6 00             	adc    $0x0,%esi
5a9216:	03 4c 24 40          	add    0x40(%esp),%ecx
5a921a:	89 4f 18             	mov    %ecx,0x18(%edi)
5a921d:	83 d6 00             	adc    $0x0,%esi
5a9220:	8b ce                	mov    %esi,%ecx
5a9222:	c1 f9 1f             	sar    $0x1f,%ecx
5a9225:	2b f3                	sub    %ebx,%esi
5a9227:	83 d9 00             	sbb    $0x0,%ecx
5a922a:	03 77 1c             	add    0x1c(%edi),%esi
5a922d:	83 d1 00             	adc    $0x0,%ecx
5a9230:	03 f2                	add    %edx,%esi
5a9232:	83 d1 00             	adc    $0x0,%ecx
5a9235:	03 74 24 28          	add    0x28(%esp),%esi
5a9239:	83 d1 00             	adc    $0x0,%ecx
5a923c:	03 74 24 24          	add    0x24(%esp),%esi
5a9240:	83 d1 00             	adc    $0x0,%ecx
5a9243:	03 74 24 44          	add    0x44(%esp),%esi
5a9247:	89 77 1c             	mov    %esi,0x1c(%edi)
5a924a:	83 d1 00             	adc    $0x0,%ecx
5a924d:	8b c1                	mov    %ecx,%eax
5a924f:	c1 f8 1f             	sar    $0x1f,%eax
5a9252:	2b ca                	sub    %edx,%ecx
5a9254:	83 d8 00             	sbb    $0x0,%eax
5a9257:	03 4f 20             	add    0x20(%edi),%ecx
5a925a:	83 d0 00             	adc    $0x0,%eax
5a925d:	03 cd                	add    %ebp,%ecx
5a925f:	8b 74 24 38          	mov    0x38(%esp),%esi
5a9263:	83 d0 00             	adc    $0x0,%eax
5a9266:	03 4c 24 28          	add    0x28(%esp),%ecx
5a926a:	83 d0 00             	adc    $0x0,%eax
5a926d:	03 ce                	add    %esi,%ecx
5a926f:	89 4f 20             	mov    %ecx,0x20(%edi)
5a9272:	83 d0 00             	adc    $0x0,%eax
5a9275:	8b c8                	mov    %eax,%ecx
5a9277:	c1 f9 1f             	sar    $0x1f,%ecx
5a927a:	03 47 24             	add    0x24(%edi),%eax
5a927d:	83 d1 00             	adc    $0x0,%ecx
5a9280:	2b c6                	sub    %esi,%eax
5a9282:	83 d9 00             	sbb    $0x0,%ecx
5a9285:	03 c3                	add    %ebx,%eax
5a9287:	83 d1 00             	adc    $0x0,%ecx
5a928a:	03 c5                	add    %ebp,%eax
5a928c:	83 d1 00             	adc    $0x0,%ecx
5a928f:	03 44 24 3c          	add    0x3c(%esp),%eax
5a9293:	89 47 24             	mov    %eax,0x24(%edi)
5a9296:	83 d1 00             	adc    $0x0,%ecx
5a9299:	8b c1                	mov    %ecx,%eax
5a929b:	c1 f8 1f             	sar    $0x1f,%eax
5a929e:	03 4f 28             	add    0x28(%edi),%ecx
5a92a1:	83 d0 00             	adc    $0x0,%eax
5a92a4:	2b 4c 24 3c          	sub    0x3c(%esp),%ecx
5a92a8:	83 d8 00             	sbb    $0x0,%eax
5a92ab:	03 ca                	add    %edx,%ecx
5a92ad:	83 d0 00             	adc    $0x0,%eax
5a92b0:	03 cb                	add    %ebx,%ecx
5a92b2:	83 d0 00             	adc    $0x0,%eax
5a92b5:	03 4c 24 40          	add    0x40(%esp),%ecx
5a92b9:	89 4f 28             	mov    %ecx,0x28(%edi)
5a92bc:	83 d0 00             	adc    $0x0,%eax
5a92bf:	8b c8                	mov    %eax,%ecx
5a92c1:	c1 f9 1f             	sar    $0x1f,%ecx
5a92c4:	2b 44 24 40          	sub    0x40(%esp),%eax
5a92c8:	83 d9 00             	sbb    $0x0,%ecx
5a92cb:	03 47 2c             	add    0x2c(%edi),%eax
5a92ce:	83 d1 00             	adc    $0x0,%ecx
5a92d1:	03 c2                	add    %edx,%eax
5a92d3:	83 d1 00             	adc    $0x0,%ecx
5a92d6:	03 c6                	add    %esi,%eax
5a92d8:	be 30 ba 4c 00       	mov    $0x4cba30,%esi
5a92dd:	83 d1 00             	adc    $0x0,%ecx
5a92e0:	03 44 24 44          	add    0x44(%esp),%eax
5a92e4:	89 47 2c             	mov    %eax,0x2c(%edi)
5a92e7:	83 d1 00             	adc    $0x0,%ecx
5a92ea:	8b c1                	mov    %ecx,%eax
5a92ec:	c1 f8 1f             	sar    $0x1f,%eax
5a92ef:	85 c9                	test   %ecx,%ecx
5a92f1:	7e 1d                	jle    0x5a9310
5a92f3:	8d 04 49             	lea    (%ecx,%ecx,2),%eax
5a92f6:	c1 e0 04             	shl    $0x4,%eax
5a92f9:	6a 0c                	push   $0xc
5a92fb:	8d 80 60 d1 6c 00    	lea    0x6cd160(%eax),%eax
5a9301:	50                   	push   %eax
5a9302:	57                   	push   %edi
5a9303:	57                   	push   %edi
5a9304:	e8 27 27 f2 ff       	call   0x4cba30
5a9309:	83 c4 10             	add    $0x10,%esp
5a930c:	8b d8                	mov    %eax,%ebx
5a930e:	eb 3b                	jmp    0x5a934b
5a9310:	79 34                	jns    0x5a9346
5a9312:	8d 0c 49             	lea    (%ecx,%ecx,2),%ecx
5a9315:	b8 90 d1 6c 00       	mov    $0x6cd190,%eax
5a931a:	83 c1 03             	add    $0x3,%ecx
5a931d:	c1 e1 04             	shl    $0x4,%ecx
5a9320:	6a 0c                	push   $0xc
5a9322:	2b c1                	sub    %ecx,%eax
5a9324:	50                   	push   %eax
5a9325:	57                   	push   %edi
5a9326:	57                   	push   %edi
5a9327:	e8 24 15 f2 ff       	call   0x4ca850
5a932c:	8b d8                	mov    %eax,%ebx
5a932e:	83 c4 10             	add    $0x10,%esp
5a9331:	f7 d8                	neg    %eax
5a9333:	8b f0                	mov    %eax,%esi
5a9335:	25 30 ba 4c 00       	and    $0x4cba30,%eax
5a933a:	f7 d6                	not    %esi
5a933c:	81 e6 50 a8 4c 00    	and    $0x4ca850,%esi
5a9342:	0b f0                	or     %eax,%esi
5a9344:	eb 05                	jmp    0x5a934b
5a9346:	bb 01 00 00 00       	mov    $0x1,%ebx
5a934b:	6a 0c                	push   $0xc
5a934d:	68 90 d1 6c 00       	push   $0x6cd190
5a9352:	8d 44 24 50          	lea    0x50(%esp),%eax
5a9356:	57                   	push   %edi
5a9357:	50                   	push   %eax
5a9358:	ff d6                	call   *%esi
5a935a:	f7 d8                	neg    %eax
5a935c:	8d 54 24 58          	lea    0x58(%esp),%edx
5a9360:	f7 db                	neg    %ebx
5a9362:	83 c4 10             	add    $0x10,%esp
5a9365:	23 c3                	and    %ebx,%eax
5a9367:	8b c8                	mov    %eax,%ecx
5a9369:	23 c7                	and    %edi,%eax
5a936b:	f7 d1                	not    %ecx
5a936d:	23 ca                	and    %edx,%ecx
5a936f:	ba 0c 00 00 00       	mov    $0xc,%edx
5a9374:	0b c8                	or     %eax,%ecx
5a9376:	2b cf                	sub    %edi,%ecx
5a9378:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
5a937f:	00
5a9380:	8b 04 39             	mov    (%ecx,%edi,1),%eax
5a9383:	8d 7f 04             	lea    0x4(%edi),%edi
5a9386:	89 47 fc             	mov    %eax,-0x4(%edi)
5a9389:	83 ea 01             	sub    $0x1,%edx
5a938c:	75 f2                	jne    0x5a9380
5a938e:	8b 74 24 14          	mov    0x14(%esp),%esi
5a9392:	8d 4a 0c             	lea    0xc(%edx),%ecx
5a9395:	8b 16                	mov    (%esi),%edx
5a9397:	c7 46 04 0c 00 00 00 	movl   $0xc,0x4(%esi)
5a939e:	83 c2 2c             	add    $0x2c,%edx
5a93a1:	8b 02                	mov    (%edx),%eax
5a93a3:	8d 52 fc             	lea    -0x4(%edx),%edx
5a93a6:	85 c0                	test   %eax,%eax
5a93a8:	75 05                	jne    0x5a93af
5a93aa:	49                   	dec    %ecx
5a93ab:	85 c9                	test   %ecx,%ecx
5a93ad:	7f f2                	jg     0x5a93a1
5a93af:	89 4e 04             	mov    %ecx,0x4(%esi)
5a93b2:	85 c9                	test   %ecx,%ecx
5a93b4:	75 03                	jne    0x5a93b9
5a93b6:	89 4e 0c             	mov    %ecx,0xc(%esi)
5a93b9:	5f                   	pop    %edi
5a93ba:	5e                   	pop    %esi
5a93bb:	5d                   	pop    %ebp
5a93bc:	b8 01 00 00 00       	mov    $0x1,%eax
5a93c1:	5b                   	pop    %ebx
5a93c2:	8b 4c 24 68          	mov    0x68(%esp),%ecx
5a93c6:	33 cc                	xor    %esp,%ecx
5a93c8:	e8 0d 81 03 00       	call   0x5e14da
5a93cd:	83 c4 6c             	add    $0x6c,%esp
5a93d0:	c3                   	ret
5a93d1:	57                   	push   %edi
5a93d2:	68 e4 d3 6c 00       	push   $0x6cd3e4
5a93d7:	56                   	push   %esi
5a93d8:	53                   	push   %ebx
5a93d9:	e8 72 59 fc ff       	call   0x56ed50
5a93de:	8b 8c 24 88 00 00 00 	mov    0x88(%esp),%ecx
5a93e5:	83 c4 10             	add    $0x10,%esp
5a93e8:	5f                   	pop    %edi
5a93e9:	5e                   	pop    %esi
5a93ea:	5d                   	pop    %ebp
5a93eb:	5b                   	pop    %ebx
5a93ec:	33 cc                	xor    %esp,%ecx
5a93ee:	e8 e7 80 03 00       	call   0x5e14da
5a93f3:	83 c4 6c             	add    $0x6c,%esp
5a93f6:	c3                   	ret
5a93f7:	cc                   	int3
5a93f8:	cc                   	int3
5a93f9:	cc                   	int3
5a93fa:	cc                   	int3
5a93fb:	cc                   	int3
5a93fc:	cc                   	int3
5a93fd:	cc                   	int3
5a93fe:	cc                   	int3
5a93ff:	cc                   	int3
5a9400:	b8 4c 00 00 00       	mov    $0x4c,%eax
5a9405:	e8 e6 80 03 00       	call   0x5e14f0
5a940a:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5a940f:	33 c4                	xor    %esp,%eax
5a9411:	89 44 24 48          	mov    %eax,0x48(%esp)
5a9415:	53                   	push   %ebx
5a9416:	8b 5c 24 60          	mov    0x60(%esp),%ebx
5a941a:	55                   	push   %ebp
5a941b:	56                   	push   %esi
5a941c:	8b 74 24 60          	mov    0x60(%esp),%esi
5a9420:	57                   	push   %edi
5a9421:	8b 7c 24 60          	mov    0x60(%esp),%edi
5a9425:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
5a9429:	8b 46 04             	mov    0x4(%esi),%eax
5a942c:	8b 2e                	mov    (%esi),%ebp
5a942e:	89 44 24 10          	mov    %eax,0x10(%esp)
5a9432:	0f 85 9c 01 00 00    	jne    0x5a95d4
5a9438:	68 5c d4 6c 00       	push   $0x6cd45c
5a943d:	56                   	push   %esi
5a943e:	e8 0d a1 f0 ff       	call   0x4b3550
5a9443:	83 c4 08             	add    $0x8,%esp
5a9446:	85 c0                	test   %eax,%eax
5a9448:	0f 89 86 01 00 00    	jns    0x5a95d4
5a944e:	56                   	push   %esi
5a944f:	68 f8 d3 6c 00       	push   $0x6cd3f8
5a9454:	e8 f7 a0 f0 ff       	call   0x4b3550
5a9459:	83 c4 08             	add    $0x8,%esp
5a945c:	85 c0                	test   %eax,%eax
5a945e:	75 22                	jne    0x5a9482
5a9460:	50                   	push   %eax
5a9461:	57                   	push   %edi
5a9462:	e8 89 a0 f0 ff       	call   0x4b34f0
5a9467:	83 c4 08             	add    $0x8,%esp
5a946a:	5f                   	pop    %edi
5a946b:	5e                   	pop    %esi
5a946c:	5d                   	pop    %ebp
5a946d:	b8 01 00 00 00       	mov    $0x1,%eax
5a9472:	5b                   	pop    %ebx
5a9473:	8b 4c 24 48          	mov    0x48(%esp),%ecx
5a9477:	33 cc                	xor    %esp,%ecx
5a9479:	e8 5c 80 03 00       	call   0x5e14da
5a947e:	83 c4 4c             	add    $0x4c,%esp
5a9481:	c3                   	ret
5a9482:	7e 27                	jle    0x5a94ab
5a9484:	3b fe                	cmp    %esi,%edi
5a9486:	74 e2                	je     0x5a946a
5a9488:	56                   	push   %esi
5a9489:	57                   	push   %edi
5a948a:	e8 41 9c f0 ff       	call   0x4b30d0
5a948f:	83 c4 08             	add    $0x8,%esp
5a9492:	f7 d8                	neg    %eax
5a9494:	1b c0                	sbb    %eax,%eax
5a9496:	f7 d8                	neg    %eax
5a9498:	5f                   	pop    %edi
5a9499:	5e                   	pop    %esi
5a949a:	5d                   	pop    %ebp
5a949b:	5b                   	pop    %ebx
5a949c:	8b 4c 24 48          	mov    0x48(%esp),%ecx
5a94a0:	33 cc                	xor    %esp,%ecx
5a94a2:	e8 33 80 03 00       	call   0x5e14da
5a94a7:	83 c4 4c             	add    $0x4c,%esp
5a94aa:	c3                   	ret
5a94ab:	3b fe                	cmp    %esi,%edi
5a94ad:	74 51                	je     0x5a9500
5a94af:	83 7f 08 11          	cmpl   $0x11,0x8(%edi)
5a94b3:	7c 04                	jl     0x5a94b9
5a94b5:	8b c7                	mov    %edi,%eax
5a94b7:	eb 0b                	jmp    0x5a94c4
5a94b9:	6a 11                	push   $0x11
5a94bb:	57                   	push   %edi
5a94bc:	e8 df a1 f0 ff       	call   0x4b36a0
5a94c1:	83 c4 08             	add    $0x8,%esp
5a94c4:	85 c0                	test   %eax,%eax
5a94c6:	75 13                	jne    0x5a94db
5a94c8:	5f                   	pop    %edi
5a94c9:	5e                   	pop    %esi
5a94ca:	5d                   	pop    %ebp
5a94cb:	5b                   	pop    %ebx
5a94cc:	8b 4c 24 48          	mov    0x48(%esp),%ecx
5a94d0:	33 cc                	xor    %esp,%ecx
5a94d2:	e8 03 80 03 00       	call   0x5e14da
5a94d7:	83 c4 4c             	add    $0x4c,%esp
5a94da:	c3                   	ret
5a94db:	8b 37                	mov    (%edi),%esi
5a94dd:	8b dd                	mov    %ebp,%ebx