405005:	8a 06                	mov    (%esi),%al
405007:	8a 56 01             	mov    0x1(%esi),%dl
40500a:	3c 0a                	cmp    $0xa,%al
40500c:	74 25                	je     0x405033
40500e:	3c 0b                	cmp    $0xb,%al
405010:	74 3e                	je     0x405050
405012:	3c 0c                	cmp    $0xc,%al
405014:	74 51                	je     0x405067
405016:	3c 0d                	cmp    $0xd,%al
405018:	74 5c                	je     0x405076
40501a:	3c 0e                	cmp    $0xe,%al
40501c:	74 76                	je     0x405094
40501e:	3c 0f                	cmp    $0xf,%al
405020:	0f 84 84 00 00 00    	je     0x4050aa
405026:	3c 11                	cmp    $0x11,%al
405028:	0f 84 8b 00 00 00    	je     0x4050b9
40502e:	e9 97 00 00 00       	jmp    0x4050ca
405033:	83 f9 01             	cmp    $0x1,%ecx
405036:	89 d8                	mov    %ebx,%eax
405038:	7f 0a                	jg     0x405044
40503a:	e8 31 f5 ff ff       	call   0x404570
40503f:	e9 91 00 00 00       	jmp    0x4050d5
405044:	89 ca                	mov    %ecx,%edx
405046:	e8 49 f5 ff ff       	call   0x404594
40504b:	e9 85 00 00 00       	jmp    0x4050d5
405050:	83 f9 01             	cmp    $0x1,%ecx
405053:	89 d8                	mov    %ebx,%eax
405055:	7f 07                	jg     0x40505e
405057:	e8 f4 fb ff ff       	call   0x404c50
40505c:	eb 77                	jmp    0x4050d5
40505e:	89 ca                	mov    %ecx,%edx
405060:	e8 03 fc ff ff       	call   0x404c68
405065:	eb 6e                	jmp    0x4050d5
405067:	89 d8                	mov    %ebx,%eax
405069:	83 c3 10             	add    $0x10,%ebx
40506c:	e8 67 ff ff ff       	call   0x404fd8
405071:	4f                   	dec    %edi
405072:	7f f3                	jg     0x405067
405074:	eb 5f                	jmp    0x4050d5
405076:	55                   	push   %ebp
405077:	89 d5                	mov    %edx,%ebp
405079:	8b 54 2e 0a          	mov    0xa(%esi,%ebp,1),%edx
40507d:	89 d8                	mov    %ebx,%eax
40507f:	03 5c 2e 02          	add    0x2(%esi,%ebp,1),%ebx
405083:	8b 4c 2e 06          	mov    0x6(%esi,%ebp,1),%ecx
405087:	8b 12                	mov    (%edx),%edx
405089:	e8 62 ff ff ff       	call   0x404ff0
40508e:	4f                   	dec    %edi
40508f:	7f e8                	jg     0x405079
405091:	5d                   	pop    %ebp
405092:	eb 41                	jmp    0x4050d5
405094:	55                   	push   %ebp
405095:	89 d5                	mov    %edx,%ebp
405097:	89 d8                	mov    %ebx,%eax
405099:	03 5c 2e 02          	add    0x2(%esi,%ebp,1),%ebx
40509d:	89 f2                	mov    %esi,%edx
40509f:	e8 00 ff ff ff       	call   0x404fa4
4050a4:	4f                   	dec    %edi
4050a5:	7f f0                	jg     0x405097
4050a7:	5d                   	pop    %ebp
4050a8:	eb 2b                	jmp    0x4050d5
4050aa:	89 d8                	mov    %ebx,%eax
4050ac:	83 c3 04             	add    $0x4,%ebx
4050af:	e8 c4 0b 00 00       	call   0x405c78
4050b4:	4f                   	dec    %edi
4050b5:	7f f3                	jg     0x4050aa
4050b7:	eb 1c                	jmp    0x4050d5
4050b9:	89 d8                	mov    %ebx,%eax
4050bb:	89 f2                	mov    %esi,%edx
4050bd:	83 c3 04             	add    $0x4,%ebx
4050c0:	e8 5f 04 00 00       	call   0x405524
4050c5:	4f                   	dec    %edi
4050c6:	7f f1                	jg     0x4050b9
4050c8:	eb 0b                	jmp    0x4050d5
4050ca:	5f                   	pop    %edi
4050cb:	5e                   	pop    %esi
4050cc:	5b                   	pop    %ebx
4050cd:	58                   	pop    %eax
4050ce:	b0 02                	mov    $0x2,%al
4050d0:	e9 e3 da ff ff       	jmp    0x402bb8
4050d5:	5f                   	pop    %edi
4050d6:	5e                   	pop    %esi
4050d7:	5b                   	pop    %ebx
4050d8:	58                   	pop    %eax
4050d9:	c3                   	ret
4050da:	8b c0                	mov    %eax,%eax
4050dc:	b9 01 00 00 00       	mov    $0x1,%ecx
4050e1:	e9 0a ff ff ff       	jmp    0x404ff0
4050e6:	c3                   	ret
4050e7:	90                   	nop
4050e8:	83 3d 18 50 45 00 00 	cmpl   $0x0,0x455018
4050ef:	74 07                	je     0x4050f8
4050f1:	ff 15 18 50 45 00    	call   *0x455018
4050f7:	c3                   	ret
4050f8:	b0 10                	mov    $0x10,%al
4050fa:	e8 b9 da ff ff       	call   0x402bb8
4050ff:	c3                   	ret
405100:	53                   	push   %ebx
405101:	56                   	push   %esi
405102:	57                   	push   %edi
405103:	55                   	push   %ebp
405104:	89 c3                	mov    %eax,%ebx
405106:	89 d6                	mov    %edx,%esi
405108:	31 c0                	xor    %eax,%eax
40510a:	8a 41 01             	mov    0x1(%ecx),%al
40510d:	8d 7c 08 0a          	lea    0xa(%eax,%ecx,1),%edi
405111:	8b 6f fc             	mov    -0x4(%edi),%ebp
405114:	31 c0                	xor    %eax,%eax
405116:	8b 4f f8             	mov    -0x8(%edi),%ecx
405119:	51                   	push   %ecx
40511a:	8b 4f 04             	mov    0x4(%edi),%ecx
40511d:	29 c1                	sub    %eax,%ecx
40511f:	7e 0b                	jle    0x40512c
405121:	89 c2                	mov    %eax,%edx
405123:	01 f0                	add    %esi,%eax
405125:	01 da                	add    %ebx,%edx
405127:	e8 2c db ff ff       	call   0x402c58
40512c:	8b 47 04             	mov    0x4(%edi),%eax
40512f:	8b 17                	mov    (%edi),%edx
405131:	8b 12                	mov    (%edx),%edx
405133:	8a 0a                	mov    (%edx),%cl
405135:	80 f9 0a             	cmp    $0xa,%cl
405138:	74 31                	je     0x40516b
40513a:	80 f9 0b             	cmp    $0xb,%cl
40513d:	74 3d                	je     0x40517c
40513f:	80 f9 0c             	cmp    $0xc,%cl
405142:	74 49                	je     0x40518d
405144:	80 f9 0d             	cmp    $0xd,%cl
405147:	74 55                	je     0x40519e
405149:	80 f9 0e             	cmp    $0xe,%cl
40514c:	74 70                	je     0x4051be
40514e:	80 f9 0f             	cmp    $0xf,%cl
405151:	0f 84 80 00 00 00    	je     0x4051d7
405157:	80 f9 11             	cmp    $0x11,%cl
40515a:	0f 84 88 00 00 00    	je     0x4051e8
405160:	b0 02                	mov    $0x2,%al
405162:	5d                   	pop    %ebp
405163:	5f                   	pop    %edi
405164:	5e                   	pop    %esi
405165:	5b                   	pop    %ebx
405166:	e9 4d da ff ff       	jmp    0x402bb8
40516b:	8b 14 30             	mov    (%eax,%esi,1),%edx
40516e:	01 d8                	add    %ebx,%eax
405170:	e8 4f f4 ff ff       	call   0x4045c4
405175:	b8 04 00 00 00       	mov    $0x4,%eax
40517a:	eb 7d                	jmp    0x4051f9
40517c:	8b 14 30             	mov    (%eax,%esi,1),%edx
40517f:	01 d8                	add    %ebx,%eax
405181:	e8 06 fb ff ff       	call   0x404c8c
405186:	b8 04 00 00 00       	mov    $0x4,%eax
40518b:	eb 6c                	jmp    0x4051f9
40518d:	8d 14 30             	lea    (%eax,%esi,1),%edx
405190:	01 d8                	add    %ebx,%eax
405192:	e8 51 ff ff ff       	call   0x4050e8
405197:	b8 10 00 00 00       	mov    $0x10,%eax
40519c:	eb 5b                	jmp    0x4051f9
40519e:	31 c9                	xor    %ecx,%ecx
4051a0:	8a 4a 01             	mov    0x1(%edx),%cl
4051a3:	ff 74 11 02          	push   0x2(%ecx,%edx,1)
4051a7:	ff 74 11 06          	push   0x6(%ecx,%edx,1)
4051ab:	8b 4c 11 0a          	mov    0xa(%ecx,%edx,1),%ecx
4051af:	8b 09                	mov    (%ecx),%ecx
4051b1:	8d 14 30             	lea    (%eax,%esi,1),%edx
4051b4:	01 d8                	add    %ebx,%eax
4051b6:	e8 61 00 00 00       	call   0x40521c
4051bb:	58                   	pop    %eax
4051bc:	eb 3b                	jmp    0x4051f9
4051be:	31 c9                	xor    %ecx,%ecx
4051c0:	8a 4a 01             	mov    0x1(%edx),%cl
4051c3:	8b 4c 11 02          	mov    0x2(%ecx,%edx,1),%ecx
4051c7:	51                   	push   %ecx
4051c8:	89 d1                	mov    %edx,%ecx
4051ca:	8d 14 30             	lea    (%eax,%esi,1),%edx
4051cd:	01 d8                	add    %ebx,%eax
4051cf:	e8 2c ff ff ff       	call   0x405100
4051d4:	58                   	pop    %eax
4051d5:	eb 22                	jmp    0x4051f9
4051d7:	8b 14 30             	mov    (%eax,%esi,1),%edx
4051da:	01 d8                	add    %ebx,%eax
4051dc:	e8 af 0a 00 00       	call   0x405c90
4051e1:	b8 04 00 00 00       	mov    $0x4,%eax
4051e6:	eb 11                	jmp    0x4051f9
4051e8:	89 d1                	mov    %edx,%ecx
4051ea:	8b 14 30             	mov    (%eax,%esi,1),%edx
4051ed:	01 d8                	add    %ebx,%eax
4051ef:	e8 6c 03 00 00       	call   0x405560
4051f4:	b8 04 00 00 00       	mov    $0x4,%eax
4051f9:	03 47 04             	add    0x4(%edi),%eax
4051fc:	83 c7 08             	add    $0x8,%edi
4051ff:	4d                   	dec    %ebp
405200:	0f 85 14 ff ff ff    	jne    0x40511a
405206:	59                   	pop    %ecx
405207:	29 c1                	sub    %eax,%ecx
405209:	7e 0a                	jle    0x405215
40520b:	8d 14 18             	lea    (%eax,%ebx,1),%edx
40520e:	01 f0                	add    %esi,%eax
405210:	e8 43 da ff ff       	call   0x402c58
405215:	5d                   	pop    %ebp
405216:	5f                   	pop    %edi
405217:	5e                   	pop    %esi
405218:	5b                   	pop    %ebx
405219:	c3                   	ret
40521a:	8b c0                	mov    %eax,%eax
40521c:	53                   	push   %ebx
40521d:	56                   	push   %esi
40521e:	57                   	push   %edi
40521f:	55                   	push   %ebp
405220:	89 c3                	mov    %eax,%ebx
405222:	89 d6                	mov    %edx,%esi
405224:	89 cf                	mov    %ecx,%edi
405226:	8b 6c 24 14          	mov    0x14(%esp),%ebp
40522a:	8a 0f                	mov    (%edi),%cl
40522c:	80 f9 0a             	cmp    $0xa,%cl
40522f:	74 31                	je     0x405262
405231:	80 f9 0b             	cmp    $0xb,%cl
405234:	74 43                	je     0x405279
405236:	80 f9 0c             	cmp    $0xc,%cl
405239:	74 52                	je     0x40528d
40523b:	80 f9 0d             	cmp    $0xd,%cl
40523e:	74 61                	je     0x4052a1
405240:	80 f9 0e             	cmp    $0xe,%cl
405243:	74 7d                	je     0x4052c2
405245:	80 f9 0f             	cmp    $0xf,%cl
405248:	0f 84 91 00 00 00    	je     0x4052df
40524e:	80 f9 11             	cmp    $0x11,%cl
405251:	0f 84 9c 00 00 00    	je     0x4052f3
405257:	b0 02                	mov    $0x2,%al
405259:	5d                   	pop    %ebp
40525a:	5f                   	pop    %edi
40525b:	5e                   	pop    %esi
40525c:	5b                   	pop    %ebx
40525d:	e9 56 d9 ff ff       	jmp    0x402bb8
405262:	89 d8                	mov    %ebx,%eax
405264:	8b 16                	mov    (%esi),%edx
405266:	e8 59 f3 ff ff       	call   0x4045c4
40526b:	83 c3 04             	add    $0x4,%ebx
40526e:	83 c6 04             	add    $0x4,%esi
405271:	4d                   	dec    %ebp
405272:	75 ee                	jne    0x405262
405274:	e9 8e 00 00 00       	jmp    0x405307
405279:	89 d8                	mov    %ebx,%eax
40527b:	8b 16                	mov    (%esi),%edx
40527d:	e8 0a fa ff ff       	call   0x404c8c
405282:	83 c3 04             	add    $0x4,%ebx
405285:	83 c6 04             	add    $0x4,%esi
405288:	4d                   	dec    %ebp
405289:	75 ee                	jne    0x405279
40528b:	eb 7a                	jmp    0x405307
40528d:	89 d8                	mov    %ebx,%eax
40528f:	89 f2                	mov    %esi,%edx
405291:	e8 52 fe ff ff       	call   0x4050e8
405296:	83 c3 10             	add    $0x10,%ebx
405299:	83 c6 10             	add    $0x10,%esi
40529c:	4d                   	dec    %ebp
40529d:	75 ee                	jne    0x40528d
40529f:	eb 66                	jmp    0x405307
4052a1:	31 c9                	xor    %ecx,%ecx
4052a3:	8a 4f 01             	mov    0x1(%edi),%cl
4052a6:	8d 7c 39 02          	lea    0x2(%ecx,%edi,1),%edi
4052aa:	89 d8                	mov    %ebx,%eax
4052ac:	89 f2                	mov    %esi,%edx
4052ae:	8b 4f 08             	mov    0x8(%edi),%ecx
4052b1:	ff 77 04             	push   0x4(%edi)
4052b4:	e8 63 ff ff ff       	call   0x40521c
4052b9:	03 1f                	add    (%edi),%ebx
4052bb:	03 37                	add    (%edi),%esi
4052bd:	4d                   	dec    %ebp
4052be:	75 ea                	jne    0x4052aa
4052c0:	eb 45                	jmp    0x405307
4052c2:	89 d8                	mov    %ebx,%eax
4052c4:	89 f2                	mov    %esi,%edx
4052c6:	89 f9                	mov    %edi,%ecx
4052c8:	e8 33 fe ff ff       	call   0x405100
4052cd:	31 c0                	xor    %eax,%eax
4052cf:	8a 47 01             	mov    0x1(%edi),%al
4052d2:	03 5c 38 02          	add    0x2(%eax,%edi,1),%ebx
4052d6:	03 74 38 02          	add    0x2(%eax,%edi,1),%esi
4052da:	4d                   	dec    %ebp
4052db:	75 e5                	jne    0x4052c2
4052dd:	eb 28                	jmp    0x405307
4052df:	89 d8                	mov    %ebx,%eax
4052e1:	8b 16                	mov    (%esi),%edx
4052e3:	e8 a8 09 00 00       	call   0x405c90
4052e8:	83 c3 04             	add    $0x4,%ebx
4052eb:	83 c6 04             	add    $0x4,%esi
4052ee:	4d                   	dec    %ebp
4052ef:	75 ee                	jne    0x4052df
4052f1:	eb 14                	jmp    0x405307
4052f3:	89 d8                	mov    %ebx,%eax
4052f5:	8b 16                	mov    (%esi),%edx
4052f7:	89 f9                	mov    %edi,%ecx
4052f9:	e8 62 02 00 00       	call   0x405560
4052fe:	83 c3 04             	add    $0x4,%ebx
405301:	83 c6 04             	add    $0x4,%esi
405304:	4d                   	dec    %ebp
405305:	75 ec                	jne    0x4052f3
405307:	5d                   	pop    %ebp
405308:	5f                   	pop    %edi
405309:	5e                   	pop    %esi
40530a:	5b                   	pop    %ebx
40530b:	c2 04 00             	ret    $0x4
40530e:	c3                   	ret
40530f:	90                   	nop
405310:	b0 11                	mov    $0x11,%al
405312:	e9 a1 d8 ff ff       	jmp    0x402bb8
405317:	c3                   	ret
405318:	52                   	push   %edx
405319:	50                   	push   %eax
40531a:	8b 44 24 10          	mov    0x10(%esp),%eax
40531e:	f7 24 24             	mull   (%esp)
405321:	89 c1                	mov    %eax,%ecx
405323:	8b 44 24 04          	mov    0x4(%esp),%eax
405327:	f7 64 24 0c          	mull   0xc(%esp)
40532b:	01 c1                	add    %eax,%ecx
40532d:	8b 04 24             	mov    (%esp),%eax
405330:	f7 64 24 0c          	mull   0xc(%esp)
405334:	01 ca                	add    %ecx,%edx
405336:	59                   	pop    %ecx
405337:	59                   	pop    %ecx
405338:	c2 08 00             	ret    $0x8
40533b:	c3                   	ret
40533c:	85 c0                	test   %eax,%eax
40533e:	74 03                	je     0x405343
405340:	8b 40 fc             	mov    -0x4(%eax),%eax
405343:	c3                   	ret
405344:	e8 f3 ff ff ff       	call   0x40533c
405349:	48                   	dec    %eax
40534a:	c3                   	ret
40534b:	90                   	nop
40534c:	55                   	push   %ebp
40534d:	8b ec                	mov    %esp,%ebp
40534f:	ff 75 08             	push   0x8(%ebp)
405352:	e8 c5 fe ff ff       	call   0x40521c
405357:	5d                   	pop    %ebp
405358:	c2 04 00             	ret    $0x4
40535b:	90                   	nop
40535c:	e9 8f fc ff ff       	jmp    0x404ff0
405361:	c3                   	ret
405362:	8b c0                	mov    %eax,%eax
405364:	e8 bb 01 00 00       	call   0x405524
405369:	c3                   	ret
40536a:	8b c0                	mov    %eax,%eax
40536c:	55                   	push   %ebp
40536d:	8b ec                	mov    %esp,%ebp
40536f:	83 c4 e4             	add    $0xffffffe4,%esp
405372:	53                   	push   %ebx
405373:	56                   	push   %esi
405374:	57                   	push   %edi
405375:	89 4d f4             	mov    %ecx,-0xc(%ebp)
405378:	89 55 f8             	mov    %edx,-0x8(%ebp)