5a61f0:	50                   	push   %eax
5a61f1:	89 4c 24 18          	mov    %ecx,0x18(%esp)
5a61f5:	e8 66 06 00 00       	call   0x5a6860
5a61fa:	8b f8                	mov    %eax,%edi
5a61fc:	83 c4 08             	add    $0x8,%esp
5a61ff:	85 ff                	test   %edi,%edi
5a6201:	74 41                	je     0x5a6244
5a6203:	8b 4e 6c             	mov    0x6c(%esi),%ecx
5a6206:	ff 76 74             	push   0x74(%esi)
5a6209:	ff 71 04             	push   0x4(%ecx)
5a620c:	ff 77 2c             	push   0x2c(%edi)
5a620f:	e8 bc cb 02 00       	call   0x5d2dd0
5a6214:	8b 8e 80 00 00 00    	mov    0x80(%esi),%ecx
5a621a:	83 c4 0c             	add    $0xc,%esp
5a621d:	8b 89 24 01 00 00    	mov    0x124(%ecx),%ecx
5a6223:	81 fb 01 01 00 00    	cmp    $0x101,%ebx
5a6229:	75 2d                	jne    0x5a6258
5a622b:	33 c0                	xor    %eax,%eax
5a622d:	81 3e 00 01 00 00    	cmpl   $0x100,(%esi)
5a6233:	0f 94 c0             	sete   %al
5a6236:	8d 04 45 01 00 00 00 	lea    0x1(,%eax,2),%eax
5a623d:	03 c1                	add    %ecx,%eax
5a623f:	3b 46 74             	cmp    0x74(%esi),%eax
5a6242:	74 1c                	je     0x5a6260
5a6244:	5f                   	pop    %edi
5a6245:	5e                   	pop    %esi
5a6246:	33 c0                	xor    %eax,%eax
5a6248:	5b                   	pop    %ebx
5a6249:	8b 4c 24 10          	mov    0x10(%esp),%ecx
5a624d:	33 cc                	xor    %esp,%ecx
5a624f:	e8 d2 b7 02 00       	call   0x5d1a26
5a6254:	83 c4 14             	add    $0x14,%esp
5a6257:	c3                   	ret
5a6258:	8d 41 0c             	lea    0xc(%ecx),%eax
5a625b:	3b 46 74             	cmp    0x74(%esi),%eax
5a625e:	75 e4                	jne    0x5a6244
5a6260:	89 4f 04             	mov    %ecx,0x4(%edi)
5a6263:	0f 57 c0             	xorps  %xmm0,%xmm0
5a6266:	8b 86 80 00 00 00    	mov    0x80(%esi),%eax
5a626c:	57                   	push   %edi
5a626d:	0f b7 80 28 01 00 00 	movzwl 0x128(%eax),%eax
5a6274:	66 89 47 08          	mov    %ax,0x8(%edi)
5a6278:	8b 86 80 00 00 00    	mov    0x80(%esi),%eax
5a627e:	0f b6 80 20 01 00 00 	movzbl 0x120(%eax),%eax
5a6285:	88 07                	mov    %al,(%edi)
5a6287:	c7 47 0c 00 00 00 00 	movl   $0x0,0xc(%edi)
5a628e:	8b 86 80 00 00 00    	mov    0x80(%esi),%eax
5a6294:	8b 80 24 01 00 00    	mov    0x124(%eax),%eax
5a629a:	89 47 10             	mov    %eax,0x10(%edi)
5a629d:	8b 44 24 14          	mov    0x14(%esp),%eax
5a62a1:	89 47 14             	mov    %eax,0x14(%edi)
5a62a4:	8b 86 ec 03 00 00    	mov    0x3ec(%esi),%eax
5a62aa:	89 47 18             	mov    %eax,0x18(%edi)
5a62ad:	8b 86 00 04 00 00    	mov    0x400(%esi),%eax
5a62b3:	89 47 1c             	mov    %eax,0x1c(%edi)
5a62b6:	8b 86 e4 03 00 00    	mov    0x3e4(%esi),%eax
5a62bc:	89 47 20             	mov    %eax,0x20(%edi)
5a62bf:	8b 86 74 04 00 00    	mov    0x474(%esi),%eax
5a62c5:	89 47 24             	mov    %eax,0x24(%edi)
5a62c8:	8b 86 38 0f 00 00    	mov    0xf38(%esi),%eax
5a62ce:	0f b7 40 02          	movzwl 0x2(%eax),%eax
5a62d2:	66 89 47 28          	mov    %ax,0x28(%edi)
5a62d6:	66 0f 13 44 24 18    	movlpd %xmm0,0x18(%esp)
5a62dc:	0f b7 47 08          	movzwl 0x8(%edi),%eax
5a62e0:	03 c0                	add    %eax,%eax
5a62e2:	2b 47 14             	sub    0x14(%edi),%eax
5a62e5:	c1 f8 08             	sar    $0x8,%eax
5a62e8:	88 44 24 1e          	mov    %al,0x1e(%esp)
5a62ec:	0f b6 47 08          	movzbl 0x8(%edi),%eax
5a62f0:	02 c0                	add    %al,%al
5a62f2:	2a 47 14             	sub    0x14(%edi),%al
5a62f5:	88 44 24 1f          	mov    %al,0x1f(%esp)
5a62f9:	8d 44 24 18          	lea    0x18(%esp),%eax
5a62fd:	50                   	push   %eax
5a62fe:	e8 4d 22 01 00       	call   0x5b8550
5a6303:	83 c4 08             	add    $0x8,%esp
5a6306:	85 c0                	test   %eax,%eax
5a6308:	75 1d                	jne    0x5a6327
5a630a:	57                   	push   %edi
5a630b:	e8 f0 04 00 00       	call   0x5a6800
5a6310:	83 c4 04             	add    $0x4,%esp
5a6313:	33 c0                	xor    %eax,%eax
5a6315:	5f                   	pop    %edi
5a6316:	5e                   	pop    %esi
5a6317:	5b                   	pop    %ebx
5a6318:	8b 4c 24 10          	mov    0x10(%esp),%ecx
5a631c:	33 cc                	xor    %esp,%ecx
5a631e:	e8 03 b7 02 00       	call   0x5d1a26
5a6323:	83 c4 14             	add    $0x14,%esp
5a6326:	c3                   	ret
5a6327:	50                   	push   %eax
5a6328:	8b 86 80 00 00 00    	mov    0x80(%esi),%eax
5a632e:	ff b0 14 01 00 00    	push   0x114(%eax)
5a6334:	e8 f7 22 01 00       	call   0x5b8630
5a6339:	83 c4 08             	add    $0x8,%esp
5a633c:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
5a6340:	b8 01 00 00 00       	mov    $0x1,%eax
5a6345:	5f                   	pop    %edi
5a6346:	5e                   	pop    %esi
5a6347:	5b                   	pop    %ebx
5a6348:	33 cc                	xor    %esp,%ecx
5a634a:	e8 d7 b6 02 00       	call   0x5d1a26
5a634f:	83 c4 14             	add    $0x14,%esp
5a6352:	c3                   	ret
5a6353:	cc                   	int3
5a6354:	cc                   	int3
5a6355:	cc                   	int3
5a6356:	cc                   	int3
5a6357:	cc                   	int3
5a6358:	cc                   	int3
5a6359:	cc                   	int3
5a635a:	cc                   	int3
5a635b:	cc                   	int3
5a635c:	cc                   	int3
5a635d:	cc                   	int3
5a635e:	cc                   	int3
5a635f:	cc                   	int3
5a6360:	b8 14 00 00 00       	mov    $0x14,%eax
5a6365:	e8 46 b4 02 00       	call   0x5d17b0
5a636a:	53                   	push   %ebx
5a636b:	55                   	push   %ebp
5a636c:	56                   	push   %esi
5a636d:	8b 74 24 24          	mov    0x24(%esp),%esi
5a6371:	57                   	push   %edi
5a6372:	56                   	push   %esi
5a6373:	c7 44 24 1c 01 00 00 	movl   $0x1,0x1c(%esp)
5a637a:	00
5a637b:	e8 40 20 00 00       	call   0x5a83c0
5a6380:	83 c4 04             	add    $0x4,%esp
5a6383:	85 c0                	test   %eax,%eax
5a6385:	0f 84 e6 03 00 00    	je     0x5a6771
5a638b:	8b be 80 00 00 00    	mov    0x80(%esi),%edi
5a6391:	56                   	push   %esi
5a6392:	e8 09 1f 00 00       	call   0x5a82a0
5a6397:	83 c4 04             	add    $0x4,%esp
5a639a:	39 87 1c 01 00 00    	cmp    %eax,0x11c(%edi)
5a63a0:	0f 82 cb 03 00 00    	jb     0x5a6771
5a63a6:	83 7e 78 00          	cmpl   $0x0,0x78(%esi)
5a63aa:	8b 6c 24 2c          	mov    0x2c(%esp),%ebp
5a63ae:	75 17                	jne    0x5a63c7
5a63b0:	83 fd 16             	cmp    $0x16,%ebp
5a63b3:	75 12                	jne    0x5a63c7
5a63b5:	8b 87 24 01 00 00    	mov    0x124(%edi),%eax
5a63bb:	83 c0 0c             	add    $0xc,%eax
5a63be:	39 46 74             	cmp    %eax,0x74(%esi)
5a63c1:	0f 85 aa 03 00 00    	jne    0x5a6771
5a63c7:	83 be 00 04 00 00 00 	cmpl   $0x0,0x400(%esi)
5a63ce:	74 3a                	je     0x5a640a
5a63d0:	8b 86 ec 03 00 00    	mov    0x3ec(%esi),%eax
5a63d6:	85 c0                	test   %eax,%eax
5a63d8:	74 16                	je     0x5a63f0
5a63da:	50                   	push   %eax
5a63db:	e8 e0 9c f4 ff       	call   0x4f00c0
5a63e0:	50                   	push   %eax
5a63e1:	e8 ca 9e f4 ff       	call   0x4f02b0
5a63e6:	83 c4 08             	add    $0x8,%esp
5a63e9:	a9 00 00 20 00       	test   $0x200000,%eax
5a63ee:	75 1a                	jne    0x5a640a
5a63f0:	ff b6 00 04 00 00    	push   0x400(%esi)
5a63f6:	e8 75 a3 f4 ff       	call   0x4f0770
5a63fb:	50                   	push   %eax
5a63fc:	e8 bf a4 f4 ff       	call   0x4f08c0
5a6401:	83 c4 08             	add    $0x8,%esp
5a6404:	89 44 24 10          	mov    %eax,0x10(%esp)
5a6408:	eb 08                	jmp    0x5a6412
5a640a:	c7 44 24 10 00 00 00 	movl   $0x0,0x10(%esp)
5a6411:	00
5a6412:	8b 86 ec 03 00 00    	mov    0x3ec(%esi),%eax
5a6418:	85 c0                	test   %eax,%eax
5a641a:	74 2d                	je     0x5a6449
5a641c:	50                   	push   %eax
5a641d:	e8 9e 9c f4 ff       	call   0x4f00c0
5a6422:	50                   	push   %eax
5a6423:	e8 88 9e f4 ff       	call   0x4f02b0
5a6428:	25 07 00 0f 00       	and    $0xf0007,%eax
5a642d:	83 c4 08             	add    $0x8,%esp
5a6430:	83 f8 02             	cmp    $0x2,%eax
5a6433:	75 14                	jne    0x5a6449
5a6435:	ff b6 ec 03 00 00    	push   0x3ec(%esi)
5a643b:	e8 60 9c f4 ff       	call   0x4f00a0
5a6440:	8b f8                	mov    %eax,%edi
5a6442:	83 c4 04             	add    $0x4,%esp
5a6445:	03 ff                	add    %edi,%edi
5a6447:	eb 02                	jmp    0x5a644b
5a6449:	33 ff                	xor    %edi,%edi
5a644b:	8b 4e 74             	mov    0x74(%esi),%ecx
5a644e:	33 db                	xor    %ebx,%ebx
5a6450:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
5a6454:	c7 46 14 01 00 00 00 	movl   $0x1,0x14(%esi)
5a645b:	85 c9                	test   %ecx,%ecx
5a645d:	0f 84 b3 02 00 00    	je     0x5a6716
5a6463:	83 fd 16             	cmp    $0x16,%ebp
5a6466:	75 2e                	jne    0x5a6496
5a6468:	8b 46 78             	mov    0x78(%esi),%eax
5a646b:	85 c0                	test   %eax,%eax
5a646d:	74 27                	je     0x5a6496
5a646f:	85 db                	test   %ebx,%ebx
5a6471:	74 17                	je     0x5a648a
5a6473:	83 f8 0c             	cmp    $0xc,%eax
5a6476:	0f 86 f5 02 00 00    	jbe    0x5a6771
5a647c:	83 c0 f4             	add    $0xfffffff4,%eax
5a647f:	89 46 78             	mov    %eax,0x78(%esi)
5a6482:	8d 41 0c             	lea    0xc(%ecx),%eax
5a6485:	89 46 74             	mov    %eax,0x74(%esi)
5a6488:	eb 0c                	jmp    0x5a6496
5a648a:	8b 86 80 00 00 00    	mov    0x80(%esi),%eax
5a6490:	8b 98 2c 01 00 00    	mov    0x12c(%eax),%ebx
5a6496:	6a 00                	push   $0x0
5a6498:	6a 00                	push   $0x0
5a649a:	6a 0d                	push   $0xd
5a649c:	ff 76 0c             	push   0xc(%esi)
5a649f:	e8 8c 26 f5 ff       	call   0x4f8b30
5a64a4:	8b 4c 24 20          	mov    0x20(%esp),%ecx
5a64a8:	03 c7                	add    %edi,%eax
5a64aa:	8b 96 80 00 00 00    	mov    0x80(%esi),%edx
5a64b0:	83 c1 0d             	add    $0xd,%ecx
5a64b3:	03 c1                	add    %ecx,%eax
5a64b5:	83 c4 10             	add    $0x10,%esp
5a64b8:	8b 8a 1c 01 00 00    	mov    0x11c(%edx),%ecx
5a64be:	3b c8                	cmp    %eax,%ecx
5a64c0:	76 07                	jbe    0x5a64c9
5a64c2:	2b c8                	sub    %eax,%ecx
5a64c4:	83 f9 0c             	cmp    $0xc,%ecx
5a64c7:	77 3b                	ja     0x5a6504
5a64c9:	6a 00                	push   $0x0
5a64cb:	6a 00                	push   $0x0
5a64cd:	6a 0b                	push   $0xb
5a64cf:	ff 76 0c             	push   0xc(%esi)
5a64d2:	e8 59 26 f5 ff       	call   0x4f8b30
5a64d7:	83 c4 10             	add    $0x10,%esp
5a64da:	85 c0                	test   %eax,%eax
5a64dc:	0f 8e 80 02 00 00    	jle    0x5a6762
5a64e2:	8b 44 24 10          	mov    0x10(%esp),%eax
5a64e6:	8b 96 80 00 00 00    	mov    0x80(%esi),%edx
5a64ec:	83 c0 0d             	add    $0xd,%eax
5a64ef:	03 f8                	add    %eax,%edi
5a64f1:	8b 8a 1c 01 00 00    	mov    0x11c(%edx),%ecx
5a64f7:	8d 47 0c             	lea    0xc(%edi),%eax
5a64fa:	3b c8                	cmp    %eax,%ecx
5a64fc:	0f 86 6f 02 00 00    	jbe    0x5a6771
5a6502:	2b cf                	sub    %edi,%ecx
5a6504:	39 4e 74             	cmp    %ecx,0x74(%esi)
5a6507:	8b be 0c 05 00 00    	mov    0x50c(%esi),%edi
5a650d:	0f 46 4e 74          	cmovbe 0x74(%esi),%ecx
5a6511:	3b cf                	cmp    %edi,%ecx
5a6513:	0f 46 f9             	cmovbe %ecx,%edi
5a6516:	83 fd 16             	cmp    $0x16,%ebp
5a6519:	75 7f                	jne    0x5a659a
5a651b:	83 ff 0c             	cmp    $0xc,%edi
5a651e:	0f 82 4d 02 00 00    	jb     0x5a6771
5a6524:	89 9a 2c 01 00 00    	mov    %ebx,0x12c(%edx)
5a652a:	8d 47 f4             	lea    -0xc(%edi),%eax
5a652d:	89 82 30 01 00 00    	mov    %eax,0x130(%edx)
5a6533:	8b 46 6c             	mov    0x6c(%esi),%eax
5a6536:	8b 8e 80 00 00 00    	mov    0x80(%esi),%ecx
5a653c:	8b 50 04             	mov    0x4(%eax),%edx
5a653f:	03 56 78             	add    0x78(%esi),%edx
5a6542:	81 c1 20 01 00 00    	add    $0x120,%ecx
5a6548:	0f b6 01             	movzbl (%ecx),%eax
5a654b:	88 02                	mov    %al,(%edx)
5a654d:	0f b6 41 06          	movzbl 0x6(%ecx),%eax
5a6551:	88 42 01             	mov    %al,0x1(%edx)
5a6554:	0f b6 41 05          	movzbl 0x5(%ecx),%eax
5a6558:	88 42 02             	mov    %al,0x2(%edx)
5a655b:	0f b6 41 04          	movzbl 0x4(%ecx),%eax
5a655f:	88 42 03             	mov    %al,0x3(%edx)
5a6562:	0f b6 41 09          	movzbl 0x9(%ecx),%eax
5a6566:	88 42 04             	mov    %al,0x4(%edx)
5a6569:	0f b6 41 08          	movzbl 0x8(%ecx),%eax
5a656d:	88 42 05             	mov    %al,0x5(%edx)
5a6570:	0f b6 41 0e          	movzbl 0xe(%ecx),%eax
5a6574:	88 42 06             	mov    %al,0x6(%edx)
5a6577:	0f b6 41 0d          	movzbl 0xd(%ecx),%eax
5a657b:	88 42 07             	mov    %al,0x7(%edx)
5a657e:	0f b6 41 0c          	movzbl 0xc(%ecx),%eax
5a6582:	88 42 08             	mov    %al,0x8(%edx)
5a6585:	0f b6 41 12          	movzbl 0x12(%ecx),%eax
5a6589:	88 42 09             	mov    %al,0x9(%edx)
5a658c:	0f b6 41 11          	movzbl 0x11(%ecx),%eax
5a6590:	88 42 0a             	mov    %al,0xa(%edx)
5a6593:	0f b6 41 10          	movzbl 0x10(%ecx),%eax
5a6597:	88 42 0b             	mov    %al,0xb(%edx)
5a659a:	8d 44 24 14          	lea    0x14(%esp),%eax
5a659e:	50                   	push   %eax
5a659f:	8b 46 6c             	mov    0x6c(%esi),%eax
5a65a2:	57                   	push   %edi
5a65a3:	8b 40 04             	mov    0x4(%eax),%eax
5a65a6:	03 46 78             	add    0x78(%esi),%eax
5a65a9:	50                   	push   %eax
5a65aa:	55                   	push   %ebp
5a65ab:	56                   	push   %esi
5a65ac:	e8 bf 90 00 00       	call   0x5af670
5a65b1:	83 c4 14             	add    $0x14,%esp
5a65b4:	85 c0                	test   %eax,%eax
5a65b6:	79 5d                	jns    0x5a6615
5a65b8:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
5a65bd:	0f 84 ae 01 00 00    	je     0x5a6771
5a65c3:	6a 00                	push   $0x0
5a65c5:	6a 00                	push   $0x0
5a65c7:	6a 2b                	push   $0x2b
5a65c9:	56                   	push   %esi
5a65ca:	e8 81 30 fe ff       	call   0x589650
5a65cf:	83 c4 04             	add    $0x4,%esp
5a65d2:	50                   	push   %eax
5a65d3:	e8 58 25 f5 ff       	call   0x4f8b30
5a65d8:	83 c4 10             	add    $0x10,%esp
5a65db:	85 c0                	test   %eax,%eax
5a65dd:	0f 8e 8e 01 00 00    	jle    0x5a6771
5a65e3:	56                   	push   %esi
5a65e4:	e8 37 30 fe ff       	call   0x589620
5a65e9:	83 c4 04             	add    $0x4,%esp
5a65ec:	a9 00 10 00 00       	test   $0x1000,%eax
5a65f1:	0f 85 7a 01 00 00    	jne    0x5a6771
5a65f7:	56                   	push   %esi
5a65f8:	e8 c3 1d 00 00       	call   0x5a83c0
5a65fd:	83 c4 04             	add    $0x4,%esp
5a6600:	85 c0                	test   %eax,%eax
5a6602:	0f 84 69 01 00 00    	je     0x5a6771
5a6608:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
5a660f:	00
5a6610:	e9 f2 00 00 00       	jmp    0x5a6707
5a6615:	8b 54 24 14          	mov    0x14(%esp),%edx
5a6619:	3b fa                	cmp    %edx,%edi
5a661b:	0f 85 50 01 00 00    	jne    0x5a6771
5a6621:	83 fd 16             	cmp    $0x16,%ebp
5a6624:	0f 85 af 00 00 00    	jne    0x5a66d9
5a662a:	8b be 80 00 00 00    	mov    0x80(%esi),%edi
5a6630:	83 bf 90 01 00 00 00 	cmpl   $0x0,0x190(%edi)
5a6637:	0f 85 9c 00 00 00    	jne    0x5a66d9
5a663d:	8b 46 6c             	mov    0x6c(%esi),%eax
5a6640:	8b 48 04             	mov    0x4(%eax),%ecx
5a6643:	8b 46 78             	mov    0x78(%esi),%eax
5a6646:	03 c1                	add    %ecx,%eax
5a6648:	8b c8                	mov    %eax,%ecx
5a664a:	85 db                	test   %ebx,%ebx
5a664c:	75 6e                	jne    0x5a66bc
5a664e:	81 3e 00 01 00 00    	cmpl   $0x100,(%esi)
5a6654:	74 66                	je     0x5a66bc
5a6656:	0f b6 87 20 01 00 00 	movzbl 0x120(%edi),%eax
5a665d:	88 01                	mov    %al,(%ecx)
5a665f:	0f b6 87 26 01 00 00 	movzbl 0x126(%edi),%eax
5a6666:	88 41 01             	mov    %al,0x1(%ecx)
5a6669:	0f b6 87 25 01 00 00 	movzbl 0x125(%edi),%eax
5a6670:	88 41 02             	mov    %al,0x2(%ecx)
5a6673:	0f b6 87 24 01 00 00 	movzbl 0x124(%edi),%eax
5a667a:	88 41 03             	mov    %al,0x3(%ecx)
5a667d:	0f b6 87 29 01 00 00 	movzbl 0x129(%edi),%eax
5a6684:	88 41 04             	mov    %al,0x4(%ecx)
5a6687:	0f b6 87 28 01 00 00 	movzbl 0x128(%edi),%eax
5a668e:	88 41 05             	mov    %al,0x5(%ecx)