4031eb:	89 46 4c             	mov    %eax,0x4c(%esi)
4031ee:	33 c0                	xor    %eax,%eax
4031f0:	6a 06                	push   $0x6
4031f2:	59                   	pop    %ecx
4031f3:	89 56 28             	mov    %edx,0x28(%esi)
4031f6:	f3 ab                	rep stos %eax,%es:(%edi)
4031f8:	8b 3d 40 d5 40 00    	mov    0x40d540,%edi
4031fe:	85 ff                	test   %edi,%edi
403200:	74 0a                	je     0x40320c
403202:	8b cf                	mov    %edi,%ecx
403204:	ff 15 f0 e1 40 00    	call   *0x40e1f0
40320a:	ff d7                	call   *%edi
40320c:	8b 3d 1c d5 40 00    	mov    0x40d51c,%edi
403212:	89 46 44             	mov    %eax,0x44(%esi)
403215:	85 ff                	test   %edi,%edi
403217:	74 13                	je     0x40322c
403219:	68 00 04 00 00       	push   $0x400
40321e:	ff 75 e0             	push   -0x20(%ebp)
403221:	8b cf                	mov    %edi,%ecx
403223:	56                   	push   %esi
403224:	ff 15 f0 e1 40 00    	call   *0x40e1f0
40322a:	ff d7                	call   *%edi
40322c:	8b 3d 14 d5 40 00    	mov    0x40d514,%edi
403232:	85 ff                	test   %edi,%edi
403234:	74 0b                	je     0x403241
403236:	56                   	push   %esi
403237:	8b cf                	mov    %edi,%ecx
403239:	ff 15 f0 e1 40 00    	call   *0x40e1f0
40323f:	ff d7                	call   *%edi
403241:	8b 3d 30 d5 40 00    	mov    0x40d530,%edi
403247:	85 ff                	test   %edi,%edi
403249:	74 0b                	je     0x403256
40324b:	56                   	push   %esi
40324c:	8b cf                	mov    %edi,%ecx
40324e:	ff 15 f0 e1 40 00    	call   *0x40e1f0
403254:	ff d7                	call   *%edi
403256:	33 c0                	xor    %eax,%eax
403258:	39 46 04             	cmp    %eax,0x4(%esi)
40325b:	7c 11                	jl     0x40326e
40325d:	83 7d 18 03          	cmpl   $0x3,0x18(%ebp)
403261:	0f 85 bc 00 00 00    	jne    0x403323
403267:	c7 46 04 ff ff 00 80 	movl   $0x8000ffff,0x4(%esi)
40326e:	38 05 fc d4 40 00    	cmp    %al,0x40d4fc
403274:	75 4a                	jne    0x4032c0
403276:	8b 3d f4 d4 40 00    	mov    0x40d4f4,%edi
40327c:	85 ff                	test   %edi,%edi
40327e:	74 0f                	je     0x40328f
403280:	8b cf                	mov    %edi,%ecx
403282:	ff 15 f0 e1 40 00    	call   *0x40e1f0
403288:	ff d7                	call   *%edi
40328a:	0f b6 c0             	movzbl %al,%eax
40328d:	eb 0c                	jmp    0x40329b
40328f:	ff 15 30 e0 40 00    	call   *0x40e030
403295:	f7 d8                	neg    %eax
403297:	1b c0                	sbb    %eax,%eax
403299:	f7 d8                	neg    %eax
40329b:	85 c0                	test   %eax,%eax
40329d:	75 21                	jne    0x4032c0
40329f:	8b 3d 00 d5 40 00    	mov    0x40d500,%edi
4032a5:	85 ff                	test   %edi,%edi
4032a7:	74 56                	je     0x4032ff
4032a9:	38 05 0c d5 40 00    	cmp    %al,0x40d50c
4032af:	75 4e                	jne    0x4032ff
4032b1:	50                   	push   %eax
4032b2:	50                   	push   %eax
4032b3:	56                   	push   %esi
4032b4:	8b cf                	mov    %edi,%ecx
4032b6:	ff 15 f0 e1 40 00    	call   *0x40e1f0
4032bc:	ff d7                	call   *%edi
4032be:	eb 3f                	jmp    0x4032ff
4032c0:	8b 3d 00 d5 40 00    	mov    0x40d500,%edi
4032c6:	85 ff                	test   %edi,%edi
4032c8:	74 1a                	je     0x4032e4
4032ca:	80 3d 0c d5 40 00 00 	cmpb   $0x0,0x40d50c
4032d1:	75 11                	jne    0x4032e4
4032d3:	68 00 08 00 00       	push   $0x800
4032d8:	53                   	push   %ebx
4032d9:	56                   	push   %esi
4032da:	8b cf                	mov    %edi,%ecx
4032dc:	ff 15 f0 e1 40 00    	call   *0x40e1f0
4032e2:	ff d7                	call   *%edi
4032e4:	33 c0                	xor    %eax,%eax
4032e6:	66 39 03             	cmp    %ax,(%ebx)
4032e9:	75 0d                	jne    0x4032f8
4032eb:	56                   	push   %esi
4032ec:	ba 00 08 00 00       	mov    $0x800,%edx
4032f1:	8b cb                	mov    %ebx,%ecx
4032f3:	e8 ad f4 ff ff       	call   0x4027a5
4032f8:	53                   	push   %ebx
4032f9:	ff 15 34 e0 40 00    	call   *0x40e034
4032ff:	80 3d 04 d5 40 00 00 	cmpb   $0x0,0x40d504
403306:	74 14                	je     0x40331c
403308:	8b 35 24 d5 40 00    	mov    0x40d524,%esi
40330e:	85 f6                	test   %esi,%esi
403310:	74 0a                	je     0x40331c
403312:	8b ce                	mov    %esi,%ecx
403314:	ff 15 f0 e1 40 00    	call   *0x40e1f0
40331a:	ff d6                	call   *%esi
40331c:	5f                   	pop    %edi
40331d:	5e                   	pop    %esi
40331e:	5b                   	pop    %ebx
40331f:	c9                   	leave
403320:	c2 34 00             	ret    $0x34
403323:	e8 7c 02 00 00       	call   0x4035a4
403328:	cc                   	int3
403329:	8b ff                	mov    %edi,%edi
40332b:	55                   	push   %ebp
40332c:	8b ec                	mov    %esp,%ebp
40332e:	83 ec 50             	sub    $0x50,%esp
403331:	56                   	push   %esi
403332:	57                   	push   %edi
403333:	8b 3d 44 d5 40 00    	mov    0x40d544,%edi
403339:	8b f1                	mov    %ecx,%esi
40333b:	85 ff                	test   %edi,%edi
40333d:	74 0b                	je     0x40334a
40333f:	56                   	push   %esi
403340:	8b cf                	mov    %edi,%ecx
403342:	ff 15 f0 e1 40 00    	call   *0x40e1f0
403348:	ff d7                	call   *%edi
40334a:	6a 50                	push   $0x50
40334c:	8d 45 b0             	lea    -0x50(%ebp),%eax
40334f:	6a 00                	push   $0x0
403351:	50                   	push   %eax
403352:	e8 54 75 00 00       	call   0x40a8ab
403357:	8b 4e 48             	mov    0x48(%esi),%ecx
40335a:	33 c0                	xor    %eax,%eax
40335c:	40                   	inc    %eax
40335d:	c7 45 b0 09 04 00 c0 	movl   $0xc0000409,-0x50(%ebp)
403364:	83 c4 0c             	add    $0xc,%esp
403367:	89 45 c0             	mov    %eax,-0x40(%ebp)
40336a:	89 45 b4             	mov    %eax,-0x4c(%ebp)
40336d:	c7 45 c4 07 00 00 00 	movl   $0x7,-0x3c(%ebp)
403374:	85 c9                	test   %ecx,%ecx
403376:	75 09                	jne    0x403381
403378:	50                   	push   %eax
403379:	8d 4d b0             	lea    -0x50(%ebp),%ecx
40337c:	e8 83 f7 ff ff       	call   0x402b04
403381:	8b 46 04             	mov    0x4(%esi),%eax
403384:	89 45 c8             	mov    %eax,-0x38(%ebp)
403387:	8b 46 20             	mov    0x20(%esi),%eax
40338a:	c7 45 c0 03 00 00 00 	movl   $0x3,-0x40(%ebp)
403391:	89 45 cc             	mov    %eax,-0x34(%ebp)
403394:	89 4d bc             	mov    %ecx,-0x44(%ebp)
403397:	6a 00                	push   $0x0
403399:	eb de                	jmp    0x403379
40339b:	8b ff                	mov    %edi,%edi
40339d:	55                   	push   %ebp
40339e:	8b ec                	mov    %esp,%ebp
4033a0:	83 e4 f8             	and    $0xfffffff8,%esp
4033a3:	b8 64 14 00 00       	mov    $0x1464,%eax
4033a8:	e8 e3 78 00 00       	call   0x40ac90
4033ad:	a1 50 d1 40 00       	mov    0x40d150,%eax
4033b2:	33 c4                	xor    %esp,%eax
4033b4:	89 84 24 60 14 00 00 	mov    %eax,0x1460(%esp)
4033bb:	83 7d 18 00          	cmpl   $0x0,0x18(%ebp)
4033bf:	8b 45 08             	mov    0x8(%ebp),%eax
4033c2:	53                   	push   %ebx
4033c3:	8b 5d 10             	mov    0x10(%ebp),%ebx
4033c6:	56                   	push   %esi
4033c7:	89 5c 24 10          	mov    %ebx,0x10(%esp)
4033cb:	8b 5d 14             	mov    0x14(%ebp),%ebx
4033ce:	57                   	push   %edi
4033cf:	8b 7d 0c             	mov    0xc(%ebp),%edi
4033d2:	89 5c 24 10          	mov    %ebx,0x10(%esp)
4033d6:	75 0d                	jne    0x4033e5
4033d8:	83 3d 28 d5 40 00 00 	cmpl   $0x0,0x40d528
4033df:	74 04                	je     0x4033e5
4033e1:	b3 01                	mov    $0x1,%bl
4033e3:	eb 02                	jmp    0x4033e7
4033e5:	32 db                	xor    %bl,%bl
4033e7:	8d 74 24 18          	lea    0x18(%esp),%esi
4033eb:	56                   	push   %esi
4033ec:	51                   	push   %ecx
4033ed:	8d 74 24 70          	lea    0x70(%esp),%esi
4033f1:	56                   	push   %esi
4033f2:	51                   	push   %ecx
4033f3:	8d b4 24 78 04 00 00 	lea    0x478(%esp),%esi
4033fa:	56                   	push   %esi
4033fb:	8b 75 18             	mov    0x18(%ebp),%esi
4033fe:	51                   	push   %ecx
4033ff:	6a 00                	push   $0x0
403401:	ff 75 1c             	push   0x1c(%ebp)
403404:	56                   	push   %esi
403405:	ff 74 24 34          	push   0x34(%esp)
403409:	ff 74 24 3c          	push   0x3c(%esp)
40340d:	57                   	push   %edi
40340e:	50                   	push   %eax
40340f:	e8 dc fc ff ff       	call   0x4030f0
403414:	83 fe 03             	cmp    $0x3,%esi
403417:	74 4b                	je     0x403464
403419:	85 f6                	test   %esi,%esi
40341b:	75 30                	jne    0x40344d
40341d:	84 db                	test   %bl,%bl
40341f:	74 1d                	je     0x40343e
403421:	8b 35 28 d5 40 00    	mov    0x40d528,%esi
403427:	8d 84 24 68 04 00 00 	lea    0x468(%esp),%eax
40342e:	50                   	push   %eax
40342f:	8d 44 24 1c          	lea    0x1c(%esp),%eax
403433:	8b ce                	mov    %esi,%ecx
403435:	50                   	push   %eax
403436:	ff 15 f0 e1 40 00    	call   *0x40e1f0
40343c:	ff d6                	call   *%esi
40343e:	8d 4c 24 18          	lea    0x18(%esp),%ecx
403442:	e8 f0 fb ff ff       	call   0x403037
403447:	8d 4c 24 18          	lea    0x18(%esp),%ecx
40344b:	eb 1b                	jmp    0x403468
40344d:	8b 8c 24 6c 14 00 00 	mov    0x146c(%esp),%ecx
403454:	5f                   	pop    %edi
403455:	5e                   	pop    %esi
403456:	5b                   	pop    %ebx
403457:	33 cc                	xor    %esp,%ecx
403459:	e8 02 6a 00 00       	call   0x409e60
40345e:	8b e5                	mov    %ebp,%esp
403460:	5d                   	pop    %ebp
403461:	c2 20 00             	ret    $0x20
403464:	8d 4c 24 18          	lea    0x18(%esp),%ecx
403468:	e8 bc fe ff ff       	call   0x403329
40346d:	cc                   	int3
40346e:	8b ff                	mov    %edi,%edi
403470:	55                   	push   %ebp
403471:	8b ec                	mov    %esp,%ebp
403473:	83 e4 f8             	and    $0xfffffff8,%esp
403476:	51                   	push   %ecx
403477:	51                   	push   %ecx
403478:	ff 75 1c             	push   0x1c(%ebp)
40347b:	ff 75 18             	push   0x18(%ebp)
40347e:	ff 75 14             	push   0x14(%ebp)
403481:	ff 75 10             	push   0x10(%ebp)
403484:	ff 75 0c             	push   0xc(%ebp)
403487:	ff 75 08             	push   0x8(%ebp)
40348a:	e8 0c ff ff ff       	call   0x40339b
40348f:	8b e5                	mov    %ebp,%esp
403491:	5d                   	pop    %ebp
403492:	c2 18 00             	ret    $0x18
403495:	8b ff                	mov    %edi,%edi
403497:	55                   	push   %ebp
403498:	8b ec                	mov    %esp,%ebp
40349a:	53                   	push   %ebx
40349b:	56                   	push   %esi
40349c:	57                   	push   %edi
40349d:	ff 75 14             	push   0x14(%ebp)
4034a0:	8b fa                	mov    %edx,%edi
4034a2:	8b d9                	mov    %ecx,%ebx
4034a4:	51                   	push   %ecx
4034a5:	51                   	push   %ecx
4034a6:	68 b8 16 40 00       	push   $0x4016b8
4034ab:	e8 db f7 ff ff       	call   0x402c8b
4034b0:	8b f0                	mov    %eax,%esi
4034b2:	85 f6                	test   %esi,%esi
4034b4:	7f 04                	jg     0x4034ba
4034b6:	8b ce                	mov    %esi,%ecx
4034b8:	eb 09                	jmp    0x4034c3
4034ba:	0f b7 ce             	movzwl %si,%ecx
4034bd:	81 c9 00 00 07 80    	or     $0x80070000,%ecx
4034c3:	51                   	push   %ecx
4034c4:	51                   	push   %ecx
4034c5:	51                   	push   %ecx
4034c6:	6a 03                	push   $0x3
4034c8:	ff 75 14             	push   0x14(%ebp)
4034cb:	8b d7                	mov    %edi,%edx
4034cd:	8b cb                	mov    %ebx,%ecx
4034cf:	6a 00                	push   $0x0
4034d1:	6a 00                	push   $0x0
4034d3:	68 b8 16 40 00       	push   $0x4016b8
4034d8:	e8 be fe ff ff       	call   0x40339b
4034dd:	5f                   	pop    %edi
4034de:	8b c6                	mov    %esi,%eax
4034e0:	5e                   	pop    %esi
4034e1:	5b                   	pop    %ebx
4034e2:	5d                   	pop    %ebp
4034e3:	c2 14 00             	ret    $0x14
4034e6:	8b ff                	mov    %edi,%edi
4034e8:	55                   	push   %ebp
4034e9:	8b ec                	mov    %esp,%ebp
4034eb:	53                   	push   %ebx
4034ec:	56                   	push   %esi
4034ed:	57                   	push   %edi
4034ee:	ff 75 14             	push   0x14(%ebp)
4034f1:	8b fa                	mov    %edx,%edi
4034f3:	8b d9                	mov    %ecx,%ebx
4034f5:	51                   	push   %ecx
4034f6:	51                   	push   %ecx
4034f7:	68 b4 16 40 00       	push   $0x4016b4
4034fc:	e8 8a f7 ff ff       	call   0x402c8b
403501:	8b f0                	mov    %eax,%esi
403503:	85 f6                	test   %esi,%esi
403505:	7e 09                	jle    0x403510
403507:	0f b7 f6             	movzwl %si,%esi
40350a:	81 ce 00 00 07 80    	or     $0x80070000,%esi
403510:	51                   	push   %ecx
403511:	51                   	push   %ecx
403512:	56                   	push   %esi
403513:	6a 01                	push   $0x1
403515:	ff 75 14             	push   0x14(%ebp)
403518:	8b d7                	mov    %edi,%edx
40351a:	8b cb                	mov    %ebx,%ecx
40351c:	6a 00                	push   $0x0
40351e:	6a 00                	push   $0x0
403520:	68 b4 16 40 00       	push   $0x4016b4
403525:	e8 71 fe ff ff       	call   0x40339b
40352a:	5f                   	pop    %edi
40352b:	8b c6                	mov    %esi,%eax
40352d:	5e                   	pop    %esi
40352e:	5b                   	pop    %ebx
40352f:	5d                   	pop    %ebp
403530:	c2 14 00             	ret    $0x14
403533:	8b ff                	mov    %edi,%edi
403535:	55                   	push   %ebp
403536:	8b ec                	mov    %esp,%ebp
403538:	ff 75 0c             	push   0xc(%ebp)
40353b:	6a 01                	push   $0x1
40353d:	ff 75 04             	push   0x4(%ebp)
403540:	6a 00                	push   $0x0
403542:	6a 00                	push   $0x0
403544:	68 b4 16 40 00       	push   $0x4016b4
403549:	e8 20 ff ff ff       	call   0x40346e
40354e:	5d                   	pop    %ebp
40354f:	c2 08 00             	ret    $0x8
403552:	8b ff                	mov    %edi,%edi
403554:	55                   	push   %ebp
403555:	8b ec                	mov    %esp,%ebp
403557:	51                   	push   %ecx
403558:	51                   	push   %ecx
403559:	ff 75 04             	push   0x4(%ebp)
40355c:	83 ec 0c             	sub    $0xc,%esp
40355f:	e8 82 ff ff ff       	call   0x4034e6
403564:	59                   	pop    %ecx
403565:	5d                   	pop    %ebp
403566:	c2 04 00             	ret    $0x4
403569:	8b ff                	mov    %edi,%edi
40356b:	55                   	push   %ebp
40356c:	8b ec                	mov    %esp,%ebp
40356e:	51                   	push   %ecx
40356f:	ff 75 04             	push   0x4(%ebp)
403572:	83 ec 0c             	sub    $0xc,%esp
403575:	e8 1b ff ff ff       	call   0x403495
40357a:	5d                   	pop    %ebp
40357b:	c2 04 00             	ret    $0x4
40357e:	8b ff                	mov    %edi,%edi
403580:	55                   	push   %ebp
403581:	8b ec                	mov    %esp,%ebp
403583:	68 ff ff 00 80       	push   $0x8000ffff
403588:	6a 03                	push   $0x3
40358a:	ff 75 04             	push   0x4(%ebp)
40358d:	ba 4c 0b 00 00       	mov    $0xb4c,%edx
403592:	6a 00                	push   $0x0
403594:	6a 00                	push   $0x0
403596:	68 b8 16 40 00       	push   $0x4016b8
40359b:	e8 ce fe ff ff       	call   0x40346e
4035a0:	5d                   	pop    %ebp