5d0088:	52                   	push   %edx
5d0089:	51                   	push   %ecx
5d008a:	e8 11 b9 ff ff       	call   0x5cb9a0
5d008f:	83 c4 10             	add    $0x10,%esp
5d0092:	89 46 2c             	mov    %eax,0x2c(%esi)
5d0095:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
5d0099:	74 25                	je     0x5d00c0
5d009b:	e8 d0 6a ff ff       	call   0x5c6b70
5d00a0:	6a 00                	push   $0x0
5d00a2:	68 f9 01 00 00       	push   $0x1f9
5d00a7:	68 48 28 60 00       	push   $0x602848
5d00ac:	8b 08                	mov    (%eax),%ecx
5d00ae:	8b 51 10             	mov    0x10(%ecx),%edx
5d00b1:	8b 4e 2c             	mov    0x2c(%esi),%ecx
5d00b4:	8d 0c 49             	lea    (%ecx,%ecx,2),%ecx
5d00b7:	c1 e1 03             	shl    $0x3,%ecx
5d00ba:	51                   	push   %ecx
5d00bb:	ff 76 28             	push   0x28(%esi)
5d00be:	eb 22                	jmp    0x5d00e2
5d00c0:	e8 ab 6a ff ff       	call   0x5c6b70
5d00c5:	6a 00                	push   $0x0
5d00c7:	6a 00                	push   $0x0
5d00c9:	68 fd 01 00 00       	push   $0x1fd
5d00ce:	8b 08                	mov    (%eax),%ecx
5d00d0:	68 48 28 60 00       	push   $0x602848
5d00d5:	8b 51 08             	mov    0x8(%ecx),%edx
5d00d8:	8b 4e 2c             	mov    0x2c(%esi),%ecx
5d00db:	8d 0c 49             	lea    (%ecx,%ecx,2),%ecx
5d00de:	c1 e1 03             	shl    $0x3,%ecx
5d00e1:	51                   	push   %ecx
5d00e2:	8b c8                	mov    %eax,%ecx
5d00e4:	ff d2                	call   *%edx
5d00e6:	89 46 28             	mov    %eax,0x28(%esi)
5d00e9:	8b 7e 20             	mov    0x20(%esi),%edi
5d00ec:	8d 47 01             	lea    0x1(%edi),%eax
5d00ef:	89 46 20             	mov    %eax,0x20(%esi)
5d00f2:	eb 0d                	jmp    0x5d0101
5d00f4:	8b 46 28             	mov    0x28(%esi),%eax
5d00f7:	8d 0c 7f             	lea    (%edi,%edi,2),%ecx
5d00fa:	8b 44 c8 04          	mov    0x4(%eax,%ecx,8),%eax
5d00fe:	89 46 1c             	mov    %eax,0x1c(%esi)
5d0101:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
5d0105:	74 13                	je     0x5d011a
5d0107:	8b 4e 28             	mov    0x28(%esi),%ecx
5d010a:	8d 14 7f             	lea    (%edi,%edi,2),%edx
5d010d:	c7 44 d1 10 00 00 00 	movl   $0x0,0x10(%ecx,%edx,8)
5d0114:	00
5d0115:	c6 44 d1 14 00       	movb   $0x0,0x14(%ecx,%edx,8)
5d011a:	8b 4e 28             	mov    0x28(%esi),%ecx
5d011d:	8b c7                	mov    %edi,%eax
5d011f:	5f                   	pop    %edi
5d0120:	89 4e 10             	mov    %ecx,0x10(%esi)
5d0123:	5e                   	pop    %esi
5d0124:	5d                   	pop    %ebp
5d0125:	c2 04 00             	ret    $0x4
5d0128:	cc                   	int3
5d0129:	cc                   	int3
5d012a:	cc                   	int3
5d012b:	cc                   	int3
5d012c:	cc                   	int3
5d012d:	cc                   	int3
5d012e:	cc                   	int3
5d012f:	cc                   	int3
5d0130:	55                   	push   %ebp
5d0131:	8b ec                	mov    %esp,%ebp
5d0133:	56                   	push   %esi
5d0134:	8b 75 08             	mov    0x8(%ebp),%esi
5d0137:	57                   	push   %edi
5d0138:	8b f9                	mov    %ecx,%edi
5d013a:	81 fe ff ff ff 7f    	cmp    $0x7fffffff,%esi
5d0140:	72 1c                	jb     0x5d015e
5d0142:	68 a0 0a 67 00       	push   $0x670aa0
5d0147:	68 53 01 00 00       	push   $0x153
5d014c:	68 c8 08 67 00       	push   $0x6708c8
5d0151:	e8 0a b3 fe ff       	call   0x5bb460
5d0156:	83 c4 0c             	add    $0xc,%esp
5d0159:	84 c0                	test   %al,%al
5d015b:	75 01                	jne    0x5d015e
5d015d:	cc                   	int3
5d015e:	3b 77 04             	cmp    0x4(%edi),%esi
5d0161:	76 03                	jbe    0x5d0166
5d0163:	89 77 04             	mov    %esi,0x4(%edi)
5d0166:	5f                   	pop    %edi
5d0167:	5e                   	pop    %esi
5d0168:	5d                   	pop    %ebp
5d0169:	c2 04 00             	ret    $0x4
5d016c:	cc                   	int3
5d016d:	cc                   	int3
5d016e:	cc                   	int3
5d016f:	cc                   	int3
5d0170:	55                   	push   %ebp
5d0171:	8b ec                	mov    %esp,%ebp
5d0173:	51                   	push   %ecx
5d0174:	53                   	push   %ebx
5d0175:	56                   	push   %esi
5d0176:	57                   	push   %edi
5d0177:	8b f9                	mov    %ecx,%edi
5d0179:	8b 77 14             	mov    0x14(%edi),%esi
5d017c:	83 fe ff             	cmp    $0xffffffff,%esi
5d017f:	0f 84 d1 00 00 00    	je     0x5d0256
5d0185:	8b 45 08             	mov    0x8(%ebp),%eax
5d0188:	8b 5f 28             	mov    0x28(%edi),%ebx
5d018b:	8b 10                	mov    (%eax),%edx
5d018d:	8d 49 00             	lea    0x0(%ecx),%ecx
5d0190:	8d 04 76             	lea    (%esi,%esi,2),%eax
5d0193:	c1 e0 03             	shl    $0x3,%eax
5d0196:	3b 54 03 10          	cmp    0x10(%ebx,%eax,1),%edx
5d019a:	73 0e                	jae    0x5d01aa
5d019c:	83 fe ff             	cmp    $0xffffffff,%esi
5d019f:	8d 34 18             	lea    (%eax,%ebx,1),%esi
5d01a2:	75 02                	jne    0x5d01a6
5d01a4:	8b f7                	mov    %edi,%esi
5d01a6:	8b 36                	mov    (%esi),%esi
5d01a8:	eb 0f                	jmp    0x5d01b9
5d01aa:	76 12                	jbe    0x5d01be
5d01ac:	83 fe ff             	cmp    $0xffffffff,%esi
5d01af:	8d 34 18             	lea    (%eax,%ebx,1),%esi
5d01b2:	75 02                	jne    0x5d01b6
5d01b4:	8b f7                	mov    %edi,%esi
5d01b6:	8b 76 04             	mov    0x4(%esi),%esi
5d01b9:	83 fe ff             	cmp    $0xffffffff,%esi
5d01bc:	75 d2                	jne    0x5d0190
5d01be:	83 fe ff             	cmp    $0xffffffff,%esi
5d01c1:	0f 84 8f 00 00 00    	je     0x5d0256
5d01c7:	8d 5f 20             	lea    0x20(%edi),%ebx
5d01ca:	85 f6                	test   %esi,%esi
5d01cc:	78 17                	js     0x5d01e5
5d01ce:	3b 33                	cmp    (%ebx),%esi
5d01d0:	7d 13                	jge    0x5d01e5
5d01d2:	8b 47 28             	mov    0x28(%edi),%eax
5d01d5:	8d 57 28             	lea    0x28(%edi),%edx
5d01d8:	8d 0c 76             	lea    (%esi,%esi,2),%ecx
5d01db:	89 55 08             	mov    %edx,0x8(%ebp)
5d01de:	39 34 c8             	cmp    %esi,(%eax,%ecx,8)
5d01e1:	75 34                	jne    0x5d0217
5d01e3:	eb 03                	jmp    0x5d01e8
5d01e5:	8d 57 28             	lea    0x28(%edi),%edx
5d01e8:	68 c4 d5 66 00       	push   $0x66d5c4
5d01ed:	8b c3                	mov    %ebx,%eax
5d01ef:	89 55 08             	mov    %edx,0x8(%ebp)
5d01f2:	68 2c 05 00 00       	push   $0x52c
5d01f7:	68 e0 d5 66 00       	push   $0x66d5e0
5d01fc:	89 45 fc             	mov    %eax,-0x4(%ebp)
5d01ff:	e8 5c b2 fe ff       	call   0x5bb460
5d0204:	83 c4 0c             	add    $0xc,%esp
5d0207:	84 c0                	test   %al,%al
5d0209:	75 09                	jne    0x5d0214
5d020b:	cc                   	int3
5d020c:	8b 55 08             	mov    0x8(%ebp),%edx
5d020f:	89 55 08             	mov    %edx,0x8(%ebp)
5d0212:	eb 03                	jmp    0x5d0217
5d0214:	8b 55 08             	mov    0x8(%ebp),%edx
5d0217:	85 f6                	test   %esi,%esi
5d0219:	78 30                	js     0x5d024b
5d021b:	3b 33                	cmp    (%ebx),%esi
5d021d:	7d 2c                	jge    0x5d024b
5d021f:	8b 02                	mov    (%edx),%eax
5d0221:	8d 1c 76             	lea    (%esi,%esi,2),%ebx
5d0224:	39 34 d8             	cmp    %esi,(%eax,%ebx,8)
5d0227:	74 22                	je     0x5d024b
5d0229:	50                   	push   %eax
5d022a:	6a 18                	push   $0x18
5d022c:	56                   	push   %esi
5d022d:	8b cf                	mov    %edi,%ecx
5d022f:	e8 dc dc ff ff       	call   0x5cdf10
5d0234:	8b 4d 08             	mov    0x8(%ebp),%ecx
5d0237:	8b 01                	mov    (%ecx),%eax
5d0239:	89 34 d8             	mov    %esi,(%eax,%ebx,8)
5d023c:	8b 09                	mov    (%ecx),%ecx
5d023e:	8b 47 1c             	mov    0x1c(%edi),%eax
5d0241:	89 44 d9 04          	mov    %eax,0x4(%ecx,%ebx,8)
5d0245:	ff 4f 18             	decl   0x18(%edi)
5d0248:	89 77 1c             	mov    %esi,0x1c(%edi)
5d024b:	5f                   	pop    %edi
5d024c:	5e                   	pop    %esi
5d024d:	b0 01                	mov    $0x1,%al
5d024f:	5b                   	pop    %ebx
5d0250:	8b e5                	mov    %ebp,%esp
5d0252:	5d                   	pop    %ebp
5d0253:	c2 04 00             	ret    $0x4
5d0256:	5f                   	pop    %edi
5d0257:	5e                   	pop    %esi
5d0258:	32 c0                	xor    %al,%al
5d025a:	5b                   	pop    %ebx
5d025b:	8b e5                	mov    %ebp,%esp
5d025d:	5d                   	pop    %ebp
5d025e:	c2 04 00             	ret    $0x4
5d0261:	cc                   	int3
5d0262:	cc                   	int3
5d0263:	cc                   	int3
5d0264:	cc                   	int3
5d0265:	cc                   	int3
5d0266:	cc                   	int3
5d0267:	cc                   	int3
5d0268:	cc                   	int3
5d0269:	cc                   	int3
5d026a:	cc                   	int3
5d026b:	cc                   	int3
5d026c:	cc                   	int3
5d026d:	cc                   	int3
5d026e:	cc                   	int3
5d026f:	cc                   	int3
5d0270:	55                   	push   %ebp
5d0271:	8b ec                	mov    %esp,%ebp
5d0273:	56                   	push   %esi
5d0274:	57                   	push   %edi
5d0275:	8b f9                	mov    %ecx,%edi
5d0277:	8d 8f b8 50 03 00    	lea    0x350b8(%edi),%ecx
5d027d:	e8 9e 76 ff ff       	call   0x5c7920
5d0282:	8d 45 08             	lea    0x8(%ebp),%eax
5d0285:	50                   	push   %eax
5d0286:	8d 8f fc 50 03 00    	lea    0x350fc(%edi),%ecx
5d028c:	e8 df fe ff ff       	call   0x5d0170
5d0291:	8d 8f b8 50 03 00    	lea    0x350b8(%edi),%ecx
5d0297:	e8 34 7e ff ff       	call   0x5c80d0
5d029c:	5f                   	pop    %edi
5d029d:	5e                   	pop    %esi
5d029e:	5d                   	pop    %ebp
5d029f:	c2 04 00             	ret    $0x4
5d02a2:	cc                   	int3
5d02a3:	cc                   	int3
5d02a4:	cc                   	int3
5d02a5:	cc                   	int3
5d02a6:	cc                   	int3
5d02a7:	cc                   	int3
5d02a8:	cc                   	int3
5d02a9:	cc                   	int3
5d02aa:	cc                   	int3
5d02ab:	cc                   	int3
5d02ac:	cc                   	int3
5d02ad:	cc                   	int3
5d02ae:	cc                   	int3
5d02af:	cc                   	int3
5d02b0:	55                   	push   %ebp
5d02b1:	8b ec                	mov    %esp,%ebp
5d02b3:	83 ec 08             	sub    $0x8,%esp
5d02b6:	53                   	push   %ebx
5d02b7:	56                   	push   %esi
5d02b8:	8b 75 08             	mov    0x8(%ebp),%esi
5d02bb:	8b d9                	mov    %ecx,%ebx
5d02bd:	85 f6                	test   %esi,%esi
5d02bf:	74 47                	je     0x5d0308
5d02c1:	8b 03                	mov    (%ebx),%eax
5d02c3:	80 3e 24             	cmpb   $0x24,(%esi)
5d02c6:	57                   	push   %edi
5d02c7:	6a 01                	push   $0x1
5d02c9:	8b 50 04             	mov    0x4(%eax),%edx
5d02cc:	8d 46 01             	lea    0x1(%esi),%eax
5d02cf:	0f 45 c6             	cmovne %esi,%eax
5d02d2:	50                   	push   %eax
5d02d3:	ff d2                	call   *%edx
5d02d5:	8d 8b 7c 50 03 00    	lea    0x3507c(%ebx),%ecx
5d02db:	8b f8                	mov    %eax,%edi
5d02dd:	e8 3e 76 ff ff       	call   0x5c7920
5d02e2:	8a 45 0c             	mov    0xc(%ebp),%al
5d02e5:	8d 8b 44 10 03 00    	lea    0x31044(%ebx),%ecx
5d02eb:	88 45 fc             	mov    %al,-0x4(%ebp)
5d02ee:	8d 45 f8             	lea    -0x8(%ebp),%eax
5d02f1:	6a 01                	push   $0x1
5d02f3:	50                   	push   %eax
5d02f4:	89 7d f8             	mov    %edi,-0x8(%ebp)
5d02f7:	e8 e4 e8 ff ff       	call   0x5cebe0
5d02fc:	8d 8b 7c 50 03 00    	lea    0x3507c(%ebx),%ecx
5d0302:	e8 c9 7d ff ff       	call   0x5c80d0
5d0307:	5f                   	pop    %edi
5d0308:	5e                   	pop    %esi
5d0309:	5b                   	pop    %ebx
5d030a:	8b e5                	mov    %ebp,%esp
5d030c:	5d                   	pop    %ebp
5d030d:	c2 08 00             	ret    $0x8
5d0310:	e9 bb fb ff ff       	jmp    0x5cfed0
5d0315:	cc                   	int3
5d0316:	cc                   	int3
5d0317:	cc                   	int3
5d0318:	cc                   	int3
5d0319:	cc                   	int3
5d031a:	cc                   	int3
5d031b:	cc                   	int3
5d031c:	cc                   	int3
5d031d:	cc                   	int3
5d031e:	cc                   	int3
5d031f:	cc                   	int3
5d0320:	55                   	push   %ebp
5d0321:	8b ec                	mov    %esp,%ebp
5d0323:	51                   	push   %ecx
5d0324:	53                   	push   %ebx
5d0325:	8b d9                	mov    %ecx,%ebx
5d0327:	56                   	push   %esi
5d0328:	57                   	push   %edi
5d0329:	89 5d fc             	mov    %ebx,-0x4(%ebp)
5d032c:	8b 73 04             	mov    0x4(%ebx),%esi
5d032f:	85 f6                	test   %esi,%esi
5d0331:	7e 07                	jle    0x5d033a
5d0333:	8b 7b 08             	mov    0x8(%ebx),%edi
5d0336:	85 ff                	test   %edi,%edi
5d0338:	75 58                	jne    0x5d0392
5d033a:	f7 de                	neg    %esi
5d033c:	b8 01 00 00 00       	mov    $0x1,%eax
5d0341:	3b f0                	cmp    %eax,%esi
5d0343:	0f 4c f0             	cmovl  %eax,%esi
5d0346:	81 c3 a8 00 00 00    	add    $0xa8,%ebx
5d034c:	8d 78 26             	lea    0x26(%eax),%edi
5d034f:	90                   	nop
5d0350:	b8 5f 0b 4e 83       	mov    $0x834e0b5f,%eax
5d0355:	69 ce a7 41 00 00    	imul   $0x41a7,%esi,%ecx
5d035b:	f7 ee                	imul   %esi
5d035d:	03 d6                	add    %esi,%edx
5d035f:	c1 fa 10             	sar    $0x10,%edx
5d0362:	8b c2                	mov    %edx,%eax
5d0364:	c1 e8 1f             	shr    $0x1f,%eax
5d0367:	03 c2                	add    %edx,%eax
5d0369:	69 c0 ff ff ff 7f    	imul   $0x7fffffff,%eax,%eax
5d036f:	2b c8                	sub    %eax,%ecx
5d0371:	8d b1 ff ff ff 7f    	lea    0x7fffffff(%ecx),%esi
5d0377:	0f 49 f1             	cmovns %ecx,%esi
5d037a:	83 ff 20             	cmp    $0x20,%edi
5d037d:	73 02                	jae    0x5d0381
5d037f:	89 33                	mov    %esi,(%ebx)
5d0381:	83 eb 04             	sub    $0x4,%ebx
5d0384:	83 ef 01             	sub    $0x1,%edi
5d0387:	79 c7                	jns    0x5d0350
5d0389:	8b 5d fc             	mov    -0x4(%ebp),%ebx
5d038c:	8b 7b 0c             	mov    0xc(%ebx),%edi
5d038f:	89 7b 08             	mov    %edi,0x8(%ebx)
5d0392:	b8 5f 0b 4e 83       	mov    $0x834e0b5f,%eax
5d0397:	f7 ee                	imul   %esi
5d0399:	8b c7                	mov    %edi,%eax
5d039b:	03 d6                	add    %esi,%edx
5d039d:	c1 fa 10             	sar    $0x10,%edx
5d03a0:	8b ca                	mov    %edx,%ecx
5d03a2:	c1 e9 1f             	shr    $0x1f,%ecx
5d03a5:	03 ca                	add    %edx,%ecx
5d03a7:	69 d6 a7 41 00 00    	imul   $0x41a7,%esi,%edx
5d03ad:	69 c9 ff ff ff 7f    	imul   $0x7fffffff,%ecx,%ecx
5d03b3:	5f                   	pop    %edi
5d03b4:	2b d1                	sub    %ecx,%edx
5d03b6:	8d b2 ff ff ff 7f    	lea    0x7fffffff(%edx),%esi
5d03bc:	0f 49 f2             	cmovns %edx,%esi
5d03bf:	99                   	cltd
5d03c0:	81 e2 ff ff ff 03    	and    $0x3ffffff,%edx
5d03c6:	03 c2                	add    %edx,%eax
5d03c8:	c1 f8 1a             	sar    $0x1a,%eax
5d03cb:	8d 0c 83             	lea    (%ebx,%eax,4),%ecx
5d03ce:	8b 41 0c             	mov    0xc(%ecx),%eax
5d03d1:	89 43 08             	mov    %eax,0x8(%ebx)
5d03d4:	89 71 0c             	mov    %esi,0xc(%ecx)
5d03d7:	8b 43 08             	mov    0x8(%ebx),%eax
5d03da:	89 73 04             	mov    %esi,0x4(%ebx)
5d03dd:	5e                   	pop    %esi
5d03de:	5b                   	pop    %ebx