405113:	83 fb 01             	cmp    $0x1,%ebx
405116:	7d 04                	jge    0x40511c
405118:	33 db                	xor    %ebx,%ebx
40511a:	eb 07                	jmp    0x405123
40511c:	4b                   	dec    %ebx
40511d:	3b c3                	cmp    %ebx,%eax
40511f:	7d 02                	jge    0x405123
405121:	8b d8                	mov    %eax,%ebx
405123:	85 ff                	test   %edi,%edi
405125:	7d 04                	jge    0x40512b
405127:	33 c0                	xor    %eax,%eax
405129:	eb 08                	jmp    0x405133
40512b:	2b c3                	sub    %ebx,%eax
40512d:	3b f8                	cmp    %eax,%edi
40512f:	7d 02                	jge    0x405133
405131:	8b c7                	mov    %edi,%eax
405133:	8b d3                	mov    %ebx,%edx
405135:	03 d2                	add    %edx,%edx
405137:	03 d6                	add    %esi,%edx
405139:	8b 4d 08             	mov    0x8(%ebp),%ecx
40513c:	91                   	xchg   %eax,%ecx
40513d:	e8 ae fe ff ff       	call   0x404ff0
405142:	5f                   	pop    %edi
405143:	5e                   	pop    %esi
405144:	5b                   	pop    %ebx
405145:	5d                   	pop    %ebp
405146:	c2 04 00             	ret    $0x4
405149:	8d 40 00             	lea    0x0(%eax),%eax
40514c:	53                   	push   %ebx
40514d:	56                   	push   %esi
40514e:	57                   	push   %edi
40514f:	8b f2                	mov    %edx,%esi
405151:	8b f8                	mov    %eax,%edi
405153:	33 db                	xor    %ebx,%ebx
405155:	85 f6                	test   %esi,%esi
405157:	7e 27                	jle    0x405180
405159:	8b c6                	mov    %esi,%eax
40515b:	e8 78 fd ff ff       	call   0x404ed8
405160:	8b d8                	mov    %eax,%ebx
405162:	8b 07                	mov    (%edi),%eax
405164:	e8 07 ff ff ff       	call   0x405070
405169:	85 c0                	test   %eax,%eax
40516b:	7e 13                	jle    0x405180
40516d:	3b f0                	cmp    %eax,%esi
40516f:	7d 02                	jge    0x405173
405171:	8b c6                	mov    %esi,%eax
405173:	8b c8                	mov    %eax,%ecx
405175:	03 c9                	add    %ecx,%ecx
405177:	8b d3                	mov    %ebx,%edx
405179:	8b 07                	mov    (%edi),%eax
40517b:	e8 5c dd ff ff       	call   0x402edc
405180:	8b c7                	mov    %edi,%eax
405182:	8b d3                	mov    %ebx,%edx
405184:	e8 67 fd ff ff       	call   0x404ef0
405189:	5f                   	pop    %edi
40518a:	5e                   	pop    %esi
40518b:	5b                   	pop    %ebx
40518c:	c3                   	ret
40518d:	8d 40 00             	lea    0x0(%eax),%eax
405190:	31 c9                	xor    %ecx,%ecx
405192:	53                   	push   %ebx
405193:	8a 4a 01             	mov    0x1(%edx),%cl
405196:	56                   	push   %esi
405197:	57                   	push   %edi
405198:	89 c3                	mov    %eax,%ebx
40519a:	8d 74 11 0a          	lea    0xa(%ecx,%edx,1),%esi
40519e:	8b 7c 11 06          	mov    0x6(%ecx,%edx,1),%edi
4051a2:	8b 16                	mov    (%esi),%edx
4051a4:	8b 46 04             	mov    0x4(%esi),%eax
4051a7:	01 d8                	add    %ebx,%eax
4051a9:	8b 12                	mov    (%edx),%edx
4051ab:	b9 01 00 00 00       	mov    $0x1,%ecx
4051b0:	e8 0b 00 00 00       	call   0x4051c0
4051b5:	83 c6 08             	add    $0x8,%esi
4051b8:	4f                   	dec    %edi
4051b9:	7f e7                	jg     0x4051a2
4051bb:	5f                   	pop    %edi
4051bc:	5e                   	pop    %esi
4051bd:	5b                   	pop    %ebx
4051be:	c3                   	ret
4051bf:	90                   	nop
4051c0:	85 c9                	test   %ecx,%ecx
4051c2:	0f 84 8a 00 00 00    	je     0x405252
4051c8:	53                   	push   %ebx
4051c9:	56                   	push   %esi
4051ca:	57                   	push   %edi
4051cb:	89 c3                	mov    %eax,%ebx
4051cd:	89 d6                	mov    %edx,%esi
4051cf:	89 cf                	mov    %ecx,%edi
4051d1:	31 d2                	xor    %edx,%edx
4051d3:	8a 06                	mov    (%esi),%al
4051d5:	8a 56 01             	mov    0x1(%esi),%dl
4051d8:	31 c9                	xor    %ecx,%ecx
4051da:	3c 0a                	cmp    $0xa,%al
4051dc:	74 22                	je     0x405200
4051de:	3c 0b                	cmp    $0xb,%al
4051e0:	74 1e                	je     0x405200
4051e2:	3c 0c                	cmp    $0xc,%al
4051e4:	74 24                	je     0x40520a
4051e6:	3c 0d                	cmp    $0xd,%al
4051e8:	74 33                	je     0x40521d
4051ea:	3c 0e                	cmp    $0xe,%al
4051ec:	74 4d                	je     0x40523b
4051ee:	3c 0f                	cmp    $0xf,%al
4051f0:	74 0e                	je     0x405200
4051f2:	3c 11                	cmp    $0x11,%al
4051f4:	74 0a                	je     0x405200
4051f6:	b0 02                	mov    $0x2,%al
4051f8:	5f                   	pop    %edi
4051f9:	5e                   	pop    %esi
4051fa:	5b                   	pop    %ebx
4051fb:	e9 3c dc ff ff       	jmp    0x402e3c
405200:	89 0b                	mov    %ecx,(%ebx)
405202:	83 c3 04             	add    $0x4,%ebx
405205:	4f                   	dec    %edi
405206:	7f f8                	jg     0x405200
405208:	eb 45                	jmp    0x40524f
40520a:	89 0b                	mov    %ecx,(%ebx)
40520c:	89 4b 04             	mov    %ecx,0x4(%ebx)
40520f:	89 4b 08             	mov    %ecx,0x8(%ebx)
405212:	89 4b 0c             	mov    %ecx,0xc(%ebx)
405215:	83 c3 10             	add    $0x10,%ebx
405218:	4f                   	dec    %edi
405219:	7f ef                	jg     0x40520a
40521b:	eb 32                	jmp    0x40524f
40521d:	55                   	push   %ebp
40521e:	89 d5                	mov    %edx,%ebp
405220:	8b 54 2e 0a          	mov    0xa(%esi,%ebp,1),%edx
405224:	89 d8                	mov    %ebx,%eax
405226:	03 5c 2e 02          	add    0x2(%esi,%ebp,1),%ebx
40522a:	8b 4c 2e 06          	mov    0x6(%esi,%ebp,1),%ecx
40522e:	8b 12                	mov    (%edx),%edx
405230:	e8 8b ff ff ff       	call   0x4051c0
405235:	4f                   	dec    %edi
405236:	7f e8                	jg     0x405220
405238:	5d                   	pop    %ebp
405239:	eb 14                	jmp    0x40524f
40523b:	55                   	push   %ebp
40523c:	89 d5                	mov    %edx,%ebp
40523e:	89 d8                	mov    %ebx,%eax
405240:	03 5c 2e 02          	add    0x2(%esi,%ebp,1),%ebx
405244:	89 f2                	mov    %esi,%edx
405246:	e8 45 ff ff ff       	call   0x405190
40524b:	4f                   	dec    %edi
40524c:	7f f0                	jg     0x40523e
40524e:	5d                   	pop    %ebp
40524f:	5f                   	pop    %edi
405250:	5e                   	pop    %esi
405251:	5b                   	pop    %ebx
405252:	c3                   	ret
405253:	90                   	nop
405254:	b9 01 00 00 00       	mov    $0x1,%ecx
405259:	e9 62 ff ff ff       	jmp    0x4051c0
40525e:	c3                   	ret
40525f:	90                   	nop
405260:	31 c9                	xor    %ecx,%ecx
405262:	53                   	push   %ebx
405263:	8a 4a 01             	mov    0x1(%edx),%cl
405266:	56                   	push   %esi
405267:	57                   	push   %edi
405268:	89 c3                	mov    %eax,%ebx
40526a:	8d 74 11 0a          	lea    0xa(%ecx,%edx,1),%esi
40526e:	8b 7c 11 06          	mov    0x6(%ecx,%edx,1),%edi
405272:	8b 16                	mov    (%esi),%edx
405274:	8b 46 04             	mov    0x4(%esi),%eax
405277:	01 d8                	add    %ebx,%eax
405279:	8b 12                	mov    (%edx),%edx
40527b:	b9 01 00 00 00       	mov    $0x1,%ecx
405280:	e8 27 00 00 00       	call   0x4052ac
405285:	83 c6 08             	add    $0x8,%esi
405288:	4f                   	dec    %edi
405289:	7f e7                	jg     0x405272
40528b:	89 d8                	mov    %ebx,%eax
40528d:	5f                   	pop    %edi
40528e:	5e                   	pop    %esi
40528f:	5b                   	pop    %ebx
405290:	c3                   	ret
405291:	8d 40 00             	lea    0x0(%eax),%eax
405294:	83 3d 10 00 46 00 00 	cmpl   $0x0,0x460010
40529b:	74 07                	je     0x4052a4
40529d:	ff 15 10 00 46 00    	call   *0x460010
4052a3:	c3                   	ret
4052a4:	b0 10                	mov    $0x10,%al
4052a6:	e8 91 db ff ff       	call   0x402e3c
4052ab:	c3                   	ret
4052ac:	83 f9 00             	cmp    $0x0,%ecx
4052af:	0f 84 e0 00 00 00    	je     0x405395
4052b5:	50                   	push   %eax
4052b6:	53                   	push   %ebx
4052b7:	56                   	push   %esi
4052b8:	57                   	push   %edi
4052b9:	89 c3                	mov    %eax,%ebx
4052bb:	89 d6                	mov    %edx,%esi
4052bd:	89 cf                	mov    %ecx,%edi
4052bf:	31 d2                	xor    %edx,%edx
4052c1:	8a 06                	mov    (%esi),%al
4052c3:	8a 56 01             	mov    0x1(%esi),%dl
4052c6:	3c 0a                	cmp    $0xa,%al
4052c8:	74 25                	je     0x4052ef
4052ca:	3c 0b                	cmp    $0xb,%al
4052cc:	74 3e                	je     0x40530c
4052ce:	3c 0c                	cmp    $0xc,%al
4052d0:	74 51                	je     0x405323
4052d2:	3c 0d                	cmp    $0xd,%al
4052d4:	74 5c                	je     0x405332
4052d6:	3c 0e                	cmp    $0xe,%al
4052d8:	74 76                	je     0x405350
4052da:	3c 0f                	cmp    $0xf,%al
4052dc:	0f 84 84 00 00 00    	je     0x405366
4052e2:	3c 11                	cmp    $0x11,%al
4052e4:	0f 84 8b 00 00 00    	je     0x405375
4052ea:	e9 97 00 00 00       	jmp    0x405386
4052ef:	83 f9 01             	cmp    $0x1,%ecx
4052f2:	89 d8                	mov    %ebx,%eax
4052f4:	7f 0a                	jg     0x405300
4052f6:	e8 25 f4 ff ff       	call   0x404720
4052fb:	e9 91 00 00 00       	jmp    0x405391
405300:	89 ca                	mov    %ecx,%edx
405302:	e8 3d f4 ff ff       	call   0x404744
405307:	e9 85 00 00 00       	jmp    0x405391
40530c:	83 f9 01             	cmp    $0x1,%ecx
40530f:	89 d8                	mov    %ebx,%eax
405311:	7f 07                	jg     0x40531a
405313:	e8 e8 fb ff ff       	call   0x404f00
405318:	eb 77                	jmp    0x405391
40531a:	89 ca                	mov    %ecx,%edx
40531c:	e8 f7 fb ff ff       	call   0x404f18
405321:	eb 6e                	jmp    0x405391
405323:	89 d8                	mov    %ebx,%eax
405325:	83 c3 10             	add    $0x10,%ebx
405328:	e8 67 ff ff ff       	call   0x405294
40532d:	4f                   	dec    %edi
40532e:	7f f3                	jg     0x405323
405330:	eb 5f                	jmp    0x405391
405332:	55                   	push   %ebp
405333:	89 d5                	mov    %edx,%ebp
405335:	8b 54 2e 0a          	mov    0xa(%esi,%ebp,1),%edx
405339:	89 d8                	mov    %ebx,%eax
40533b:	03 5c 2e 02          	add    0x2(%esi,%ebp,1),%ebx
40533f:	8b 4c 2e 06          	mov    0x6(%esi,%ebp,1),%ecx
405343:	8b 12                	mov    (%edx),%edx
405345:	e8 62 ff ff ff       	call   0x4052ac
40534a:	4f                   	dec    %edi
40534b:	7f e8                	jg     0x405335
40534d:	5d                   	pop    %ebp
40534e:	eb 41                	jmp    0x405391
405350:	55                   	push   %ebp
405351:	89 d5                	mov    %edx,%ebp
405353:	89 d8                	mov    %ebx,%eax
405355:	03 5c 2e 02          	add    0x2(%esi,%ebp,1),%ebx
405359:	89 f2                	mov    %esi,%edx
40535b:	e8 00 ff ff ff       	call   0x405260
405360:	4f                   	dec    %edi
405361:	7f f0                	jg     0x405353
405363:	5d                   	pop    %ebp
405364:	eb 2b                	jmp    0x405391
405366:	89 d8                	mov    %ebx,%eax
405368:	83 c3 04             	add    $0x4,%ebx
40536b:	e8 b4 0d 00 00       	call   0x406124
405370:	4f                   	dec    %edi
405371:	7f f3                	jg     0x405366
405373:	eb 1c                	jmp    0x405391
405375:	89 d8                	mov    %ebx,%eax
405377:	89 f2                	mov    %esi,%edx
405379:	83 c3 04             	add    $0x4,%ebx
40537c:	e8 cb 06 00 00       	call   0x405a4c
405381:	4f                   	dec    %edi
405382:	7f f1                	jg     0x405375
405384:	eb 0b                	jmp    0x405391
405386:	5f                   	pop    %edi
405387:	5e                   	pop    %esi
405388:	5b                   	pop    %ebx
405389:	58                   	pop    %eax
40538a:	b0 02                	mov    $0x2,%al
40538c:	e9 ab da ff ff       	jmp    0x402e3c
405391:	5f                   	pop    %edi
405392:	5e                   	pop    %esi
405393:	5b                   	pop    %ebx
405394:	58                   	pop    %eax
405395:	c3                   	ret
405396:	8b c0                	mov    %eax,%eax
405398:	b9 01 00 00 00       	mov    $0x1,%ecx
40539d:	e9 0a ff ff ff       	jmp    0x4052ac
4053a2:	c3                   	ret
4053a3:	90                   	nop
4053a4:	83 3d 18 00 46 00 00 	cmpl   $0x0,0x460018
4053ab:	74 07                	je     0x4053b4
4053ad:	ff 15 18 00 46 00    	call   *0x460018
4053b3:	c3                   	ret
4053b4:	b0 10                	mov    $0x10,%al
4053b6:	e8 81 da ff ff       	call   0x402e3c
4053bb:	c3                   	ret
4053bc:	53                   	push   %ebx
4053bd:	56                   	push   %esi
4053be:	57                   	push   %edi
4053bf:	55                   	push   %ebp
4053c0:	89 c3                	mov    %eax,%ebx
4053c2:	89 d6                	mov    %edx,%esi
4053c4:	31 c0                	xor    %eax,%eax
4053c6:	8a 41 01             	mov    0x1(%ecx),%al
4053c9:	8d 7c 08 0a          	lea    0xa(%eax,%ecx,1),%edi
4053cd:	8b 6f fc             	mov    -0x4(%edi),%ebp
4053d0:	31 c0                	xor    %eax,%eax
4053d2:	8b 4f f8             	mov    -0x8(%edi),%ecx
4053d5:	51                   	push   %ecx
4053d6:	8b 4f 04             	mov    0x4(%edi),%ecx
4053d9:	29 c1                	sub    %eax,%ecx
4053db:	7e 0b                	jle    0x4053e8
4053dd:	89 c2                	mov    %eax,%edx
4053df:	01 f0                	add    %esi,%eax
4053e1:	01 da                	add    %ebx,%edx
4053e3:	e8 f4 da ff ff       	call   0x402edc
4053e8:	8b 47 04             	mov    0x4(%edi),%eax
4053eb:	8b 17                	mov    (%edi),%edx
4053ed:	8b 12                	mov    (%edx),%edx
4053ef:	8a 0a                	mov    (%edx),%cl
4053f1:	80 f9 0a             	cmp    $0xa,%cl
4053f4:	74 31                	je     0x405427
4053f6:	80 f9 0b             	cmp    $0xb,%cl
4053f9:	74 3d                	je     0x405438
4053fb:	80 f9 0c             	cmp    $0xc,%cl
4053fe:	74 49                	je     0x405449
405400:	80 f9 0d             	cmp    $0xd,%cl
405403:	74 55                	je     0x40545a
405405:	80 f9 0e             	cmp    $0xe,%cl
405408:	74 70                	je     0x40547a
40540a:	80 f9 0f             	cmp    $0xf,%cl
40540d:	0f 84 80 00 00 00    	je     0x405493
405413:	80 f9 11             	cmp    $0x11,%cl
405416:	0f 84 88 00 00 00    	je     0x4054a4
40541c:	b0 02                	mov    $0x2,%al
40541e:	5d                   	pop    %ebp
40541f:	5f                   	pop    %edi
405420:	5e                   	pop    %esi
405421:	5b                   	pop    %ebx
405422:	e9 15 da ff ff       	jmp    0x402e3c
405427:	8b 14 30             	mov    (%eax,%esi,1),%edx
40542a:	01 d8                	add    %ebx,%eax
40542c:	e8 43 f3 ff ff       	call   0x404774
405431:	b8 04 00 00 00       	mov    $0x4,%eax
405436:	eb 7d                	jmp    0x4054b5
405438:	8b 14 30             	mov    (%eax,%esi,1),%edx
40543b:	01 d8                	add    %ebx,%eax
40543d:	e8 fa fa ff ff       	call   0x404f3c
405442:	b8 04 00 00 00       	mov    $0x4,%eax
405447:	eb 6c                	jmp    0x4054b5
405449:	8d 14 30             	lea    (%eax,%esi,1),%edx
40544c:	01 d8                	add    %ebx,%eax
40544e:	e8 51 ff ff ff       	call   0x4053a4
405453:	b8 10 00 00 00       	mov    $0x10,%eax