4050b4:	56                   	push   %esi
4050b5:	ff 15 58 f0 43 00    	call   *0x43f058
4050bb:	89 07                	mov    %eax,(%edi)
4050bd:	83 f8 ff             	cmp    $0xffffffff,%eax
4050c0:	75 16                	jne    0x4050d8
4050c2:	32 c0                	xor    %al,%al
4050c4:	5f                   	pop    %edi
4050c5:	5e                   	pop    %esi
4050c6:	5b                   	pop    %ebx
4050c7:	8b 4c 24 08          	mov    0x8(%esp),%ecx
4050cb:	33 cc                	xor    %esp,%ecx
4050cd:	e8 fe 67 01 00       	call   0x41b8d0
4050d2:	8b e5                	mov    %ebp,%esp
4050d4:	5d                   	pop    %ebp
4050d5:	c2 04 00             	ret    $0x4
4050d8:	83 bb 8c 00 00 00 01 	cmpl   $0x1,0x8c(%ebx)
4050df:	6a 00                	push   $0x0
4050e1:	75 17                	jne    0x4050fa
4050e3:	b9 ff fe 00 00       	mov    $0xfeff,%ecx
4050e8:	66 89 4c 24 10       	mov    %cx,0x10(%esp)
4050ed:	8d 4c 24 14          	lea    0x14(%esp),%ecx
4050f1:	51                   	push   %ecx
4050f2:	6a 02                	push   $0x2
4050f4:	8d 4c 24 18          	lea    0x18(%esp),%ecx
4050f8:	eb 17                	jmp    0x405111
4050fa:	8d 4c 24 14          	lea    0x14(%esp),%ecx
4050fe:	66 c7 44 24 10 ef bb 	movw   $0xbbef,0x10(%esp)
405105:	51                   	push   %ecx
405106:	c6 44 24 16 bf       	movb   $0xbf,0x16(%esp)
40510b:	8d 4c 24 14          	lea    0x14(%esp),%ecx
40510f:	6a 03                	push   $0x3
405111:	51                   	push   %ecx
405112:	50                   	push   %eax
405113:	ff 15 4c f0 43 00    	call   *0x43f04c
405119:	8b 4c 24 14          	mov    0x14(%esp),%ecx
40511d:	b0 01                	mov    $0x1,%al
40511f:	5f                   	pop    %edi
405120:	5e                   	pop    %esi
405121:	5b                   	pop    %ebx
405122:	33 cc                	xor    %esp,%ecx
405124:	e8 a7 67 01 00       	call   0x41b8d0
405129:	8b e5                	mov    %ebp,%esp
40512b:	5d                   	pop    %ebp
40512c:	c2 04 00             	ret    $0x4
40512f:	cc                   	int3
405130:	55                   	push   %ebp
405131:	8b ec                	mov    %esp,%ebp
405133:	6a ff                	push   $0xffffffff
405135:	68 bb d5 43 00       	push   $0x43d5bb
40513a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
405140:	50                   	push   %eax
405141:	81 ec 58 02 00 00    	sub    $0x258,%esp
405147:	a1 14 40 45 00       	mov    0x454014,%eax
40514c:	33 c5                	xor    %ebp,%eax
40514e:	89 45 f0             	mov    %eax,-0x10(%ebp)
405151:	53                   	push   %ebx
405152:	56                   	push   %esi
405153:	57                   	push   %edi
405154:	50                   	push   %eax
405155:	8d 45 f4             	lea    -0xc(%ebp),%eax
405158:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40515e:	8b f9                	mov    %ecx,%edi
405160:	8b 75 08             	mov    0x8(%ebp),%esi
405163:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
405169:	50                   	push   %eax
40516a:	68 04 01 00 00       	push   $0x104
40516f:	ff 15 54 f0 43 00    	call   *0x43f054
405175:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
40517b:	50                   	push   %eax
40517c:	ff 15 ec f1 43 00    	call   *0x43f1ec
405182:	85 c0                	test   %eax,%eax
405184:	0f 85 bb 00 00 00    	jne    0x405245
40518a:	8d 8d e8 fd ff ff    	lea    -0x218(%ebp),%ecx
405190:	89 85 b4 fd ff ff    	mov    %eax,-0x24c(%ebp)
405196:	89 85 c4 fd ff ff    	mov    %eax,-0x23c(%ebp)
40519c:	8d 51 02             	lea    0x2(%ecx),%edx
40519f:	89 85 c8 fd ff ff    	mov    %eax,-0x238(%ebp)
4051a5:	66 8b 01             	mov    (%ecx),%ax
4051a8:	83 c1 02             	add    $0x2,%ecx
4051ab:	66 85 c0             	test   %ax,%ax
4051ae:	75 f5                	jne    0x4051a5
4051b0:	2b ca                	sub    %edx,%ecx
4051b2:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
4051b8:	d1 f9                	sar    $1,%ecx
4051ba:	51                   	push   %ecx
4051bb:	50                   	push   %eax
4051bc:	8d 8d b4 fd ff ff    	lea    -0x24c(%ebp),%ecx
4051c2:	e8 49 d3 ff ff       	call   0x402510
4051c7:	32 db                	xor    %bl,%bl
4051c9:	8d 85 b4 fd ff ff    	lea    -0x24c(%ebp),%eax
4051cf:	83 bd c8 fd ff ff 08 	cmpl   $0x8,-0x238(%ebp)
4051d6:	6a 00                	push   $0x0
4051d8:	0f 43 85 b4 fd ff ff 	cmovae -0x24c(%ebp),%eax
4051df:	50                   	push   %eax
4051e0:	6a 00                	push   $0x0
4051e2:	ff 15 e4 f1 43 00    	call   *0x43f1e4
4051e8:	85 c0                	test   %eax,%eax
4051ea:	74 0c                	je     0x4051f8
4051ec:	3d b7 00 00 00       	cmp    $0xb7,%eax
4051f1:	74 05                	je     0x4051f8
4051f3:	83 f8 50             	cmp    $0x50,%eax
4051f6:	75 02                	jne    0x4051fa
4051f8:	b3 01                	mov    $0x1,%bl
4051fa:	8b 8d c8 fd ff ff    	mov    -0x238(%ebp),%ecx
405200:	83 f9 08             	cmp    $0x8,%ecx
405203:	72 35                	jb     0x40523a
405205:	8b 95 b4 fd ff ff    	mov    -0x24c(%ebp),%edx
40520b:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
405212:	8b c2                	mov    %edx,%eax
405214:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
40521a:	72 14                	jb     0x405230
40521c:	8b 50 fc             	mov    -0x4(%eax),%edx
40521f:	83 c1 23             	add    $0x23,%ecx
405222:	2b c2                	sub    %edx,%eax
405224:	83 c0 fc             	add    $0xfffffffc,%eax
405227:	83 f8 1f             	cmp    $0x1f,%eax
40522a:	0f 87 c9 01 00 00    	ja     0x4053f9
405230:	51                   	push   %ecx
405231:	52                   	push   %edx
405232:	e8 d7 66 01 00       	call   0x41b90e
405237:	83 c4 08             	add    $0x8,%esp
40523a:	84 db                	test   %bl,%bl
40523c:	75 07                	jne    0x405245
40523e:	32 c0                	xor    %al,%al
405240:	e9 96 01 00 00       	jmp    0x4053db
405245:	8d 8d e8 fd ff ff    	lea    -0x218(%ebp),%ecx
40524b:	c7 85 d0 fd ff ff 00 	movl   $0x0,-0x230(%ebp)
405252:	00 00 00
405255:	c7 85 e0 fd ff ff 00 	movl   $0x0,-0x220(%ebp)
40525c:	00 00 00
40525f:	8d 51 02             	lea    0x2(%ecx),%edx
405262:	c7 85 e4 fd ff ff 00 	movl   $0x0,-0x21c(%ebp)
405269:	00 00 00
40526c:	0f 1f 40 00          	nopl   0x0(%eax)
405270:	66 8b 01             	mov    (%ecx),%ax
405273:	83 c1 02             	add    $0x2,%ecx
405276:	66 85 c0             	test   %ax,%ax
405279:	75 f5                	jne    0x405270
40527b:	2b ca                	sub    %edx,%ecx
40527d:	8d 85 e8 fd ff ff    	lea    -0x218(%ebp),%eax
405283:	d1 f9                	sar    $1,%ecx
405285:	51                   	push   %ecx
405286:	50                   	push   %eax
405287:	8d 8d d0 fd ff ff    	lea    -0x230(%ebp),%ecx
40528d:	e8 7e d2 ff ff       	call   0x402510
405292:	8b ce                	mov    %esi,%ecx
405294:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40529b:	c7 85 9c fd ff ff 00 	movl   $0x0,-0x264(%ebp)
4052a2:	00 00 00
4052a5:	c7 85 ac fd ff ff 00 	movl   $0x0,-0x254(%ebp)
4052ac:	00 00 00
4052af:	c7 85 b0 fd ff ff 00 	movl   $0x0,-0x250(%ebp)
4052b6:	00 00 00
4052b9:	8d 51 02             	lea    0x2(%ecx),%edx
4052bc:	0f 1f 40 00          	nopl   0x0(%eax)
4052c0:	66 8b 01             	mov    (%ecx),%ax
4052c3:	83 c1 02             	add    $0x2,%ecx
4052c6:	66 85 c0             	test   %ax,%ax
4052c9:	75 f5                	jne    0x4052c0
4052cb:	2b ca                	sub    %edx,%ecx
4052cd:	d1 f9                	sar    $1,%ecx
4052cf:	51                   	push   %ecx
4052d0:	56                   	push   %esi
4052d1:	8d 8d 9c fd ff ff    	lea    -0x264(%ebp),%ecx
4052d7:	e8 34 d2 ff ff       	call   0x402510
4052dc:	8d 95 9c fd ff ff    	lea    -0x264(%ebp),%edx
4052e2:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
4052e6:	8d 8d d0 fd ff ff    	lea    -0x230(%ebp),%ecx
4052ec:	e8 5f f6 00 00       	call   0x414950
4052f1:	c6 45 fc 00          	movb   $0x0,-0x4(%ebp)
4052f5:	8a d8                	mov    %al,%bl
4052f7:	8b 8d b0 fd ff ff    	mov    -0x250(%ebp),%ecx
4052fd:	83 f9 08             	cmp    $0x8,%ecx
405300:	72 35                	jb     0x405337
405302:	8b 95 9c fd ff ff    	mov    -0x264(%ebp),%edx
405308:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
40530f:	8b c2                	mov    %edx,%eax
405311:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
405317:	72 14                	jb     0x40532d
405319:	8b 50 fc             	mov    -0x4(%eax),%edx
40531c:	83 c1 23             	add    $0x23,%ecx
40531f:	2b c2                	sub    %edx,%eax
405321:	83 c0 fc             	add    $0xfffffffc,%eax
405324:	83 f8 1f             	cmp    $0x1f,%eax
405327:	0f 87 d1 00 00 00    	ja     0x4053fe
40532d:	51                   	push   %ecx
40532e:	52                   	push   %edx
40532f:	e8 da 65 01 00       	call   0x41b90e
405334:	83 c4 08             	add    $0x8,%esp
405337:	84 db                	test   %bl,%bl
405339:	74 62                	je     0x40539d
40533b:	8d 4f 4c             	lea    0x4c(%edi),%ecx
40533e:	8d 85 d0 fd ff ff    	lea    -0x230(%ebp),%eax
405344:	3b c8                	cmp    %eax,%ecx
405346:	74 53                	je     0x40539b
405348:	83 bd e4 fd ff ff 08 	cmpl   $0x8,-0x21c(%ebp)
40534f:	8b d0                	mov    %eax,%edx
405351:	8b b5 e0 fd ff ff    	mov    -0x220(%ebp),%esi
405357:	0f 43 95 d0 fd ff ff 	cmovae -0x230(%ebp),%edx
40535e:	8b 41 14             	mov    0x14(%ecx),%eax
405361:	3b f0                	cmp    %eax,%esi
405363:	77 22                	ja     0x405387
405365:	8b f9                	mov    %ecx,%edi
405367:	83 f8 08             	cmp    $0x8,%eax
40536a:	72 02                	jb     0x40536e
40536c:	8b 39                	mov    (%ecx),%edi
40536e:	8d 04 36             	lea    (%esi,%esi,1),%eax
405371:	89 71 10             	mov    %esi,0x10(%ecx)
405374:	50                   	push   %eax
405375:	52                   	push   %edx
405376:	57                   	push   %edi
405377:	e8 d4 80 01 00       	call   0x41d450
40537c:	83 c4 0c             	add    $0xc,%esp
40537f:	33 c0                	xor    %eax,%eax
405381:	66 89 04 77          	mov    %ax,(%edi,%esi,2)
405385:	eb 14                	jmp    0x40539b
405387:	52                   	push   %edx
405388:	c6 85 cc fd ff ff 00 	movb   $0x0,-0x234(%ebp)
40538f:	ff b5 cc fd ff ff    	push   -0x234(%ebp)
405395:	56                   	push   %esi
405396:	e8 75 d2 ff ff       	call   0x402610
40539b:	b3 01                	mov    $0x1,%bl
40539d:	8b 8d e4 fd ff ff    	mov    -0x21c(%ebp),%ecx
4053a3:	83 f9 08             	cmp    $0x8,%ecx
4053a6:	72 31                	jb     0x4053d9
4053a8:	8b 95 d0 fd ff ff    	mov    -0x230(%ebp),%edx
4053ae:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
4053b5:	8b c2                	mov    %edx,%eax
4053b7:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4053bd:	72 10                	jb     0x4053cf
4053bf:	8b 50 fc             	mov    -0x4(%eax),%edx
4053c2:	83 c1 23             	add    $0x23,%ecx
4053c5:	2b c2                	sub    %edx,%eax
4053c7:	83 c0 fc             	add    $0xfffffffc,%eax
4053ca:	83 f8 1f             	cmp    $0x1f,%eax
4053cd:	77 34                	ja     0x405403
4053cf:	51                   	push   %ecx
4053d0:	52                   	push   %edx
4053d1:	e8 38 65 01 00       	call   0x41b90e
4053d6:	83 c4 08             	add    $0x8,%esp
4053d9:	8a c3                	mov    %bl,%al
4053db:	8b 4d f4             	mov    -0xc(%ebp),%ecx
4053de:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
4053e5:	59                   	pop    %ecx
4053e6:	5f                   	pop    %edi
4053e7:	5e                   	pop    %esi
4053e8:	5b                   	pop    %ebx
4053e9:	8b 4d f0             	mov    -0x10(%ebp),%ecx
4053ec:	33 cd                	xor    %ebp,%ecx
4053ee:	e8 dd 64 01 00       	call   0x41b8d0
4053f3:	8b e5                	mov    %ebp,%esp
4053f5:	5d                   	pop    %ebp
4053f6:	c2 04 00             	ret    $0x4
4053f9:	e8 81 b6 01 00       	call   0x420a7f
4053fe:	e8 7c b6 01 00       	call   0x420a7f
405403:	e8 77 b6 01 00       	call   0x420a7f
405408:	cc                   	int3
405409:	cc                   	int3
40540a:	cc                   	int3
40540b:	cc                   	int3
40540c:	cc                   	int3
40540d:	cc                   	int3
40540e:	cc                   	int3
40540f:	cc                   	int3
405410:	55                   	push   %ebp
405411:	8b ec                	mov    %esp,%ebp
405413:	6a ff                	push   $0xffffffff
405415:	68 fd d5 43 00       	push   $0x43d5fd
40541a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
405420:	50                   	push   %eax
405421:	83 ec 48             	sub    $0x48,%esp
405424:	a1 14 40 45 00       	mov    0x454014,%eax
405429:	33 c5                	xor    %ebp,%eax
40542b:	89 45 f0             	mov    %eax,-0x10(%ebp)
40542e:	53                   	push   %ebx
40542f:	56                   	push   %esi
405430:	57                   	push   %edi
405431:	50                   	push   %eax
405432:	8d 45 f4             	lea    -0xc(%ebp),%eax
405435:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
40543b:	8b f9                	mov    %ecx,%edi
40543d:	80 7f 6c 00          	cmpb   $0x0,0x6c(%edi)
405441:	75 07                	jne    0x40544a
405443:	32 c0                	xor    %al,%al
405445:	e9 f6 01 00 00       	jmp    0x405640
40544a:	8d 47 4c             	lea    0x4c(%edi),%eax
40544d:	50                   	push   %eax
40544e:	8d 4d c8             	lea    -0x38(%ebp),%ecx
405451:	e8 6a ce ff ff       	call   0x4022c0
405456:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40545d:	8d 5f 34             	lea    0x34(%edi),%ebx
405460:	83 7d d8 00          	cmpl   $0x0,-0x28(%ebp)
405464:	75 16                	jne    0x40547c
405466:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
40546a:	8b c3                	mov    %ebx,%eax
40546c:	72 02                	jb     0x405470
40546e:	8b 03                	mov    (%ebx),%eax
405470:	50                   	push   %eax
405471:	8b cf                	mov    %edi,%ecx
405473:	e8 b8 fc ff ff       	call   0x405130
405478:	84 c0                	test   %al,%al
40547a:	74 1e                	je     0x40549a
40547c:	83 7f 68 00          	cmpl   $0x0,0x68(%edi)
405480:	8d 4f 68             	lea    0x68(%edi),%ecx
405483:	75 1c                	jne    0x4054a1
405485:	8b 07                	mov    (%edi),%eax
405487:	51                   	push   %ecx
405488:	8b 30                	mov    (%eax),%esi
40548a:	8b ce                	mov    %esi,%ecx
40548c:	ff 15 3c f2 43 00    	call   *0x43f23c
405492:	8b cf                	mov    %edi,%ecx
405494:	ff d6                	call   *%esi
405496:	84 c0                	test   %al,%al
405498:	75 07                	jne    0x4054a1
40549a:	32 db                	xor    %bl,%bl
40549c:	e9 67 01 00 00       	jmp    0x405608
4054a1:	83 bf 90 00 00 00 00 	cmpl   $0x0,0x90(%edi)
4054a8:	75 1f                	jne    0x4054c9
4054aa:	6a 04                	push   $0x4
4054ac:	e8 2d 64 01 00       	call   0x41b8de
4054b1:	83 c4 04             	add    $0x4,%esp
4054b4:	89 45 ac             	mov    %eax,-0x54(%ebp)
4054b7:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
4054bd:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
4054c3:	89 87 90 00 00 00    	mov    %eax,0x90(%edi)
4054c9:	83 7b 14 08          	cmpl   $0x8,0x14(%ebx)
4054cd:	72 02                	jb     0x4054d1
4054cf:	8b 1b                	mov    (%ebx),%ebx
4054d1:	8b cb                	mov    %ebx,%ecx
4054d3:	c7 45 b0 00 00 00 00 	movl   $0x0,-0x50(%ebp)
4054da:	c7 45 c0 00 00 00 00 	movl   $0x0,-0x40(%ebp)
4054e1:	c7 45 c4 00 00 00 00 	movl   $0x0,-0x3c(%ebp)
4054e8:	8d 51 02             	lea    0x2(%ecx),%edx
4054eb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
4054f0:	66 8b 01             	mov    (%ecx),%ax
4054f3:	83 c1 02             	add    $0x2,%ecx
4054f6:	66 85 c0             	test   %ax,%ax
4054f9:	75 f5                	jne    0x4054f0
4054fb:	2b ca                	sub    %edx,%ecx
4054fd:	d1 f9                	sar    $1,%ecx
4054ff:	51                   	push   %ecx
405500:	53                   	push   %ebx
405501:	8d 4d b0             	lea    -0x50(%ebp),%ecx
405504:	e8 07 d0 ff ff       	call   0x402510
405509:	8b b7 90 00 00 00    	mov    0x90(%edi),%esi
40550f:	83 3e 00             	cmpl   $0x0,(%esi)
405512:	75 3f                	jne    0x405553
405514:	83 7d c4 08          	cmpl   $0x8,-0x3c(%ebp)
405518:	8d 45 b0             	lea    -0x50(%ebp),%eax
40551b:	0f 43 45 b0          	cmovae -0x50(%ebp),%eax