43a17f:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
43a185:	8b f9                	mov    %ecx,%edi
43a187:	89 7d f0             	mov    %edi,-0x10(%ebp)
43a18a:	8b 75 08             	mov    0x8(%ebp),%esi
43a18d:	8d 47 04             	lea    0x4(%edi),%eax
43a190:	0f 57 c0             	xorps  %xmm0,%xmm0
43a193:	c7 07 a4 f8 49 00    	movl   $0x49f8a4,(%edi)
43a199:	50                   	push   %eax
43a19a:	66 0f d6 00          	movq   %xmm0,(%eax)
43a19e:	8d 46 04             	lea    0x4(%esi),%eax
43a1a1:	50                   	push   %eax
43a1a2:	e8 d4 0b 03 00       	call   0x46ad7b
43a1a7:	83 c4 08             	add    $0x8,%esp
43a1aa:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
43a1b1:	8d 4f 10             	lea    0x10(%edi),%ecx
43a1b4:	c7 07 b4 1b 4b 00    	movl   $0x4b1bb4,(%edi)
43a1ba:	8b 46 0c             	mov    0xc(%esi),%eax
43a1bd:	89 47 0c             	mov    %eax,0xc(%edi)
43a1c0:	8d 46 10             	lea    0x10(%esi),%eax
43a1c3:	50                   	push   %eax
43a1c4:	e8 57 95 fc ff       	call   0x403720
43a1c9:	c7 07 7c 5e 4b 00    	movl   $0x4b5e7c,(%edi)
43a1cf:	8b c7                	mov    %edi,%eax
43a1d1:	8b 4d f4             	mov    -0xc(%ebp),%ecx
43a1d4:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
43a1db:	59                   	pop    %ecx
43a1dc:	5f                   	pop    %edi
43a1dd:	5e                   	pop    %esi
43a1de:	8b e5                	mov    %ebp,%esp
43a1e0:	5d                   	pop    %ebp
43a1e1:	c2 04 00             	ret    $0x4
43a1e4:	cc                   	int3
43a1e5:	cc                   	int3
43a1e6:	cc                   	int3
43a1e7:	cc                   	int3
43a1e8:	cc                   	int3
43a1e9:	cc                   	int3
43a1ea:	cc                   	int3
43a1eb:	cc                   	int3
43a1ec:	cc                   	int3
43a1ed:	cc                   	int3
43a1ee:	cc                   	int3
43a1ef:	cc                   	int3
43a1f0:	56                   	push   %esi
43a1f1:	8b f1                	mov    %ecx,%esi
43a1f3:	e8 28 0a 00 00       	call   0x43ac20
43a1f8:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
43a1fd:	74 0b                	je     0x43a20a
43a1ff:	6a 28                	push   $0x28
43a201:	56                   	push   %esi
43a202:	e8 01 f8 02 00       	call   0x469a08
43a207:	83 c4 08             	add    $0x8,%esp
43a20a:	8b c6                	mov    %esi,%eax
43a20c:	5e                   	pop    %esi
43a20d:	c2 04 00             	ret    $0x4
43a210:	e9 0b 0a 00 00       	jmp    0x43ac20
43a215:	cc                   	int3
43a216:	cc                   	int3
43a217:	cc                   	int3
43a218:	cc                   	int3
43a219:	cc                   	int3
43a21a:	cc                   	int3
43a21b:	cc                   	int3
43a21c:	cc                   	int3
43a21d:	cc                   	int3
43a21e:	cc                   	int3
43a21f:	cc                   	int3
43a220:	56                   	push   %esi
43a221:	8b f1                	mov    %ecx,%esi
43a223:	e8 78 0d 00 00       	call   0x43afa0
43a228:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
43a22d:	74 0b                	je     0x43a23a
43a22f:	6a 30                	push   $0x30
43a231:	56                   	push   %esi
43a232:	e8 d1 f7 02 00       	call   0x469a08
43a237:	83 c4 08             	add    $0x8,%esp
43a23a:	8b c6                	mov    %esi,%eax
43a23c:	5e                   	pop    %esi
43a23d:	c2 04 00             	ret    $0x4
43a240:	51                   	push   %ecx
43a241:	e8 5a 0d 00 00       	call   0x43afa0
43a246:	59                   	pop    %ecx
43a247:	c3                   	ret
43a248:	cc                   	int3
43a249:	cc                   	int3
43a24a:	cc                   	int3
43a24b:	cc                   	int3
43a24c:	cc                   	int3
43a24d:	cc                   	int3
43a24e:	cc                   	int3
43a24f:	cc                   	int3
43a250:	83 ec 08             	sub    $0x8,%esp
43a253:	83 7c 24 10 00       	cmpl   $0x0,0x10(%esp)
43a258:	56                   	push   %esi
43a259:	57                   	push   %edi
43a25a:	8b f9                	mov    %ecx,%edi
43a25c:	8b 37                	mov    (%edi),%esi
43a25e:	77 34                	ja     0x43a294
43a260:	8b 44 24 14          	mov    0x14(%esp),%eax
43a264:	72 05                	jb     0x43a26b
43a266:	83 f8 7f             	cmp    $0x7f,%eax
43a269:	77 29                	ja     0x43a294
43a26b:	8b 76 14             	mov    0x14(%esi),%esi
43a26e:	8b ce                	mov    %esi,%ecx
43a270:	6a 01                	push   $0x1
43a272:	6a 00                	push   $0x0
43a274:	88 44 24 10          	mov    %al,0x10(%esp)
43a278:	8d 44 24 10          	lea    0x10(%esp),%eax
43a27c:	6a 01                	push   $0x1
43a27e:	50                   	push   %eax
43a27f:	ff 15 d4 e2 49 00    	call   *0x49e2d4
43a285:	8b cf                	mov    %edi,%ecx
43a287:	ff d6                	call   *%esi
43a289:	5f                   	pop    %edi
43a28a:	b8 01 00 00 00       	mov    $0x1,%eax
43a28f:	5e                   	pop    %esi
43a290:	83 c4 08             	add    $0x8,%esp
43a293:	c3                   	ret
43a294:	53                   	push   %ebx
43a295:	8d 4c 24 18          	lea    0x18(%esp),%ecx
43a299:	e8 72 17 00 00       	call   0x43ba10
43a29e:	8b 76 14             	mov    0x14(%esi),%esi
43a2a1:	8b d8                	mov    %eax,%ebx
43a2a3:	6a 01                	push   $0x1
43a2a5:	8a cb                	mov    %bl,%cl
43a2a7:	8d 44 24 10          	lea    0x10(%esp),%eax
43a2ab:	6a 00                	push   $0x0
43a2ad:	80 c9 80             	or     $0x80,%cl
43a2b0:	6a 01                	push   $0x1
43a2b2:	88 4c 24 18          	mov    %cl,0x18(%esp)
43a2b6:	8b ce                	mov    %esi,%ecx
43a2b8:	50                   	push   %eax
43a2b9:	ff 15 d4 e2 49 00    	call   *0x49e2d4
43a2bf:	8b cf                	mov    %edi,%ecx
43a2c1:	ff d6                	call   *%esi
43a2c3:	85 db                	test   %ebx,%ebx
43a2c5:	74 52                	je     0x43a319
43a2c7:	8d 43 01             	lea    0x1(%ebx),%eax
43a2ca:	55                   	push   %ebp
43a2cb:	8d 2c dd f8 ff ff ff 	lea    -0x8(,%ebx,8),%ebp
43a2d2:	89 44 24 14          	mov    %eax,0x14(%esp)
43a2d6:	8b 44 24 1c          	mov    0x1c(%esp),%eax
43a2da:	8b cd                	mov    %ebp,%ecx
43a2dc:	8b 54 24 20          	mov    0x20(%esp),%edx
43a2e0:	e8 8b b7 05 00       	call   0x495a70
43a2e5:	8b 37                	mov    (%edi),%esi
43a2e7:	6a 01                	push   $0x1
43a2e9:	6a 00                	push   $0x0
43a2eb:	88 44 24 18          	mov    %al,0x18(%esp)
43a2ef:	8d 44 24 18          	lea    0x18(%esp),%eax
43a2f3:	8b 76 14             	mov    0x14(%esi),%esi
43a2f6:	8b ce                	mov    %esi,%ecx
43a2f8:	6a 01                	push   $0x1
43a2fa:	50                   	push   %eax
43a2fb:	ff 15 d4 e2 49 00    	call   *0x49e2d4
43a301:	8b cf                	mov    %edi,%ecx
43a303:	ff d6                	call   *%esi
43a305:	83 ed 08             	sub    $0x8,%ebp
43a308:	83 eb 01             	sub    $0x1,%ebx
43a30b:	75 c9                	jne    0x43a2d6
43a30d:	8b 44 24 14          	mov    0x14(%esp),%eax
43a311:	5d                   	pop    %ebp
43a312:	5b                   	pop    %ebx
43a313:	5f                   	pop    %edi
43a314:	5e                   	pop    %esi
43a315:	83 c4 08             	add    $0x8,%esp
43a318:	c3                   	ret
43a319:	5b                   	pop    %ebx
43a31a:	5f                   	pop    %edi
43a31b:	b8 01 00 00 00       	mov    $0x1,%eax
43a320:	5e                   	pop    %esi
43a321:	83 c4 08             	add    $0x8,%esp
43a324:	c3                   	ret
43a325:	cc                   	int3
43a326:	cc                   	int3
43a327:	cc                   	int3
43a328:	cc                   	int3
43a329:	cc                   	int3
43a32a:	cc                   	int3
43a32b:	cc                   	int3
43a32c:	cc                   	int3
43a32d:	cc                   	int3
43a32e:	cc                   	int3
43a32f:	cc                   	int3
43a330:	83 ec 10             	sub    $0x10,%esp
43a333:	53                   	push   %ebx
43a334:	55                   	push   %ebp
43a335:	8b e9                	mov    %ecx,%ebp
43a337:	8b da                	mov    %edx,%ebx
43a339:	56                   	push   %esi
43a33a:	57                   	push   %edi
43a33b:	8d 4c 24 17          	lea    0x17(%esp),%ecx
43a33f:	8b 45 00             	mov    0x0(%ebp),%eax
43a342:	51                   	push   %ecx
43a343:	8b 70 48             	mov    0x48(%eax),%esi
43a346:	8b ce                	mov    %esi,%ecx
43a348:	ff 15 d4 e2 49 00    	call   *0x49e2d4
43a34e:	8b cd                	mov    %ebp,%ecx
43a350:	ff d6                	call   *%esi
43a352:	85 c0                	test   %eax,%eax
43a354:	0f 84 ab 00 00 00    	je     0x43a405
43a35a:	8a 4c 24 17          	mov    0x17(%esp),%cl
43a35e:	8b 44 24 24          	mov    0x24(%esp),%eax
43a362:	84 c9                	test   %cl,%cl
43a364:	78 16                	js     0x43a37c
43a366:	c6 00 01             	movb   $0x1,(%eax)
43a369:	0f b6 c1             	movzbl %cl,%eax
43a36c:	99                   	cltd
43a36d:	89 03                	mov    %eax,(%ebx)
43a36f:	b0 01                	mov    $0x1,%al
43a371:	89 53 04             	mov    %edx,0x4(%ebx)
43a374:	5f                   	pop    %edi
43a375:	5e                   	pop    %esi
43a376:	5d                   	pop    %ebp
43a377:	5b                   	pop    %ebx
43a378:	83 c4 10             	add    $0x10,%esp
43a37b:	c3                   	ret
43a37c:	0f b6 f9             	movzbl %cl,%edi
43a37f:	83 e7 7f             	and    $0x7f,%edi
43a382:	75 0d                	jne    0x43a391
43a384:	c6 00 00             	movb   $0x0,(%eax)
43a387:	b0 01                	mov    $0x1,%al
43a389:	5f                   	pop    %edi
43a38a:	5e                   	pop    %esi
43a38b:	5d                   	pop    %ebp
43a38c:	5b                   	pop    %ebx
43a38d:	83 c4 10             	add    $0x10,%esp
43a390:	c3                   	ret
43a391:	0f 57 c0             	xorps  %xmm0,%xmm0
43a394:	c6 00 01             	movb   $0x1,(%eax)
43a397:	66 0f 13 44 24 18    	movlpd %xmm0,0x18(%esp)
43a39d:	8b 74 24 1c          	mov    0x1c(%esp),%esi
43a3a1:	8b 4c 24 18          	mov    0x18(%esp),%ecx
43a3a5:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
43a3ab:	c7 43 04 00 00 00 00 	movl   $0x0,0x4(%ebx)
43a3b2:	4f                   	dec    %edi
43a3b3:	81 fe 00 00 00 01    	cmp    $0x1000000,%esi
43a3b9:	77 54                	ja     0x43a40f
43a3bb:	72 04                	jb     0x43a3c1
43a3bd:	85 c9                	test   %ecx,%ecx
43a3bf:	73 4e                	jae    0x43a40f
43a3c1:	8b 45 00             	mov    0x0(%ebp),%eax
43a3c4:	8d 4c 24 17          	lea    0x17(%esp),%ecx
43a3c8:	51                   	push   %ecx
43a3c9:	8b 70 48             	mov    0x48(%eax),%esi
43a3cc:	8b ce                	mov    %esi,%ecx
43a3ce:	ff 15 d4 e2 49 00    	call   *0x49e2d4
43a3d4:	8b cd                	mov    %ebp,%ecx
43a3d6:	ff d6                	call   *%esi
43a3d8:	85 c0                	test   %eax,%eax
43a3da:	74 29                	je     0x43a405
43a3dc:	8b 0b                	mov    (%ebx),%ecx
43a3de:	8b 73 04             	mov    0x4(%ebx),%esi
43a3e1:	0f b6 44 24 17       	movzbl 0x17(%esp),%eax
43a3e6:	0f a4 ce 08          	shld   $0x8,%ecx,%esi
43a3ea:	99                   	cltd
43a3eb:	c1 e1 08             	shl    $0x8,%ecx
43a3ee:	0b f2                	or     %edx,%esi
43a3f0:	0b c8                	or     %eax,%ecx
43a3f2:	89 73 04             	mov    %esi,0x4(%ebx)
43a3f5:	89 0b                	mov    %ecx,(%ebx)
43a3f7:	85 ff                	test   %edi,%edi
43a3f9:	75 b7                	jne    0x43a3b2
43a3fb:	b0 01                	mov    $0x1,%al
43a3fd:	5f                   	pop    %edi
43a3fe:	5e                   	pop    %esi
43a3ff:	5d                   	pop    %ebp
43a400:	5b                   	pop    %ebx
43a401:	83 c4 10             	add    $0x10,%esp
43a404:	c3                   	ret
43a405:	5f                   	pop    %edi
43a406:	5e                   	pop    %esi
43a407:	5d                   	pop    %ebp
43a408:	32 c0                	xor    %al,%al
43a40a:	5b                   	pop    %ebx
43a40b:	83 c4 10             	add    $0x10,%esp
43a40e:	c3                   	ret
43a40f:	e8 1c fd ff ff       	call   0x43a130
43a414:	cc                   	int3
43a415:	cc                   	int3
43a416:	cc                   	int3
43a417:	cc                   	int3
43a418:	cc                   	int3
43a419:	cc                   	int3
43a41a:	cc                   	int3
43a41b:	cc                   	int3
43a41c:	cc                   	int3
43a41d:	cc                   	int3
43a41e:	cc                   	int3
43a41f:	cc                   	int3
43a420:	55                   	push   %ebp
43a421:	8b ec                	mov    %esp,%ebp
43a423:	83 e4 f8             	and    $0xfffffff8,%esp
43a426:	83 ec 0c             	sub    $0xc,%esp
43a429:	8d 44 24 03          	lea    0x3(%esp),%eax
43a42d:	56                   	push   %esi
43a42e:	8b f2                	mov    %edx,%esi
43a430:	8d 54 24 08          	lea    0x8(%esp),%edx
43a434:	50                   	push   %eax
43a435:	e8 f6 fe ff ff       	call   0x43a330
43a43a:	83 c4 04             	add    $0x4,%esp
43a43d:	84 c0                	test   %al,%al
43a43f:	74 2c                	je     0x43a46d
43a441:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
43a445:	8b 44 24 08          	mov    0x8(%esp),%eax
43a449:	89 06                	mov    %eax,(%esi)
43a44b:	85 c9                	test   %ecx,%ecx
43a44d:	75 1e                	jne    0x43a46d
43a44f:	85 c0                	test   %eax,%eax
43a451:	74 05                	je     0x43a458
43a453:	b9 01 00 00 00       	mov    $0x1,%ecx
43a458:	33 d2                	xor    %edx,%edx
43a45a:	3b d0                	cmp    %eax,%edx
43a45c:	1b c0                	sbb    %eax,%eax
43a45e:	f7 d8                	neg    %eax
43a460:	3b c8                	cmp    %eax,%ecx
43a462:	75 09                	jne    0x43a46d
43a464:	8a 44 24 07          	mov    0x7(%esp),%al
43a468:	5e                   	pop    %esi
43a469:	8b e5                	mov    %ebp,%esp
43a46b:	5d                   	pop    %ebp
43a46c:	c3                   	ret
43a46d:	e8 be fc ff ff       	call   0x43a130
43a472:	cc                   	int3
43a473:	cc                   	int3
43a474:	cc                   	int3
43a475:	cc                   	int3
43a476:	cc                   	int3
43a477:	cc                   	int3
43a478:	cc                   	int3
43a479:	cc                   	int3
43a47a:	cc                   	int3
43a47b:	cc                   	int3
43a47c:	cc                   	int3
43a47d:	cc                   	int3
43a47e:	cc                   	int3
43a47f:	cc                   	int3
43a480:	55                   	push   %ebp
43a481:	8b ec                	mov    %esp,%ebp
43a483:	83 e4 f8             	and    $0xfffffff8,%esp
43a486:	83 ec 10             	sub    $0x10,%esp
43a489:	56                   	push   %esi
43a48a:	57                   	push   %edi
43a48b:	8b f9                	mov    %ecx,%edi
43a48d:	8d 4c 24 0e          	lea    0xe(%esp),%ecx
43a491:	51                   	push   %ecx
43a492:	8b 07                	mov    (%edi),%eax
43a494:	8b 70 48             	mov    0x48(%eax),%esi
43a497:	8b ce                	mov    %esi,%ecx
43a499:	ff 15 d4 e2 49 00    	call   *0x49e2d4