4050f6:	8b c6                	mov    %esi,%eax
4050f8:	5e                   	pop    %esi
4050f9:	5d                   	pop    %ebp
4050fa:	5b                   	pop    %ebx
4050fb:	81 c4 28 08 00 00    	add    $0x828,%esp
405101:	c3                   	ret
405102:	8d 54 24 10          	lea    0x10(%esp),%edx
405106:	52                   	push   %edx
405107:	50                   	push   %eax
405108:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
40510c:	51                   	push   %ecx
40510d:	50                   	push   %eax
40510e:	50                   	push   %eax
40510f:	6a 04                	push   $0x4
405111:	6a 01                	push   $0x1
405113:	8d 94 24 4c 06 00 00 	lea    0x64c(%esp),%edx
40511a:	52                   	push   %edx
40511b:	89 44 24 30          	mov    %eax,0x30(%esp)
40511f:	89 44 24 34          	mov    %eax,0x34(%esp)
405123:	ff d5                	call   *%ebp
405125:	8b f0                	mov    %eax,%esi
405127:	85 f6                	test   %esi,%esi
405129:	75 ca                	jne    0x4050f5
40512b:	50                   	push   %eax
40512c:	8b 44 24 18          	mov    0x18(%esp),%eax
405130:	50                   	push   %eax
405131:	56                   	push   %esi
405132:	56                   	push   %esi
405133:	68 04 00 00 80       	push   $0x80000004
405138:	6a 01                	push   $0x1
40513a:	8d 8c 24 38 02 00 00 	lea    0x238(%esp),%ecx
405141:	51                   	push   %ecx
405142:	ff d7                	call   *%edi
405144:	8b 54 24 10          	mov    0x10(%esp),%edx
405148:	52                   	push   %edx
405149:	8b f0                	mov    %eax,%esi
40514b:	ff d3                	call   *%ebx
40514d:	85 f6                	test   %esi,%esi
40514f:	75 a4                	jne    0x4050f5
405151:	8d 44 24 18          	lea    0x18(%esp),%eax
405155:	50                   	push   %eax
405156:	e8 05 e0 ff ff       	call   0x403160
40515b:	83 c4 04             	add    $0x4,%esp
40515e:	5f                   	pop    %edi
40515f:	5e                   	pop    %esi
405160:	5d                   	pop    %ebp
405161:	5b                   	pop    %ebx
405162:	81 c4 28 08 00 00    	add    $0x828,%esp
405168:	c3                   	ret
405169:	cc                   	int3
40516a:	cc                   	int3
40516b:	cc                   	int3
40516c:	cc                   	int3
40516d:	cc                   	int3
40516e:	cc                   	int3
40516f:	cc                   	int3
405170:	53                   	push   %ebx
405171:	56                   	push   %esi
405172:	8b 74 24 10          	mov    0x10(%esp),%esi
405176:	8b c6                	mov    %esi,%eax
405178:	57                   	push   %edi
405179:	8d 50 01             	lea    0x1(%eax),%edx
40517c:	8d 64 24 00          	lea    0x0(%esp),%esp
405180:	8a 08                	mov    (%eax),%cl
405182:	40                   	inc    %eax
405183:	84 c9                	test   %cl,%cl
405185:	75 f9                	jne    0x405180
405187:	2b c2                	sub    %edx,%eax
405189:	40                   	inc    %eax
40518a:	50                   	push   %eax
40518b:	e8 86 b8 02 00       	call   0x430a16
405190:	8b f8                	mov    %eax,%edi
405192:	8b c6                	mov    %esi,%eax
405194:	83 c4 04             	add    $0x4,%esp
405197:	8d 50 01             	lea    0x1(%eax),%edx
40519a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
4051a0:	8a 08                	mov    (%eax),%cl
4051a2:	40                   	inc    %eax
4051a3:	84 c9                	test   %cl,%cl
4051a5:	75 f9                	jne    0x4051a0
4051a7:	8b 5c 24 10          	mov    0x10(%esp),%ebx
4051ab:	2b c2                	sub    %edx,%eax
4051ad:	6a 00                	push   $0x0
4051af:	40                   	inc    %eax
4051b0:	50                   	push   %eax
4051b1:	57                   	push   %edi
4051b2:	53                   	push   %ebx
4051b3:	e8 98 e5 ff ff       	call   0x403750
4051b8:	83 c4 10             	add    $0x10,%esp
4051bb:	85 c0                	test   %eax,%eax
4051bd:	75 48                	jne    0x405207
4051bf:	8b cf                	mov    %edi,%ecx
4051c1:	8b c6                	mov    %esi,%eax
4051c3:	8a 10                	mov    (%eax),%dl
4051c5:	3a 11                	cmp    (%ecx),%dl
4051c7:	75 1a                	jne    0x4051e3
4051c9:	84 d2                	test   %dl,%dl
4051cb:	74 12                	je     0x4051df
4051cd:	8a 50 01             	mov    0x1(%eax),%dl
4051d0:	3a 51 01             	cmp    0x1(%ecx),%dl
4051d3:	75 0e                	jne    0x4051e3
4051d5:	83 c0 02             	add    $0x2,%eax
4051d8:	83 c1 02             	add    $0x2,%ecx
4051db:	84 d2                	test   %dl,%dl
4051dd:	75 e4                	jne    0x4051c3
4051df:	33 c0                	xor    %eax,%eax
4051e1:	eb 05                	jmp    0x4051e8
4051e3:	1b c0                	sbb    %eax,%eax
4051e5:	83 d8 ff             	sbb    $0xffffffff,%eax
4051e8:	85 c0                	test   %eax,%eax
4051ea:	75 1b                	jne    0x405207
4051ec:	8b 44 24 18          	mov    0x18(%esp),%eax
4051f0:	57                   	push   %edi
4051f1:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
4051f7:	33 f6                	xor    %esi,%esi
4051f9:	e8 9f b7 02 00       	call   0x43099d
4051fe:	83 c4 04             	add    $0x4,%esp
405201:	5f                   	pop    %edi
405202:	8b c6                	mov    %esi,%eax
405204:	5e                   	pop    %esi
405205:	5b                   	pop    %ebx
405206:	c3                   	ret
405207:	8b 4c 24 18          	mov    0x18(%esp),%ecx
40520b:	6a 01                	push   $0x1
40520d:	56                   	push   %esi
40520e:	53                   	push   %ebx
40520f:	c7 01 01 00 00 00    	movl   $0x1,(%ecx)
405215:	e8 26 e4 ff ff       	call   0x403640
40521a:	83 c4 0c             	add    $0xc,%esp
40521d:	57                   	push   %edi
40521e:	8b f0                	mov    %eax,%esi
405220:	e8 78 b7 02 00       	call   0x43099d
405225:	83 c4 04             	add    $0x4,%esp
405228:	5f                   	pop    %edi
405229:	8b c6                	mov    %esi,%eax
40522b:	5e                   	pop    %esi
40522c:	5b                   	pop    %ebx
40522d:	c3                   	ret
40522e:	cc                   	int3
40522f:	cc                   	int3
405230:	51                   	push   %ecx
405231:	8b 0d 48 07 47 00    	mov    0x470748,%ecx
405237:	85 c9                	test   %ecx,%ecx
405239:	75 13                	jne    0x40524e
40523b:	68 60 c0 45 00       	push   $0x45c060
405240:	ff 15 38 34 47 00    	call   *0x473438
405246:	8b c8                	mov    %eax,%ecx
405248:	89 0d 48 07 47 00    	mov    %ecx,0x470748
40524e:	a1 4c 07 47 00       	mov    0x47074c,%eax
405253:	85 c0                	test   %eax,%eax
405255:	75 1d                	jne    0x405274
405257:	85 c9                	test   %ecx,%ecx
405259:	74 15                	je     0x405270
40525b:	68 50 c0 45 00       	push   $0x45c050
405260:	51                   	push   %ecx
405261:	ff 15 34 34 47 00    	call   *0x473434
405267:	a3 4c 07 47 00       	mov    %eax,0x47074c
40526c:	85 c0                	test   %eax,%eax
40526e:	75 04                	jne    0x405274
405270:	32 c0                	xor    %al,%al
405272:	59                   	pop    %ecx
405273:	c3                   	ret
405274:	8b 54 24 08          	mov    0x8(%esp),%edx
405278:	8d 0c 24             	lea    (%esp),%ecx
40527b:	51                   	push   %ecx
40527c:	52                   	push   %edx
40527d:	ff d0                	call   *%eax
40527f:	85 c0                	test   %eax,%eax
405281:	74 ed                	je     0x405270
405283:	33 c0                	xor    %eax,%eax
405285:	39 04 24             	cmp    %eax,(%esp)
405288:	0f 95 c0             	setne  %al
40528b:	59                   	pop    %ecx
40528c:	c3                   	ret
40528d:	cc                   	int3
40528e:	cc                   	int3
40528f:	cc                   	int3
405290:	8b 44 24 08          	mov    0x8(%esp),%eax
405294:	81 38 58 ae d2 b1    	cmpl   $0xb1d2ae58,(%eax)
40529a:	75 21                	jne    0x4052bd
40529c:	81 78 04 56 c3 50 ca 	cmpl   $0xca50c356,0x4(%eax)
4052a3:	75 18                	jne    0x4052bd
4052a5:	81 78 08 89 00 00 63 	cmpl   $0x63000089,0x8(%eax)
4052ac:	75 0f                	jne    0x4052bd
4052ae:	81 78 0c f0 98 a8 3f 	cmpl   $0x3fa898f0,0xc(%eax)
4052b5:	75 06                	jne    0x4052bd
4052b7:	b8 01 00 00 00       	mov    $0x1,%eax
4052bc:	c3                   	ret
4052bd:	33 c0                	xor    %eax,%eax
4052bf:	c3                   	ret
4052c0:	83 ec 08             	sub    $0x8,%esp
4052c3:	80 7c 24 10 00       	cmpb   $0x0,0x10(%esp)
4052c8:	53                   	push   %ebx
4052c9:	55                   	push   %ebp
4052ca:	8b 2d 28 34 47 00    	mov    0x473428,%ebp
4052d0:	57                   	push   %edi
4052d1:	0f 84 b6 00 00 00    	je     0x40538d
4052d7:	6a ff                	push   $0xffffffff
4052d9:	e8 52 ff ff ff       	call   0x405230
4052de:	83 c4 04             	add    $0x4,%esp
4052e1:	84 c0                	test   %al,%al
4052e3:	0f 84 6b 01 00 00    	je     0x405454
4052e9:	68 d0 c8 45 00       	push   $0x45c8d0
4052ee:	68 b4 be 45 00       	push   $0x45beb4
4052f3:	e8 c8 a1 02 00       	call   0x42f4c0
4052f8:	83 c4 04             	add    $0x4,%esp
4052fb:	52                   	push   %edx
4052fc:	50                   	push   %eax
4052fd:	e8 fe a1 02 00       	call   0x42f500
405302:	8b da                	mov    %edx,%ebx
405304:	83 c4 0c             	add    $0xc,%esp
405307:	8b f8                	mov    %eax,%edi
405309:	0b c3                	or     %ebx,%eax
40530b:	0f 84 43 01 00 00    	je     0x405454
405311:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
405315:	51                   	push   %ecx
405316:	6a 05                	push   $0x5
405318:	8d 54 24 14          	lea    0x14(%esp),%edx
40531c:	52                   	push   %edx
40531d:	53                   	push   %ebx
40531e:	57                   	push   %edi
40531f:	56                   	push   %esi
405320:	e8 2b 9b 02 00       	call   0x42ee50
405325:	83 c4 18             	add    $0x18,%esp
405328:	85 c0                	test   %eax,%eax
40532a:	0f 88 24 01 00 00    	js     0x405454
405330:	83 7c 24 1c 05       	cmpl   $0x5,0x1c(%esp)
405335:	0f 85 19 01 00 00    	jne    0x405454
40533b:	80 7c 24 0c e9       	cmpb   $0xe9,0xc(%esp)
405340:	74 0c                	je     0x40534e
405342:	5f                   	pop    %edi
405343:	5d                   	pop    %ebp
405344:	b8 01 00 00 00       	mov    $0x1,%eax
405349:	5b                   	pop    %ebx
40534a:	83 c4 08             	add    $0x8,%esp
40534d:	c3                   	ret
40534e:	8b 44 24 0d          	mov    0xd(%esp),%eax
405352:	99                   	cltd
405353:	03 c7                	add    %edi,%eax
405355:	8d 4c 24 1c          	lea    0x1c(%esp),%ecx
405359:	51                   	push   %ecx
40535a:	13 d3                	adc    %ebx,%edx
40535c:	6a 08                	push   $0x8
40535e:	83 c0 fd             	add    $0xfffffffd,%eax
405361:	8d 4c 24 14          	lea    0x14(%esp),%ecx
405365:	51                   	push   %ecx
405366:	83 d2 ff             	adc    $0xffffffff,%edx
405369:	52                   	push   %edx
40536a:	50                   	push   %eax
40536b:	56                   	push   %esi
40536c:	e8 df 9a 02 00       	call   0x42ee50
405371:	83 c4 18             	add    $0x18,%esp
405374:	85 c0                	test   %eax,%eax
405376:	0f 88 d8 00 00 00    	js     0x405454
40537c:	83 7c 24 1c 08       	cmpl   $0x8,0x1c(%esp)
405381:	0f 85 cd 00 00 00    	jne    0x405454
405387:	8b 44 24 0c          	mov    0xc(%esp),%eax
40538b:	eb 7b                	jmp    0x405408
40538d:	68 d0 c8 45 00       	push   $0x45c8d0
405392:	68 b4 be 45 00       	push   $0x45beb4
405397:	ff 15 38 34 47 00    	call   *0x473438
40539d:	50                   	push   %eax
40539e:	ff 15 34 34 47 00    	call   *0x473434
4053a4:	8b f8                	mov    %eax,%edi
4053a6:	85 ff                	test   %edi,%edi
4053a8:	0f 84 a6 00 00 00    	je     0x405454
4053ae:	8d 54 24 1c          	lea    0x1c(%esp),%edx
4053b2:	52                   	push   %edx
4053b3:	bb 05 00 00 00       	mov    $0x5,%ebx
4053b8:	53                   	push   %ebx
4053b9:	8d 44 24 14          	lea    0x14(%esp),%eax
4053bd:	50                   	push   %eax
4053be:	57                   	push   %edi
4053bf:	56                   	push   %esi
4053c0:	ff d5                	call   *%ebp
4053c2:	85 c0                	test   %eax,%eax
4053c4:	0f 84 8a 00 00 00    	je     0x405454
4053ca:	39 5c 24 1c          	cmp    %ebx,0x1c(%esp)
4053ce:	0f 85 80 00 00 00    	jne    0x405454
4053d4:	80 7c 24 0c e9       	cmpb   $0xe9,0xc(%esp)
4053d9:	0f 85 63 ff ff ff    	jne    0x405342
4053df:	8b 4c 24 0d          	mov    0xd(%esp),%ecx
4053e3:	8d 54 24 1c          	lea    0x1c(%esp),%edx
4053e7:	52                   	push   %edx
4053e8:	53                   	push   %ebx
4053e9:	8d 44 24 14          	lea    0x14(%esp),%eax
4053ed:	50                   	push   %eax
4053ee:	8d 7c 0f 05          	lea    0x5(%edi,%ecx,1),%edi
4053f2:	57                   	push   %edi
4053f3:	56                   	push   %esi
4053f4:	ff d5                	call   *%ebp
4053f6:	85 c0                	test   %eax,%eax
4053f8:	74 5a                	je     0x405454
4053fa:	39 5c 24 1c          	cmp    %ebx,0x1c(%esp)
4053fe:	75 54                	jne    0x405454
405400:	8b 4c 24 0d          	mov    0xd(%esp),%ecx
405404:	8d 44 0f 05          	lea    0x5(%edi,%ecx,1),%eax
405408:	25 00 f0 ff ff       	and    $0xfffff000,%eax
40540d:	85 c0                	test   %eax,%eax
40540f:	74 43                	je     0x405454
405411:	8b 7c 24 18          	mov    0x18(%esp),%edi
405415:	8d 54 24 1c          	lea    0x1c(%esp),%edx
405419:	52                   	push   %edx
40541a:	68 2c 08 00 00       	push   $0x82c
40541f:	57                   	push   %edi
405420:	50                   	push   %eax
405421:	56                   	push   %esi
405422:	ff d5                	call   *%ebp
405424:	85 c0                	test   %eax,%eax
405426:	0f 84 16 ff ff ff    	je     0x405342
40542c:	81 7c 24 1c 2c 08 00 	cmpl   $0x82c,0x1c(%esp)
405433:	00
405434:	0f 85 08 ff ff ff    	jne    0x405342
40543a:	57                   	push   %edi
40543b:	56                   	push   %esi
40543c:	e8 4f fe ff ff       	call   0x405290
405441:	83 c4 08             	add    $0x8,%esp
405444:	33 c9                	xor    %ecx,%ecx
405446:	84 c0                	test   %al,%al
405448:	0f 94 c1             	sete   %cl
40544b:	5f                   	pop    %edi
40544c:	5d                   	pop    %ebp
40544d:	5b                   	pop    %ebx
40544e:	8b c1                	mov    %ecx,%eax
405450:	83 c4 08             	add    $0x8,%esp
405453:	c3                   	ret
405454:	5f                   	pop    %edi
405455:	5d                   	pop    %ebp
405456:	b8 02 00 00 00       	mov    $0x2,%eax
40545b:	5b                   	pop    %ebx
40545c:	83 c4 08             	add    $0x8,%esp
40545f:	c3                   	ret
405460:	8b 44 24 08          	mov    0x8(%esp),%eax
405464:	56                   	push   %esi
405465:	8b 74 24 08          	mov    0x8(%esp),%esi
405469:	6a 01                	push   $0x1
40546b:	50                   	push   %eax
40546c:	e8 4f fe ff ff       	call   0x4052c0
405471:	83 c4 08             	add    $0x8,%esp
405474:	5e                   	pop    %esi
405475:	c3                   	ret
405476:	cc                   	int3
405477:	cc                   	int3
405478:	cc                   	int3
405479:	cc                   	int3
40547a:	cc                   	int3
40547b:	cc                   	int3
40547c:	cc                   	int3
40547d:	cc                   	int3
40547e:	cc                   	int3