4030f4:	c7 41 04 00 00 00 00 	movl   $0x0,0x4(%ecx)
4030fb:	83 c0 04             	add    $0x4,%eax
4030fe:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
403105:	52                   	push   %edx
403106:	50                   	push   %eax
403107:	e8 2a 1b 00 00       	call   0x404c36
40310c:	83 c4 08             	add    $0x8,%esp
40310f:	8b 45 e0             	mov    -0x20(%ebp),%eax
403112:	c7 00 d4 94 41 00    	movl   $0x4194d4,(%eax)
403118:	8b 4d e8             	mov    -0x18(%ebp),%ecx
40311b:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
403122:	83 c4 14             	add    $0x14,%esp
403125:	5e                   	pop    %esi
403126:	5f                   	pop    %edi
403127:	5b                   	pop    %ebx
403128:	5d                   	pop    %ebp
403129:	c2 04 00             	ret    $0x4
40312c:	0f 1f 40 00          	nopl   0x0(%eax)
403130:	55                   	push   %ebp
403131:	83 ec 08             	sub    $0x8,%esp
403134:	83 c5 0c             	add    $0xc,%ebp
403137:	e8 2d 19 00 00       	call   0x404a69
40313c:	cc                   	int3
40313d:	cc                   	int3
40313e:	cc                   	int3
40313f:	cc                   	int3
403140:	b8 2c 95 41 00       	mov    $0x41952c,%eax
403145:	c3                   	ret
403146:	cc                   	int3
403147:	cc                   	int3
403148:	cc                   	int3
403149:	cc                   	int3
40314a:	cc                   	int3
40314b:	cc                   	int3
40314c:	cc                   	int3
40314d:	cc                   	int3
40314e:	cc                   	int3
40314f:	cc                   	int3
403150:	55                   	push   %ebp
403151:	89 e5                	mov    %esp,%ebp
403153:	53                   	push   %ebx
403154:	57                   	push   %edi
403155:	56                   	push   %esi
403156:	83 ec 1c             	sub    $0x1c,%esp
403159:	8b 75 08             	mov    0x8(%ebp),%esi
40315c:	89 65 e4             	mov    %esp,-0x1c(%ebp)
40315f:	c7 45 f0 ff ff ff ff 	movl   $0xffffffff,-0x10(%ebp)
403166:	8d 45 e8             	lea    -0x18(%ebp),%eax
403169:	c7 45 ec a0 35 40 00 	movl   $0x4035a0,-0x14(%ebp)
403170:	64 8b 15 00 00 00 00 	mov    %fs:0x0,%edx
403177:	89 55 e8             	mov    %edx,-0x18(%ebp)
40317a:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
403180:	8b 59 10             	mov    0x10(%ecx),%ebx
403183:	b8 fe ff ff 7f       	mov    $0x7ffffffe,%eax
403188:	29 d8                	sub    %ebx,%eax
40318a:	39 f0                	cmp    %esi,%eax
40318c:	0f 82 51 01 00 00    	jb     0x4032e3
403192:	01 de                	add    %ebx,%esi
403194:	89 75 e0             	mov    %esi,-0x20(%ebp)
403197:	89 f0                	mov    %esi,%eax
403199:	83 c8 07             	or     $0x7,%eax
40319c:	3d fe ff ff 7f       	cmp    $0x7ffffffe,%eax
4031a1:	0f 87 37 01 00 00    	ja     0x4032de
4031a7:	8b 79 14             	mov    0x14(%ecx),%edi
4031aa:	89 fe                	mov    %edi,%esi
4031ac:	d1 ee                	shr    $1,%esi
4031ae:	ba fe ff ff 7f       	mov    $0x7ffffffe,%edx
4031b3:	29 f2                	sub    %esi,%edx
4031b5:	39 fa                	cmp    %edi,%edx
4031b7:	0f 82 21 01 00 00    	jb     0x4032de
4031bd:	01 fe                	add    %edi,%esi
4031bf:	39 f0                	cmp    %esi,%eax
4031c1:	0f 47 f0             	cmova  %eax,%esi
4031c4:	89 f2                	mov    %esi,%edx
4031c6:	42                   	inc    %edx
4031c7:	0f 88 11 01 00 00    	js     0x4032de
4031cd:	8d 04 12             	lea    (%edx,%edx,1),%eax
4031d0:	81 fa 00 08 00 00    	cmp    $0x800,%edx
4031d6:	89 7d d8             	mov    %edi,-0x28(%ebp)
4031d9:	72 27                	jb     0x403202
4031db:	81 fa ef ff ff 7f    	cmp    $0x7fffffef,%edx
4031e1:	0f 83 f7 00 00 00    	jae    0x4032de
4031e7:	83 c0 23             	add    $0x23,%eax
4031ea:	50                   	push   %eax
4031eb:	89 cf                	mov    %ecx,%edi
4031ed:	e8 07 04 00 00       	call   0x4035f9
4031f2:	89 f9                	mov    %edi,%ecx
4031f4:	83 c4 04             	add    $0x4,%esp
4031f7:	8d 78 23             	lea    0x23(%eax),%edi
4031fa:	83 e7 e0             	and    $0xffffffe0,%edi
4031fd:	89 47 fc             	mov    %eax,-0x4(%edi)
403200:	eb 17                	jmp    0x403219
403202:	85 d2                	test   %edx,%edx
403204:	74 11                	je     0x403217
403206:	50                   	push   %eax
403207:	89 cf                	mov    %ecx,%edi
403209:	e8 eb 03 00 00       	call   0x4035f9
40320e:	89 f9                	mov    %edi,%ecx
403210:	83 c4 04             	add    $0x4,%esp
403213:	89 c7                	mov    %eax,%edi
403215:	eb 02                	jmp    0x403219
403217:	31 ff                	xor    %edi,%edi
403219:	8b 45 e0             	mov    -0x20(%ebp),%eax
40321c:	89 41 10             	mov    %eax,0x10(%ecx)
40321f:	89 71 14             	mov    %esi,0x14(%ecx)
403222:	8b 75 d8             	mov    -0x28(%ebp),%esi
403225:	83 fe 08             	cmp    $0x8,%esi
403228:	72 5d                	jb     0x403287
40322a:	89 4d dc             	mov    %ecx,-0x24(%ebp)
40322d:	8b 09                	mov    (%ecx),%ecx
40322f:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
403232:	50                   	push   %eax
403233:	89 4d e0             	mov    %ecx,-0x20(%ebp)
403236:	51                   	push   %ecx
403237:	57                   	push   %edi
403238:	e8 f3 10 00 00       	call   0x404330
40323d:	83 c4 0c             	add    $0xc,%esp
403240:	8d 04 5f             	lea    (%edi,%ebx,2),%eax
403243:	8b 4d 14             	mov    0x14(%ebp),%ecx
403246:	01 c9                	add    %ecx,%ecx
403248:	51                   	push   %ecx
403249:	ff 75 10             	push   0x10(%ebp)
40324c:	50                   	push   %eax
40324d:	e8 de 10 00 00       	call   0x404330
403252:	83 c4 0c             	add    $0xc,%esp
403255:	03 5d 14             	add    0x14(%ebp),%ebx
403258:	66 c7 04 5f 00 00    	movw   $0x0,(%edi,%ebx,2)
40325e:	8d 0c 36             	lea    (%esi,%esi,1),%ecx
403261:	83 c1 02             	add    $0x2,%ecx
403264:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40326a:	72 4b                	jb     0x4032b7
40326c:	8b 4d e0             	mov    -0x20(%ebp),%ecx
40326f:	8b 41 fc             	mov    -0x4(%ecx),%eax
403272:	83 c1 fc             	add    $0xfffffffc,%ecx
403275:	29 c1                	sub    %eax,%ecx
403277:	83 f9 20             	cmp    $0x20,%ecx
40327a:	73 6c                	jae    0x4032e8
40327c:	89 f2                	mov    %esi,%edx
40327e:	89 f1                	mov    %esi,%ecx
403280:	01 d1                	add    %edx,%ecx
403282:	83 c1 25             	add    $0x25,%ecx
403285:	eb 33                	jmp    0x4032ba
403287:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
40328a:	50                   	push   %eax
40328b:	51                   	push   %ecx
40328c:	57                   	push   %edi
40328d:	89 ce                	mov    %ecx,%esi
40328f:	e8 9c 10 00 00       	call   0x404330
403294:	83 c4 0c             	add    $0xc,%esp
403297:	8d 04 5f             	lea    (%edi,%ebx,2),%eax
40329a:	8b 4d 14             	mov    0x14(%ebp),%ecx
40329d:	01 c9                	add    %ecx,%ecx
40329f:	51                   	push   %ecx
4032a0:	ff 75 10             	push   0x10(%ebp)
4032a3:	50                   	push   %eax
4032a4:	e8 87 10 00 00       	call   0x404330
4032a9:	83 c4 0c             	add    $0xc,%esp
4032ac:	03 5d 14             	add    0x14(%ebp),%ebx
4032af:	66 c7 04 5f 00 00    	movw   $0x0,(%edi,%ebx,2)
4032b5:	eb 10                	jmp    0x4032c7
4032b7:	8b 45 e0             	mov    -0x20(%ebp),%eax
4032ba:	51                   	push   %ecx
4032bb:	50                   	push   %eax
4032bc:	e8 2a 03 00 00       	call   0x4035eb
4032c1:	83 c4 08             	add    $0x8,%esp
4032c4:	8b 75 dc             	mov    -0x24(%ebp),%esi
4032c7:	89 3e                	mov    %edi,(%esi)
4032c9:	8b 45 e8             	mov    -0x18(%ebp),%eax
4032cc:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
4032d2:	89 f0                	mov    %esi,%eax
4032d4:	83 c4 1c             	add    $0x1c,%esp
4032d7:	5e                   	pop    %esi
4032d8:	5f                   	pop    %edi
4032d9:	5b                   	pop    %ebx
4032da:	5d                   	pop    %ebp
4032db:	c2 10 00             	ret    $0x10
4032de:	e8 bd f7 ff ff       	call   0x402aa0
4032e3:	e8 a8 f7 ff ff       	call   0x402a90
4032e8:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
4032ef:	e8 e5 41 00 00       	call   0x4074d9
4032f4:	66 66 66 2e 0f 1f 84 	data16 data16 nopw %cs:0x0(%eax,%eax,1)
4032fb:	00 00 00 00 00
403300:	55                   	push   %ebp
403301:	83 ec 0c             	sub    $0xc,%esp
403304:	83 c5 0c             	add    $0xc,%ebp
403307:	e8 5d 17 00 00       	call   0x404a69
40330c:	cc                   	int3
40330d:	cc                   	int3
40330e:	cc                   	int3
40330f:	cc                   	int3
403310:	55                   	push   %ebp
403311:	89 e5                	mov    %esp,%ebp
403313:	53                   	push   %ebx
403314:	57                   	push   %edi
403315:	56                   	push   %esi
403316:	83 ec 1c             	sub    $0x1c,%esp
403319:	8b 75 08             	mov    0x8(%ebp),%esi
40331c:	89 65 e4             	mov    %esp,-0x1c(%ebp)
40331f:	c7 45 f0 ff ff ff ff 	movl   $0xffffffff,-0x10(%ebp)
403326:	8d 45 e8             	lea    -0x18(%ebp),%eax
403329:	c7 45 ec b0 35 40 00 	movl   $0x4035b0,-0x14(%ebp)
403330:	64 8b 15 00 00 00 00 	mov    %fs:0x0,%edx
403337:	89 55 e8             	mov    %edx,-0x18(%ebp)
40333a:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
403340:	8b 79 10             	mov    0x10(%ecx),%edi
403343:	b8 fe ff ff 7f       	mov    $0x7ffffffe,%eax
403348:	29 f8                	sub    %edi,%eax
40334a:	39 f0                	cmp    %esi,%eax
40334c:	0f 82 31 01 00 00    	jb     0x403483
403352:	01 fe                	add    %edi,%esi
403354:	89 75 e0             	mov    %esi,-0x20(%ebp)
403357:	89 f0                	mov    %esi,%eax
403359:	83 c8 07             	or     $0x7,%eax
40335c:	3d fe ff ff 7f       	cmp    $0x7ffffffe,%eax
403361:	0f 87 17 01 00 00    	ja     0x40347e
403367:	8b 59 14             	mov    0x14(%ecx),%ebx
40336a:	89 de                	mov    %ebx,%esi
40336c:	d1 ee                	shr    $1,%esi
40336e:	ba fe ff ff 7f       	mov    $0x7ffffffe,%edx
403373:	29 f2                	sub    %esi,%edx
403375:	39 da                	cmp    %ebx,%edx
403377:	0f 82 01 01 00 00    	jb     0x40347e
40337d:	01 de                	add    %ebx,%esi
40337f:	39 f0                	cmp    %esi,%eax
403381:	0f 47 f0             	cmova  %eax,%esi
403384:	89 f2                	mov    %esi,%edx
403386:	42                   	inc    %edx
403387:	0f 88 f1 00 00 00    	js     0x40347e
40338d:	8d 04 12             	lea    (%edx,%edx,1),%eax
403390:	81 fa 00 08 00 00    	cmp    $0x800,%edx
403396:	89 7d dc             	mov    %edi,-0x24(%ebp)
403399:	72 27                	jb     0x4033c2
40339b:	81 fa ef ff ff 7f    	cmp    $0x7fffffef,%edx
4033a1:	0f 83 d7 00 00 00    	jae    0x40347e
4033a7:	83 c0 23             	add    $0x23,%eax
4033aa:	50                   	push   %eax
4033ab:	89 cf                	mov    %ecx,%edi
4033ad:	e8 47 02 00 00       	call   0x4035f9
4033b2:	89 f9                	mov    %edi,%ecx
4033b4:	83 c4 04             	add    $0x4,%esp
4033b7:	8d 78 23             	lea    0x23(%eax),%edi
4033ba:	83 e7 e0             	and    $0xffffffe0,%edi
4033bd:	89 47 fc             	mov    %eax,-0x4(%edi)
4033c0:	eb 17                	jmp    0x4033d9
4033c2:	85 d2                	test   %edx,%edx
4033c4:	74 11                	je     0x4033d7
4033c6:	50                   	push   %eax
4033c7:	89 cf                	mov    %ecx,%edi
4033c9:	e8 2b 02 00 00       	call   0x4035f9
4033ce:	89 f9                	mov    %edi,%ecx
4033d0:	83 c4 04             	add    $0x4,%esp
4033d3:	89 c7                	mov    %eax,%edi
4033d5:	eb 02                	jmp    0x4033d9
4033d7:	31 ff                	xor    %edi,%edi
4033d9:	8b 45 e0             	mov    -0x20(%ebp),%eax
4033dc:	89 41 10             	mov    %eax,0x10(%ecx)
4033df:	89 71 14             	mov    %esi,0x14(%ecx)
4033e2:	83 fb 08             	cmp    $0x8,%ebx
4033e5:	72 5e                	jb     0x403445
4033e7:	89 4d d8             	mov    %ecx,-0x28(%ebp)
4033ea:	8b 31                	mov    (%ecx),%esi
4033ec:	89 5d e0             	mov    %ebx,-0x20(%ebp)
4033ef:	8b 5d dc             	mov    -0x24(%ebp),%ebx
4033f2:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
4033f5:	50                   	push   %eax
4033f6:	56                   	push   %esi
4033f7:	57                   	push   %edi
4033f8:	e8 33 0f 00 00       	call   0x404330
4033fd:	83 c4 0c             	add    $0xc,%esp
403400:	0f b7 45 10          	movzwl 0x10(%ebp),%eax
403404:	66 89 04 5f          	mov    %ax,(%edi,%ebx,2)
403408:	66 c7 44 5f 02 00 00 	movw   $0x0,0x2(%edi,%ebx,2)
40340f:	8b 55 e0             	mov    -0x20(%ebp),%edx
403412:	8d 0c 12             	lea    (%edx,%edx,1),%ecx
403415:	83 c1 02             	add    $0x2,%ecx
403418:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40341e:	72 16                	jb     0x403436
403420:	8b 46 fc             	mov    -0x4(%esi),%eax
403423:	83 c6 fc             	add    $0xfffffffc,%esi
403426:	29 c6                	sub    %eax,%esi
403428:	83 fe 20             	cmp    $0x20,%esi
40342b:	73 5b                	jae    0x403488
40342d:	01 d2                	add    %edx,%edx
40342f:	83 c2 25             	add    $0x25,%edx
403432:	89 d1                	mov    %edx,%ecx
403434:	89 c6                	mov    %eax,%esi
403436:	51                   	push   %ecx
403437:	56                   	push   %esi
403438:	e8 ae 01 00 00       	call   0x4035eb
40343d:	83 c4 08             	add    $0x8,%esp
403440:	8b 75 d8             	mov    -0x28(%ebp),%esi
403443:	eb 22                	jmp    0x403467
403445:	8b 5d dc             	mov    -0x24(%ebp),%ebx
403448:	8d 04 1b             	lea    (%ebx,%ebx,1),%eax
40344b:	50                   	push   %eax
40344c:	51                   	push   %ecx
40344d:	57                   	push   %edi
40344e:	89 ce                	mov    %ecx,%esi
403450:	e8 db 0e 00 00       	call   0x404330
403455:	83 c4 0c             	add    $0xc,%esp
403458:	0f b7 45 10          	movzwl 0x10(%ebp),%eax
40345c:	66 89 04 5f          	mov    %ax,(%edi,%ebx,2)
403460:	66 c7 44 5f 02 00 00 	movw   $0x0,0x2(%edi,%ebx,2)
403467:	89 3e                	mov    %edi,(%esi)
403469:	8b 45 e8             	mov    -0x18(%ebp),%eax
40346c:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
403472:	89 f0                	mov    %esi,%eax
403474:	83 c4 1c             	add    $0x1c,%esp
403477:	5e                   	pop    %esi
403478:	5f                   	pop    %edi
403479:	5b                   	pop    %ebx
40347a:	5d                   	pop    %ebp
40347b:	c2 0c 00             	ret    $0xc
40347e:	e8 1d f6 ff ff       	call   0x402aa0
403483:	e8 08 f6 ff ff       	call   0x402a90
403488:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
40348f:	e8 45 40 00 00       	call   0x4074d9
403494:	66 66 66 2e 0f 1f 84 	data16 data16 nopw %cs:0x0(%eax,%eax,1)
40349b:	00 00 00 00 00
4034a0:	55                   	push   %ebp
4034a1:	83 ec 0c             	sub    $0xc,%esp
4034a4:	83 c5 0c             	add    $0xc,%ebp
4034a7:	e8 bd 15 00 00       	call   0x404a69
4034ac:	cc                   	int3
4034ad:	cc                   	int3
4034ae:	cc                   	int3
4034af:	cc                   	int3
4034b0:	68 40 95 41 00       	push   $0x419540
4034b5:	e8 2f 0e 00 00       	call   0x4042e9
4034ba:	cc                   	int3
4034bb:	cc                   	int3
4034bc:	cc                   	int3
4034bd:	cc                   	int3
4034be:	cc                   	int3
4034bf:	cc                   	int3
4034c0:	b8 28 f9 41 00       	mov    $0x41f928,%eax
4034c5:	e9 67 1b 00 00       	jmp    0x405031
4034ca:	cc                   	int3
4034cb:	cc                   	int3
4034cc:	cc                   	int3
4034cd:	cc                   	int3
4034ce:	cc                   	int3
4034cf:	cc                   	int3
4034d0:	b8 54 f9 41 00       	mov    $0x41f954,%eax
4034d5:	e9 57 1b 00 00       	jmp    0x405031
4034da:	cc                   	int3
4034db:	cc                   	int3
4034dc:	cc                   	int3
4034dd:	cc                   	int3
4034de:	cc                   	int3