a4e10c:	33 db                	xor    %ebx,%ebx
a4e10e:	8d 45 c0             	lea    -0x40(%ebp),%eax
a4e111:	50                   	push   %eax
a4e112:	e8 64 56 9e ff       	call   0x43377b
a4e117:	6a 20                	push   $0x20
a4e119:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
a4e11f:	53                   	push   %ebx
a4e120:	50                   	push   %eax
a4e121:	e8 92 66 9c ff       	call   0x4147b8
a4e126:	8b 7d 10             	mov    0x10(%ebp),%edi
a4e129:	8d 45 dc             	lea    -0x24(%ebp),%eax
a4e12c:	83 4d dc ff          	orl    $0xffffffff,-0x24(%ebp)
a4e130:	8d 55 c0             	lea    -0x40(%ebp),%edx
a4e133:	8b 4d e0             	mov    -0x20(%ebp),%ecx
a4e136:	83 c4 0c             	add    $0xc,%esp
a4e139:	8b 09                	mov    (%ecx),%ecx
a4e13b:	50                   	push   %eax
a4e13c:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
a4e142:	50                   	push   %eax
a4e143:	8b 31                	mov    (%ecx),%esi
a4e145:	0f b7 c7             	movzwl %di,%eax
a4e148:	f7 d8                	neg    %eax
a4e14a:	1b c0                	sbb    %eax,%eax
a4e14c:	23 c2                	and    %edx,%eax
a4e14e:	50                   	push   %eax
a4e14f:	8d 45 b0             	lea    -0x50(%ebp),%eax
a4e152:	50                   	push   %eax
a4e153:	ff 75 0c             	push   0xc(%ebp)
a4e156:	53                   	push   %ebx
a4e157:	68 f8 e6 c8 00       	push   $0xc8e6f8
a4e15c:	ff 75 08             	push   0x8(%ebp)
a4e15f:	51                   	push   %ecx
a4e160:	8b 4e 18             	mov    0x18(%esi),%ecx
a4e163:	e8 fd e4 9d ff       	call   0x42c665
a4e168:	ff 56 18             	call   *0x18(%esi)
a4e16b:	8b f0                	mov    %eax,%esi
a4e16d:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
a4e170:	89 75 e8             	mov    %esi,-0x18(%ebp)
a4e173:	e8 67 1c 9c ff       	call   0x40fddf
a4e178:	8b 45 b8             	mov    -0x48(%ebp),%eax
a4e17b:	85 c0                	test   %eax,%eax
a4e17d:	74 36                	je     0xa4e1b5
a4e17f:	8b 75 b0             	mov    -0x50(%ebp),%esi
a4e182:	c1 e0 04             	shl    $0x4,%eax
a4e185:	83 c6 f0             	add    $0xfffffff0,%esi
a4e188:	03 f0                	add    %eax,%esi
a4e18a:	8b 45 18             	mov    0x18(%ebp),%eax
a4e18d:	80 38 00             	cmpb   $0x0,(%eax)
a4e190:	74 20                	je     0xa4e1b2
a4e192:	6a 10                	push   $0x10
a4e194:	59                   	pop    %ecx
a4e195:	80 38 08             	cmpb   $0x8,(%eax)
a4e198:	75 0d                	jne    0xa4e1a7
a4e19a:	56                   	push   %esi
a4e19b:	ff 15 64 3b d8 00    	call   *0xd83b64
a4e1a1:	8b 45 18             	mov    0x18(%ebp),%eax
a4e1a4:	6a 10                	push   $0x10
a4e1a6:	59                   	pop    %ecx
a4e1a7:	2b f1                	sub    %ecx,%esi
a4e1a9:	40                   	inc    %eax
a4e1aa:	89 45 18             	mov    %eax,0x18(%ebp)
a4e1ad:	80 38 00             	cmpb   $0x0,(%eax)
a4e1b0:	75 e3                	jne    0xa4e195
a4e1b2:	8b 75 e8             	mov    -0x18(%ebp),%esi
a4e1b5:	ff 75 b0             	push   -0x50(%ebp)
a4e1b8:	e8 55 04 9f ff       	call   0x43e612
a4e1bd:	89 5d b0             	mov    %ebx,-0x50(%ebp)
a4e1c0:	59                   	pop    %ecx
a4e1c1:	85 f6                	test   %esi,%esi
a4e1c3:	0f 89 6e 01 00 00    	jns    0xa4e337
a4e1c9:	8d 45 c0             	lea    -0x40(%ebp),%eax
a4e1cc:	50                   	push   %eax
a4e1cd:	ff 15 64 3b d8 00    	call   *0xd83b64
a4e1d3:	81 fe 09 00 02 80    	cmp    $0x80020009,%esi
a4e1d9:	0f 84 99 00 00 00    	je     0xa4e278
a4e1df:	56                   	push   %esi
a4e1e0:	e8 48 42 9b ff       	call   0x40242d
a4e1e5:	03 de                	add    %esi,%ebx
a4e1e7:	03 ce                	add    %esi,%ecx
a4e1e9:	8b 03                	mov    (%ebx),%eax
a4e1eb:	f7 d8                	neg    %eax
a4e1ed:	1b c0                	sbb    %eax,%eax
a4e1ef:	e9 86 fe ff ff       	jmp    0xa4e07a
a4e1f4:	03 ce                	add    %esi,%ecx
a4e1f6:	8b fa                	mov    %edx,%edi
a4e1f8:	03 de                	add    %esi,%ebx
a4e1fa:	6a 04                	push   $0x4
a4e1fc:	8b 33                	mov    (%ebx),%esi
a4e1fe:	a5                   	movsl  %ds:(%esi),%es:(%edi)
a4e1ff:	a5                   	movsl  %ds:(%esi),%es:(%edi)
a4e200:	a5                   	movsl  %ds:(%esi),%es:(%edi)
a4e201:	a5                   	movsl  %ds:(%esi),%es:(%edi)
a4e202:	8b 7d f0             	mov    -0x10(%ebp),%edi
a4e205:	5e                   	pop    %esi
a4e206:	e9 e4 fe ff ff       	jmp    0xa4e0ef
a4e20b:	2d 03 40 00 00       	sub    $0x4003,%eax
a4e210:	83 f8 12             	cmp    $0x12,%eax
a4e213:	0f 87 d6 fe ff ff    	ja     0xa4e0ef
a4e219:	ff 24 85 5f e4 a4 00 	jmp    *0xa4e45f(,%eax,4)
a4e220:	03 de                	add    %esi,%ebx
a4e222:	03 ce                	add    %esi,%ecx
a4e224:	89 4d f0             	mov    %ecx,-0x10(%ebp)
a4e227:	8b 0b                	mov    (%ebx),%ecx
a4e229:	89 4d d0             	mov    %ecx,-0x30(%ebp)
a4e22c:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
a4e22f:	8b 01                	mov    (%ecx),%eax
a4e231:	f7 d8                	neg    %eax
a4e233:	1b c0                	sbb    %eax,%eax
a4e235:	83 65 d8 00          	andl   $0x0,-0x28(%ebp)
a4e239:	25 ff ff 00 00       	and    $0xffff,%eax
a4e23e:	89 01                	mov    %eax,(%ecx)
a4e240:	89 0f                	mov    %ecx,(%edi)
a4e242:	8d 45 d0             	lea    -0x30(%ebp),%eax
a4e245:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
a4e249:	50                   	push   %eax
a4e24a:	ff 75 a4             	push   -0x5c(%ebp)
a4e24d:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
a4e250:	e8 3b 24 9c ff       	call   0x410690
a4e255:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
a4e259:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
a4e25d:	0f 84 86 fe ff ff    	je     0xa4e0e9
a4e263:	56                   	push   %esi
a4e264:	ff 75 d0             	push   -0x30(%ebp)
a4e267:	e8 30 3c 9b ff       	call   0x401e9c
a4e26c:	59                   	pop    %ecx
a4e26d:	59                   	pop    %ecx
a4e26e:	e9 76 fe ff ff       	jmp    0xa4e0e9
a4e273:	e8 6e 8b 9d ff       	call   0x426de6
a4e278:	8b 75 94             	mov    -0x6c(%ebp),%esi
a4e27b:	85 f6                	test   %esi,%esi
a4e27d:	74 10                	je     0xa4e28f
a4e27f:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
a4e285:	8b ce                	mov    %esi,%ecx
a4e287:	50                   	push   %eax
a4e288:	e8 d8 e3 9d ff       	call   0x42c665
a4e28d:	ff d6                	call   *%esi
a4e28f:	6a 20                	push   $0x20
a4e291:	e8 e7 c6 9d ff       	call   0x42a97d
a4e296:	59                   	pop    %ecx
a4e297:	89 45 e0             	mov    %eax,-0x20(%ebp)
a4e29a:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
a4e29e:	85 c0                	test   %eax,%eax
a4e2a0:	74 11                	je     0xa4e2b3
a4e2a2:	ff b5 7c ff ff ff    	push   -0x84(%ebp)
a4e2a8:	8b c8                	mov    %eax,%ecx
a4e2aa:	53                   	push   %ebx
a4e2ab:	53                   	push   %ebx
a4e2ac:	e8 59 8a 9d ff       	call   0x426d0a
a4e2b1:	8b d8                	mov    %eax,%ebx
a4e2b3:	ff 75 80             	push   -0x80(%ebp)
a4e2b6:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
a4e2ba:	ff 15 00 3b d8 00    	call   *0xd83b00
a4e2c0:	85 c0                	test   %eax,%eax
a4e2c2:	74 0b                	je     0xa4e2cf
a4e2c4:	ff 75 80             	push   -0x80(%ebp)
a4e2c7:	8d 4b 18             	lea    0x18(%ebx),%ecx
a4e2ca:	e8 bb 51 9c ff       	call   0x41348a
a4e2cf:	ff 75 80             	push   -0x80(%ebp)
a4e2d2:	ff 15 24 3b d8 00    	call   *0xd83b24
a4e2d8:	ff 75 84             	push   -0x7c(%ebp)
a4e2db:	ff 15 00 3b d8 00    	call   *0xd83b00
a4e2e1:	85 c0                	test   %eax,%eax
a4e2e3:	74 0b                	je     0xa4e2f0
a4e2e5:	ff 75 84             	push   -0x7c(%ebp)
a4e2e8:	8d 4b 0c             	lea    0xc(%ebx),%ecx
a4e2eb:	e8 9a 51 9c ff       	call   0x41348a
a4e2f0:	ff 75 84             	push   -0x7c(%ebp)
a4e2f3:	ff 15 24 3b d8 00    	call   *0xd83b24
a4e2f9:	ff 75 88             	push   -0x78(%ebp)
a4e2fc:	ff 15 00 3b d8 00    	call   *0xd83b00
a4e302:	85 c0                	test   %eax,%eax
a4e304:	74 0b                	je     0xa4e311
a4e306:	ff 75 88             	push   -0x78(%ebp)
a4e309:	8d 4b 14             	lea    0x14(%ebx),%ecx
a4e30c:	e8 66 71 9e ff       	call   0x435477
a4e311:	ff 75 88             	push   -0x78(%ebp)
a4e314:	ff 15 24 3b d8 00    	call   *0xd83b24
a4e31a:	8b 45 8c             	mov    -0x74(%ebp),%eax
a4e31d:	89 43 10             	mov    %eax,0x10(%ebx)
a4e320:	8b 45 98             	mov    -0x68(%ebp),%eax
a4e323:	89 43 1c             	mov    %eax,0x1c(%ebx)
a4e326:	8d 45 e0             	lea    -0x20(%ebp),%eax
a4e329:	68 a4 12 d4 00       	push   $0xd412a4
a4e32e:	50                   	push   %eax
a4e32f:	89 5d e0             	mov    %ebx,-0x20(%ebp)
a4e332:	e8 58 f6 9c ff       	call   0x41d98f
a4e337:	66 85 ff             	test   %di,%di
a4e33a:	0f 84 ae 00 00 00    	je     0xa4e3ee
a4e340:	66 83 ff 0c          	cmp    $0xc,%di
a4e344:	74 22                	je     0xa4e368
a4e346:	57                   	push   %edi
a4e347:	53                   	push   %ebx
a4e348:	8d 45 c0             	lea    -0x40(%ebp),%eax
a4e34b:	50                   	push   %eax
a4e34c:	50                   	push   %eax
a4e34d:	ff 15 60 3b d8 00    	call   *0xd83b60
a4e353:	8b f0                	mov    %eax,%esi
a4e355:	85 f6                	test   %esi,%esi
a4e357:	79 0f                	jns    0xa4e368
a4e359:	8d 45 c0             	lea    -0x40(%ebp),%eax
a4e35c:	50                   	push   %eax
a4e35d:	ff 15 64 3b d8 00    	call   *0xd83b64
a4e363:	e9 77 fe ff ff       	jmp    0xa4e1df
a4e368:	0f b7 c7             	movzwl %di,%eax
a4e36b:	83 c0 fe             	add    $0xfffffffe,%eax
a4e36e:	83 f8 13             	cmp    $0x13,%eax
a4e371:	77 7b                	ja     0xa4e3ee
a4e373:	ff 24 85 ab e4 a4 00 	jmp    *0xa4e4ab(,%eax,4)
a4e37a:	8b 4d 14             	mov    0x14(%ebp),%ecx
a4e37d:	8a 45 c8             	mov    -0x38(%ebp),%al
a4e380:	88 01                	mov    %al,(%ecx)
a4e382:	eb 6a                	jmp    0xa4e3ee
a4e384:	8b 4d 14             	mov    0x14(%ebp),%ecx
a4e387:	66 8b 45 c8          	mov    -0x38(%ebp),%ax
a4e38b:	66 89 01             	mov    %ax,(%ecx)
a4e38e:	eb 5e                	jmp    0xa4e3ee
a4e390:	8b 4d 14             	mov    0x14(%ebp),%ecx
a4e393:	8b 45 c8             	mov    -0x38(%ebp),%eax
a4e396:	89 01                	mov    %eax,(%ecx)
a4e398:	8b 45 cc             	mov    -0x34(%ebp),%eax
a4e39b:	89 41 04             	mov    %eax,0x4(%ecx)
a4e39e:	eb 4e                	jmp    0xa4e3ee
a4e3a0:	8b 45 14             	mov    0x14(%ebp),%eax
a4e3a3:	d9 45 c8             	flds   -0x38(%ebp)
a4e3a6:	d9 18                	fstps  (%eax)
a4e3a8:	eb 44                	jmp    0xa4e3ee
a4e3aa:	8b 45 14             	mov    0x14(%ebp),%eax
a4e3ad:	dd 45 c8             	fldl   -0x38(%ebp)
a4e3b0:	dd 18                	fstpl  (%eax)
a4e3b2:	eb 3a                	jmp    0xa4e3ee
a4e3b4:	ff 75 c8             	push   -0x38(%ebp)
a4e3b7:	ff 75 14             	push   0x14(%ebp)
a4e3ba:	e8 28 39 9d ff       	call   0x421ce7
a4e3bf:	ff 75 c8             	push   -0x38(%ebp)
a4e3c2:	ff 15 24 3b d8 00    	call   *0xd83b24
a4e3c8:	eb 24                	jmp    0xa4e3ee
a4e3ca:	8b 45 14             	mov    0x14(%ebp),%eax
a4e3cd:	33 c9                	xor    %ecx,%ecx
a4e3cf:	66 39 4d c8          	cmp    %cx,-0x38(%ebp)
a4e3d3:	0f 95 c1             	setne  %cl
a4e3d6:	89 08                	mov    %ecx,(%eax)
a4e3d8:	eb 14                	jmp    0xa4e3ee
a4e3da:	8b 7d 14             	mov    0x14(%ebp),%edi
a4e3dd:	8d 75 c0             	lea    -0x40(%ebp),%esi
a4e3e0:	a5                   	movsl  %ds:(%esi),%es:(%edi)
a4e3e1:	a5                   	movsl  %ds:(%esi),%es:(%edi)
a4e3e2:	a5                   	movsl  %ds:(%esi),%es:(%edi)
a4e3e3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
a4e3e4:	eb 08                	jmp    0xa4e3ee
a4e3e6:	8b 4d 14             	mov    0x14(%ebp),%ecx
a4e3e9:	8b 45 c8             	mov    -0x38(%ebp),%eax
a4e3ec:	89 01                	mov    %eax,(%ecx)
a4e3ee:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
a4e3f1:	e8 e4 bc 9e ff       	call   0x43a0da
a4e3f6:	83 7d b0 00          	cmpl   $0x0,-0x50(%ebp)
a4e3fa:	74 09                	je     0xa4e405
a4e3fc:	ff 75 b0             	push   -0x50(%ebp)
a4e3ff:	e8 0e 02 9f ff       	call   0x43e612
a4e404:	59                   	pop    %ecx
a4e405:	e8 0d 00 9c ff       	call   0x40e417
a4e40a:	c2 18 00             	ret    $0x18
a4e40d:	8b ff                	mov    %edi,%edi
a4e40f:	73 e0                	jae    0xa4e3f1
a4e411:	a4                   	movsb  %ds:(%esi),%es:(%edi)
a4e412:	00 7f e0             	add    %bh,-0x20(%edi)
a4e415:	a4                   	movsb  %ds:(%esi),%es:(%edi)
a4e416:	00 9b e0 a4 00 a7    	add    %bl,-0x58ff5b20(%ebx)
a4e41c:	e0 a4                	loopne 0xa4e3c2
a4e41e:	00 b3 e0 a4 00 a7    	add    %dh,-0x58ff5b20(%ebx)
a4e424:	e0 a4                	loopne 0xa4e3ca
a4e426:	00 c8                	add    %cl,%al
a4e428:	e0 a4                	loopne 0xa4e3ce
a4e42a:	00 7f e0             	add    %bh,-0x20(%edi)
a4e42d:	a4                   	movsb  %ds:(%esi),%es:(%edi)
a4e42e:	00 7f e0             	add    %bh,-0x20(%edi)
a4e431:	a4                   	movsb  %ds:(%esi),%es:(%edi)
a4e432:	00 e5                	add    %ah,%ch
a4e434:	e1 a4                	loope  0xa4e3da
a4e436:	00 f4                	add    %dh,%ah
a4e438:	e1 a4                	loope  0xa4e3de
a4e43a:	00 7f e0             	add    %bh,-0x20(%edi)
a4e43d:	a4                   	movsb  %ds:(%esi),%es:(%edi)
a4e43e:	00 ef                	add    %ch,%bh
a4e440:	e0 a4                	loopne 0xa4e3e6
a4e442:	00 ef                	add    %ch,%bh
a4e444:	e0 a4                	loopne 0xa4e3ea
a4e446:	00 69 e0             	add    %ch,-0x20(%ecx)
a4e449:	a4                   	movsb  %ds:(%esi),%es:(%edi)
a4e44a:	00 69 e0             	add    %ch,-0x20(%ecx)
a4e44d:	a4                   	movsb  %ds:(%esi),%es:(%edi)
a4e44e:	00 73 e0             	add    %dh,-0x20(%ebx)
a4e451:	a4                   	movsb  %ds:(%esi),%es:(%edi)
a4e452:	00 7f e0             	add    %bh,-0x20(%edi)
a4e455:	a4                   	movsb  %ds:(%esi),%es:(%edi)
a4e456:	00 89 e0 a4 00 89    	add    %cl,-0x76ff5b20(%ecx)
a4e45c:	e0 a4                	loopne 0xa4e402
a4e45e:	00 7f e0             	add    %bh,-0x20(%edi)
a4e461:	a4                   	movsb  %ds:(%esi),%es:(%edi)
a4e462:	00 7f e0             	add    %bh,-0x20(%edi)
a4e465:	a4                   	movsb  %ds:(%esi),%es:(%edi)
a4e466:	00 7f e0             	add    %bh,-0x20(%edi)
a4e469:	a4                   	movsb  %ds:(%esi),%es:(%edi)
a4e46a:	00 7f e0             	add    %bh,-0x20(%edi)
a4e46d:	a4                   	movsb  %ds:(%esi),%es:(%edi)
a4e46e:	00 7f e0             	add    %bh,-0x20(%edi)
a4e471:	a4                   	movsb  %ds:(%esi),%es:(%edi)
a4e472:	00 7f e0             	add    %bh,-0x20(%edi)
a4e475:	a4                   	movsb  %ds:(%esi),%es:(%edi)
a4e476:	00 7f e0             	add    %bh,-0x20(%edi)
a4e479:	a4                   	movsb  %ds:(%esi),%es:(%edi)
a4e47a:	00 7f e0             	add    %bh,-0x20(%edi)
a4e47d:	a4                   	movsb  %ds:(%esi),%es:(%edi)
a4e47e:	00 20                	add    %ah,(%eax)
a4e480:	e2 a4                	loop   0xa4e426
a4e482:	00 7f e0             	add    %bh,-0x20(%edi)
a4e485:	a4                   	movsb  %ds:(%esi),%es:(%edi)
a4e486:	00 7f e0             	add    %bh,-0x20(%edi)
a4e489:	a4                   	movsb  %ds:(%esi),%es:(%edi)
a4e48a:	00 ef                	add    %ch,%bh
a4e48c:	e0 a4                	loopne 0xa4e432
a4e48e:	00 ef                	add    %ch,%bh
a4e490:	e0 a4                	loopne 0xa4e436
a4e492:	00 7f e0             	add    %bh,-0x20(%edi)
a4e495:	a4                   	movsb  %ds:(%esi),%es:(%edi)
a4e496:	00 7f e0             	add    %bh,-0x20(%edi)
a4e499:	a4                   	movsb  %ds:(%esi),%es:(%edi)
a4e49a:	00 7f e0             	add    %bh,-0x20(%edi)
a4e49d:	a4                   	movsb  %ds:(%esi),%es:(%edi)
a4e49e:	00 7f e0             	add    %bh,-0x20(%edi)
a4e4a1:	a4                   	movsb  %ds:(%esi),%es:(%edi)
a4e4a2:	00 7f e0             	add    %bh,-0x20(%edi)
a4e4a5:	a4                   	movsb  %ds:(%esi),%es:(%edi)
a4e4a6:	00 7f e0             	add    %bh,-0x20(%edi)
a4e4a9:	a4                   	movsb  %ds:(%esi),%es:(%edi)
a4e4aa:	00 84 e3 a4 00 e6 e3 	add    %al,-0x1c19ff5c(%ebx,%eiz,8)
a4e4b1:	a4                   	movsb  %ds:(%esi),%es:(%edi)
a4e4b2:	00 a0 e3 a4 00 aa    	add    %ah,-0x55ff5b1d(%eax)
a4e4b8:	e3 a4                	jecxz  0xa4e45e
a4e4ba:	00 90 e3 a4 00 aa    	add    %dl,-0x55ff5b1d(%eax)
a4e4c0:	e3 a4                	jecxz  0xa4e466
a4e4c2:	00 b4 e3 a4 00 e6 e3 	add    %dh,-0x1c19ff5c(%ebx,%eiz,8)
a4e4c9:	a4                   	movsb  %ds:(%esi),%es:(%edi)
a4e4ca:	00 e6                	add    %ah,%dh
a4e4cc:	e3 a4                	jecxz  0xa4e472
a4e4ce:	00 ca                	add    %cl,%dl
a4e4d0:	e3 a4                	jecxz  0xa4e476
a4e4d2:	00 da                	add    %bl,%dl
a4e4d4:	e3 a4                	jecxz  0xa4e47a
a4e4d6:	00 e6                	add    %ah,%dh
a4e4d8:	e3 a4                	jecxz  0xa4e47e