40232e:	50                   	push   %eax
40232f:	ff 74 24 34          	push   0x34(%esp)
402333:	52                   	push   %edx
402334:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
402338:	e8 f3 1f 00 00       	call   0x404330
40233d:	83 c4 0c             	add    $0xc,%esp
402340:	8b 4c 24 08          	mov    0x8(%esp),%ecx
402344:	8d 04 71             	lea    (%ecx,%esi,2),%eax
402347:	8d 0c 59             	lea    (%ecx,%ebx,2),%ecx
40234a:	01 ff                	add    %edi,%edi
40234c:	57                   	push   %edi
40234d:	50                   	push   %eax
40234e:	51                   	push   %ecx
40234f:	e8 dc 1f 00 00       	call   0x404330
402354:	8b 44 24 0c          	mov    0xc(%esp),%eax
402358:	83 c4 0c             	add    $0xc,%esp
40235b:	01 dd                	add    %ebx,%ebp
40235d:	29 f5                	sub    %esi,%ebp
40235f:	89 68 10             	mov    %ebp,0x10(%eax)
402362:	e9 e2 00 00 00       	jmp    0x402449
402367:	89 7c 24 08          	mov    %edi,0x8(%esp)
40236b:	89 df                	mov    %ebx,%edi
40236d:	29 f7                	sub    %esi,%edi
40236f:	89 ca                	mov    %ecx,%edx
402371:	8b 49 14             	mov    0x14(%ecx),%ecx
402374:	89 4c 24 04          	mov    %ecx,0x4(%esp)
402378:	29 e9                	sub    %ebp,%ecx
40237a:	39 cf                	cmp    %ecx,%edi
40237c:	76 2f                	jbe    0x4023ad
40237e:	83 ec 18             	sub    $0x18,%esp
402381:	0f b6 4c 24 24       	movzbl 0x24(%esp),%ecx
402386:	88 4c 24 04          	mov    %cl,0x4(%esp)
40238a:	89 5c 24 14          	mov    %ebx,0x14(%esp)
40238e:	8b 4c 24 48          	mov    0x48(%esp),%ecx
402392:	89 4c 24 10          	mov    %ecx,0x10(%esp)
402396:	89 74 24 0c          	mov    %esi,0xc(%esp)
40239a:	89 44 24 08          	mov    %eax,0x8(%esp)
40239e:	89 3c 24             	mov    %edi,(%esp)
4023a1:	89 d1                	mov    %edx,%ecx
4023a3:	e8 d8 09 00 00       	call   0x402d80
4023a8:	e9 9c 00 00 00       	jmp    0x402449
4023ad:	89 7c 24 10          	mov    %edi,0x10(%esp)
4023b1:	8d 0c 2f             	lea    (%edi,%ebp,1),%ecx
4023b4:	89 4a 10             	mov    %ecx,0x10(%edx)
4023b7:	89 14 24             	mov    %edx,(%esp)
4023ba:	89 d1                	mov    %edx,%ecx
4023bc:	83 7c 24 04 08       	cmpl   $0x8,0x4(%esp)
4023c1:	72 05                	jb     0x4023c8
4023c3:	8b 0c 24             	mov    (%esp),%ecx
4023c6:	8b 09                	mov    (%ecx),%ecx
4023c8:	8d 3c 41             	lea    (%ecx,%eax,2),%edi
4023cb:	8d 04 77             	lea    (%edi,%esi,2),%eax
4023ce:	8b 54 24 30          	mov    0x30(%esp),%edx
4023d2:	8d 14 5a             	lea    (%edx,%ebx,2),%edx
4023d5:	89 de                	mov    %ebx,%esi
4023d7:	89 7c 24 04          	mov    %edi,0x4(%esp)
4023db:	39 fa                	cmp    %edi,%edx
4023dd:	8b 54 24 30          	mov    0x30(%esp),%edx
4023e1:	76 15                	jbe    0x4023f8
4023e3:	8d 0c 69             	lea    (%ecx,%ebp,2),%ecx
4023e6:	89 de                	mov    %ebx,%esi
4023e8:	39 d1                	cmp    %edx,%ecx
4023ea:	72 0c                	jb     0x4023f8
4023ec:	31 f6                	xor    %esi,%esi
4023ee:	89 c1                	mov    %eax,%ecx
4023f0:	29 d1                	sub    %edx,%ecx
4023f2:	76 04                	jbe    0x4023f8
4023f4:	d1 f9                	sar    $1,%ecx
4023f6:	89 ce                	mov    %ecx,%esi
4023f8:	8b 7c 24 10          	mov    0x10(%esp),%edi
4023fc:	8d 0c 78             	lea    (%eax,%edi,2),%ecx
4023ff:	89 d5                	mov    %edx,%ebp
402401:	8b 54 24 08          	mov    0x8(%esp),%edx
402405:	01 d2                	add    %edx,%edx
402407:	52                   	push   %edx
402408:	50                   	push   %eax
402409:	51                   	push   %ecx
40240a:	e8 21 1f 00 00       	call   0x404330
40240f:	83 c4 0c             	add    $0xc,%esp
402412:	8d 04 36             	lea    (%esi,%esi,1),%eax
402415:	50                   	push   %eax
402416:	55                   	push   %ebp
402417:	8b 6c 24 0c          	mov    0xc(%esp),%ebp
40241b:	55                   	push   %ebp
40241c:	e8 0f 1f 00 00       	call   0x404330
402421:	83 c4 0c             	add    $0xc,%esp
402424:	29 f3                	sub    %esi,%ebx
402426:	8b 44 24 30          	mov    0x30(%esp),%eax
40242a:	8d 04 78             	lea    (%eax,%edi,2),%eax
40242d:	8d 04 70             	lea    (%eax,%esi,2),%eax
402430:	8d 0c 75 00 00 00 00 	lea    0x0(,%esi,2),%ecx
402437:	01 e9                	add    %ebp,%ecx
402439:	01 db                	add    %ebx,%ebx
40243b:	53                   	push   %ebx
40243c:	50                   	push   %eax
40243d:	51                   	push   %ecx
40243e:	e8 ed 1e 00 00       	call   0x404330
402443:	83 c4 0c             	add    $0xc,%esp
402446:	8b 04 24             	mov    (%esp),%eax
402449:	83 c4 14             	add    $0x14,%esp
40244c:	5e                   	pop    %esi
40244d:	5f                   	pop    %edi
40244e:	5b                   	pop    %ebx
40244f:	5d                   	pop    %ebp
402450:	c2 10 00             	ret    $0x10
402453:	e8 38 0b 00 00       	call   0x402f90
402458:	cc                   	int3
402459:	cc                   	int3
40245a:	cc                   	int3
40245b:	cc                   	int3
40245c:	cc                   	int3
40245d:	cc                   	int3
40245e:	cc                   	int3
40245f:	cc                   	int3
402460:	53                   	push   %ebx
402461:	57                   	push   %edi
402462:	56                   	push   %esi
402463:	50                   	push   %eax
402464:	8b 74 24 14          	mov    0x14(%esp),%esi
402468:	8b 7c 24 18          	mov    0x18(%esp),%edi
40246c:	8d 5c 24 1c          	lea    0x1c(%esp),%ebx
402470:	89 1c 24             	mov    %ebx,(%esp)
402473:	e8 28 0b 00 00       	call   0x402fa0
402478:	53                   	push   %ebx
402479:	6a 00                	push   $0x0
40247b:	57                   	push   %edi
40247c:	56                   	push   %esi
40247d:	ff 70 04             	push   0x4(%eax)
402480:	ff 30                	push   (%eax)
402482:	e8 f0 6b 00 00       	call   0x409077
402487:	83 c4 1c             	add    $0x1c,%esp
40248a:	5e                   	pop    %esi
40248b:	5f                   	pop    %edi
40248c:	5b                   	pop    %ebx
40248d:	c3                   	ret
40248e:	cc                   	int3
40248f:	cc                   	int3
402490:	55                   	push   %ebp
402491:	89 e5                	mov    %esp,%ebp
402493:	53                   	push   %ebx
402494:	57                   	push   %edi
402495:	56                   	push   %esi
402496:	83 ec 10             	sub    $0x10,%esp
402499:	89 ce                	mov    %ecx,%esi
40249b:	89 65 e4             	mov    %esp,-0x1c(%ebp)
40249e:	c7 45 f0 ff ff ff ff 	movl   $0xffffffff,-0x10(%ebp)
4024a5:	8d 45 e8             	lea    -0x18(%ebp),%eax
4024a8:	c7 45 ec c0 34 40 00 	movl   $0x4034c0,-0x14(%ebp)
4024af:	64 8b 0d 00 00 00 00 	mov    %fs:0x0,%ecx
4024b6:	89 4d e8             	mov    %ecx,-0x18(%ebp)
4024b9:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4024bf:	80 7e 18 00          	cmpb   $0x0,0x18(%esi)
4024c3:	74 3c                	je     0x402501
4024c5:	8b 46 14             	mov    0x14(%esi),%eax
4024c8:	83 f8 08             	cmp    $0x8,%eax
4024cb:	72 30                	jb     0x4024fd
4024cd:	8b 0e                	mov    (%esi),%ecx
4024cf:	8d 3c 00             	lea    (%eax,%eax,1),%edi
4024d2:	83 c7 02             	add    $0x2,%edi
4024d5:	81 ff 00 10 00 00    	cmp    $0x1000,%edi
4024db:	72 16                	jb     0x4024f3
4024dd:	8b 51 fc             	mov    -0x4(%ecx),%edx
4024e0:	83 c1 fc             	add    $0xfffffffc,%ecx
4024e3:	29 d1                	sub    %edx,%ecx
4024e5:	83 f9 20             	cmp    $0x20,%ecx
4024e8:	73 59                	jae    0x402543
4024ea:	01 c0                	add    %eax,%eax
4024ec:	83 c0 25             	add    $0x25,%eax
4024ef:	89 c7                	mov    %eax,%edi
4024f1:	89 d1                	mov    %edx,%ecx
4024f3:	57                   	push   %edi
4024f4:	51                   	push   %ecx
4024f5:	e8 f1 10 00 00       	call   0x4035eb
4024fa:	83 c4 08             	add    $0x8,%esp
4024fd:	c6 46 18 00          	movb   $0x0,0x18(%esi)
402501:	8b 7d 08             	mov    0x8(%ebp),%edi
402504:	0f 57 c0             	xorps  %xmm0,%xmm0
402507:	0f 11 06             	movups %xmm0,(%esi)
40250a:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
402511:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
402518:	57                   	push   %edi
402519:	e8 59 49 00 00       	call   0x406e77
40251e:	83 c4 04             	add    $0x4,%esp
402521:	89 f1                	mov    %esi,%ecx
402523:	50                   	push   %eax
402524:	57                   	push   %edi
402525:	e8 86 0a 00 00       	call   0x402fb0
40252a:	c6 46 18 01          	movb   $0x1,0x18(%esi)
40252e:	8b 45 e8             	mov    -0x18(%ebp),%eax
402531:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
402537:	89 f0                	mov    %esi,%eax
402539:	83 c4 10             	add    $0x10,%esp
40253c:	5e                   	pop    %esi
40253d:	5f                   	pop    %edi
40253e:	5b                   	pop    %ebx
40253f:	5d                   	pop    %ebp
402540:	c2 04 00             	ret    $0x4
402543:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
40254a:	e8 8a 4f 00 00       	call   0x4074d9
40254f:	90                   	nop
402550:	55                   	push   %ebp
402551:	83 ec 08             	sub    $0x8,%esp
402554:	83 c5 0c             	add    $0xc,%ebp
402557:	e8 0d 25 00 00       	call   0x404a69
40255c:	cc                   	int3
40255d:	cc                   	int3
40255e:	cc                   	int3
40255f:	cc                   	int3
402560:	55                   	push   %ebp
402561:	89 e5                	mov    %esp,%ebp
402563:	53                   	push   %ebx
402564:	57                   	push   %edi
402565:	56                   	push   %esi
402566:	83 ec 10             	sub    $0x10,%esp
402569:	89 ce                	mov    %ecx,%esi
40256b:	89 65 e4             	mov    %esp,-0x1c(%ebp)
40256e:	c7 45 f0 ff ff ff ff 	movl   $0xffffffff,-0x10(%ebp)
402575:	8d 45 e8             	lea    -0x18(%ebp),%eax
402578:	c7 45 ec d0 34 40 00 	movl   $0x4034d0,-0x14(%ebp)
40257f:	64 8b 0d 00 00 00 00 	mov    %fs:0x0,%ecx
402586:	89 4d e8             	mov    %ecx,-0x18(%ebp)
402589:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40258f:	80 7e 18 00          	cmpb   $0x0,0x18(%esi)
402593:	74 4b                	je     0x4025e0
402595:	8b 46 14             	mov    0x14(%esi),%eax
402598:	83 f8 08             	cmp    $0x8,%eax
40259b:	72 30                	jb     0x4025cd
40259d:	8b 0e                	mov    (%esi),%ecx
40259f:	8d 3c 00             	lea    (%eax,%eax,1),%edi
4025a2:	83 c7 02             	add    $0x2,%edi
4025a5:	81 ff 00 10 00 00    	cmp    $0x1000,%edi
4025ab:	72 16                	jb     0x4025c3
4025ad:	8b 51 fc             	mov    -0x4(%ecx),%edx
4025b0:	83 c1 fc             	add    $0xfffffffc,%ecx
4025b3:	29 d1                	sub    %edx,%ecx
4025b5:	83 f9 20             	cmp    $0x20,%ecx
4025b8:	73 37                	jae    0x4025f1
4025ba:	01 c0                	add    %eax,%eax
4025bc:	83 c0 25             	add    $0x25,%eax
4025bf:	89 c7                	mov    %eax,%edi
4025c1:	89 d1                	mov    %edx,%ecx
4025c3:	57                   	push   %edi
4025c4:	51                   	push   %ecx
4025c5:	e8 21 10 00 00       	call   0x4035eb
4025ca:	83 c4 08             	add    $0x8,%esp
4025cd:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
4025d4:	c7 46 14 07 00 00 00 	movl   $0x7,0x14(%esi)
4025db:	66 c7 06 00 00       	movw   $0x0,(%esi)
4025e0:	8b 45 e8             	mov    -0x18(%ebp),%eax
4025e3:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4025e9:	83 c4 10             	add    $0x10,%esp
4025ec:	5e                   	pop    %esi
4025ed:	5f                   	pop    %edi
4025ee:	5b                   	pop    %ebx
4025ef:	5d                   	pop    %ebp
4025f0:	c3                   	ret
4025f1:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
4025f8:	e8 dc 4e 00 00       	call   0x4074d9
4025fd:	0f 1f 00             	nopl   (%eax)
402600:	55                   	push   %ebp
402601:	83 ec 08             	sub    $0x8,%esp
402604:	83 c5 0c             	add    $0xc,%ebp
402607:	e8 5d 24 00 00       	call   0x404a69
40260c:	cc                   	int3
40260d:	cc                   	int3
40260e:	cc                   	int3
40260f:	cc                   	int3
402610:	55                   	push   %ebp
402611:	89 e5                	mov    %esp,%ebp
402613:	53                   	push   %ebx
402614:	57                   	push   %edi
402615:	56                   	push   %esi
402616:	83 ec 10             	sub    $0x10,%esp
402619:	89 65 e4             	mov    %esp,-0x1c(%ebp)
40261c:	c7 45 f0 ff ff ff ff 	movl   $0xffffffff,-0x10(%ebp)
402623:	8d 45 e8             	lea    -0x18(%ebp),%eax
402626:	c7 45 ec e0 34 40 00 	movl   $0x4034e0,-0x14(%ebp)
40262d:	64 8b 15 00 00 00 00 	mov    %fs:0x0,%edx
402634:	89 55 e8             	mov    %edx,-0x18(%ebp)
402637:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40263d:	8b 01                	mov    (%ecx),%eax
40263f:	85 c0                	test   %eax,%eax
402641:	74 0e                	je     0x402651
402643:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
40264a:	50                   	push   %eax
40264b:	ff 15 2c 90 41 00    	call   *0x41902c
402651:	8b 45 e8             	mov    -0x18(%ebp),%eax
402654:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40265a:	83 c4 10             	add    $0x10,%esp
40265d:	5e                   	pop    %esi
40265e:	5f                   	pop    %edi
40265f:	5b                   	pop    %ebx
402660:	5d                   	pop    %ebp
402661:	c3                   	ret
402662:	66 66 66 66 66 2e 0f 	data16 data16 data16 data16 nopw %cs:0x0(%eax,%eax,1)
402669:	1f 84 00 00 00 00 00
402670:	55                   	push   %ebp
402671:	50                   	push   %eax
402672:	83 c5 0c             	add    $0xc,%ebp
402675:	e8 ef 23 00 00       	call   0x404a69
40267a:	cc                   	int3
40267b:	cc                   	int3
40267c:	cc                   	int3
40267d:	cc                   	int3
40267e:	cc                   	int3
40267f:	cc                   	int3
402680:	55                   	push   %ebp
402681:	89 e5                	mov    %esp,%ebp
402683:	53                   	push   %ebx
402684:	57                   	push   %edi
402685:	56                   	push   %esi
402686:	83 ec 10             	sub    $0x10,%esp
402689:	89 ce                	mov    %ecx,%esi
40268b:	89 65 e4             	mov    %esp,-0x1c(%ebp)
40268e:	c7 45 f0 ff ff ff ff 	movl   $0xffffffff,-0x10(%ebp)
402695:	8d 45 e8             	lea    -0x18(%ebp),%eax
402698:	c7 45 ec f0 34 40 00 	movl   $0x4034f0,-0x14(%ebp)
40269f:	64 8b 0d 00 00 00 00 	mov    %fs:0x0,%ecx
4026a6:	89 4d e8             	mov    %ecx,-0x18(%ebp)
4026a9:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4026af:	8b 0e                	mov    (%esi),%ecx
4026b1:	85 c9                	test   %ecx,%ecx
4026b3:	74 3c                	je     0x4026f1
4026b5:	8b 46 08             	mov    0x8(%esi),%eax
4026b8:	29 c8                	sub    %ecx,%eax
4026ba:	3d 00 10 00 00       	cmp    $0x1000,%eax
4026bf:	72 12                	jb     0x4026d3
4026c1:	8b 51 fc             	mov    -0x4(%ecx),%edx
4026c4:	83 c1 fc             	add    $0xfffffffc,%ecx
4026c7:	29 d1                	sub    %edx,%ecx
4026c9:	83 f9 20             	cmp    $0x20,%ecx
4026cc:	73 34                	jae    0x402702
4026ce:	83 c0 23             	add    $0x23,%eax
4026d1:	89 d1                	mov    %edx,%ecx
4026d3:	50                   	push   %eax
4026d4:	51                   	push   %ecx
4026d5:	e8 11 0f 00 00       	call   0x4035eb
4026da:	83 c4 08             	add    $0x8,%esp
4026dd:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
4026e3:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
4026ea:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
4026f1:	8b 45 e8             	mov    -0x18(%ebp),%eax
4026f4:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4026fa:	83 c4 10             	add    $0x10,%esp
4026fd:	5e                   	pop    %esi
4026fe:	5f                   	pop    %edi
4026ff:	5b                   	pop    %ebx
402700:	5d                   	pop    %ebp
402701:	c3                   	ret
402702:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)