405021:	5e                   	pop    %esi
405022:	5b                   	pop    %ebx
405023:	8b e5                	mov    %ebp,%esp
405025:	5d                   	pop    %ebp
405026:	c3                   	ret
405027:	55                   	push   %ebp
405028:	8b ec                	mov    %esp,%ebp
40502a:	51                   	push   %ecx
40502b:	51                   	push   %ecx
40502c:	80 79 14 00          	cmpb   $0x0,0x14(%ecx)
405030:	0f 85 83 8d 03 00    	jne    0x43ddb9
405036:	ff 75 08             	push   0x8(%ebp)
405039:	e8 52 0e 02 00       	call   0x425e90
40503e:	59                   	pop    %ecx
40503f:	8b e5                	mov    %ebp,%esp
405041:	5d                   	pop    %ebp
405042:	c2 04 00             	ret    $0x4
405045:	55                   	push   %ebp
405046:	8b ec                	mov    %esp,%ebp
405048:	51                   	push   %ecx
405049:	51                   	push   %ecx
40504a:	80 79 14 00          	cmpb   $0x0,0x14(%ecx)
40504e:	0f 85 80 8d 03 00    	jne    0x43ddd4
405054:	ff 75 10             	push   0x10(%ebp)
405057:	ff 75 0c             	push   0xc(%ebp)
40505a:	ff 75 08             	push   0x8(%ebp)
40505d:	e8 1b 0a 02 00       	call   0x425a7d
405062:	83 c4 0c             	add    $0xc,%esp
405065:	8b e5                	mov    %ebp,%esp
405067:	5d                   	pop    %ebp
405068:	c2 0c 00             	ret    $0xc
40506b:	55                   	push   %ebp
40506c:	8b ec                	mov    %esp,%ebp
40506e:	51                   	push   %ecx
40506f:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
405073:	80 79 14 00          	cmpb   $0x0,0x14(%ecx)
405077:	0f 85 79 8d 03 00    	jne    0x43ddf6
40507d:	ff 75 14             	push   0x14(%ebp)
405080:	ff 75 10             	push   0x10(%ebp)
405083:	ff 75 0c             	push   0xc(%ebp)
405086:	ff 75 08             	push   0x8(%ebp)
405089:	e8 84 07 02 00       	call   0x425812
40508e:	83 c4 10             	add    $0x10,%esp
405091:	8b e5                	mov    %ebp,%esp
405093:	5d                   	pop    %ebp
405094:	c2 10 00             	ret    $0x10
405097:	55                   	push   %ebp
405098:	8b ec                	mov    %esp,%ebp
40509a:	53                   	push   %ebx
40509b:	56                   	push   %esi
40509c:	8b 75 0c             	mov    0xc(%ebp),%esi
40509f:	8b d9                	mov    %ecx,%ebx
4050a1:	57                   	push   %edi
4050a2:	8b 7d 08             	mov    0x8(%ebp),%edi
4050a5:	56                   	push   %esi
4050a6:	57                   	push   %edi
4050a7:	e8 5e 02 00 00       	call   0x40530a
4050ac:	85 c0                	test   %eax,%eax
4050ae:	75 0d                	jne    0x4050bd
4050b0:	56                   	push   %esi
4050b1:	57                   	push   %edi
4050b2:	8b cb                	mov    %ebx,%ecx
4050b4:	e8 c7 01 00 00       	call   0x405280
4050b9:	85 c0                	test   %eax,%eax
4050bb:	74 07                	je     0x4050c4
4050bd:	5f                   	pop    %edi
4050be:	5e                   	pop    %esi
4050bf:	5b                   	pop    %ebx
4050c0:	5d                   	pop    %ebp
4050c1:	c2 08 00             	ret    $0x8
4050c4:	56                   	push   %esi
4050c5:	57                   	push   %edi
4050c6:	e8 45 01 00 00       	call   0x405210
4050cb:	85 c0                	test   %eax,%eax
4050cd:	75 ee                	jne    0x4050bd
4050cf:	56                   	push   %esi
4050d0:	57                   	push   %edi
4050d1:	8b cb                	mov    %ebx,%ecx
4050d3:	e8 41 00 00 00       	call   0x405119
4050d8:	85 c0                	test   %eax,%eax
4050da:	75 e1                	jne    0x4050bd
4050dc:	56                   	push   %esi
4050dd:	57                   	push   %edi
4050de:	e8 12 00 00 00       	call   0x4050f5
4050e3:	84 c0                	test   %al,%al
4050e5:	75 05                	jne    0x4050ec
4050e7:	33 c0                	xor    %eax,%eax
4050e9:	40                   	inc    %eax
4050ea:	eb d1                	jmp    0x4050bd
4050ec:	33 c0                	xor    %eax,%eax
4050ee:	38 03                	cmp    %al,(%ebx)
4050f0:	0f 94 c0             	sete   %al
4050f3:	eb c8                	jmp    0x4050bd
4050f5:	55                   	push   %ebp
4050f6:	8b ec                	mov    %esp,%ebp
4050f8:	33 c9                	xor    %ecx,%ecx
4050fa:	39 4d 0c             	cmp    %ecx,0xc(%ebp)
4050fd:	76 10                	jbe    0x40510f
4050ff:	8b 55 08             	mov    0x8(%ebp),%edx
405102:	8a 04 11             	mov    (%ecx,%edx,1),%al
405105:	41                   	inc    %ecx
405106:	84 c0                	test   %al,%al
405108:	74 0b                	je     0x405115
40510a:	3b 4d 0c             	cmp    0xc(%ebp),%ecx
40510d:	72 f3                	jb     0x405102
40510f:	32 c0                	xor    %al,%al
405111:	5d                   	pop    %ebp
405112:	c2 08 00             	ret    $0x8
405115:	b0 01                	mov    $0x1,%al
405117:	eb f8                	jmp    0x405111
405119:	55                   	push   %ebp
40511a:	8b ec                	mov    %esp,%ebp
40511c:	83 ec 14             	sub    $0x14,%esp
40511f:	53                   	push   %ebx
405120:	8b 5d 08             	mov    0x8(%ebp),%ebx
405123:	33 c0                	xor    %eax,%eax
405125:	56                   	push   %esi
405126:	8b 75 0c             	mov    0xc(%ebp),%esi
405129:	8b d0                	mov    %eax,%edx
40512b:	89 4d f4             	mov    %ecx,-0xc(%ebp)
40512e:	89 45 f8             	mov    %eax,-0x8(%ebp)
405131:	89 45 fc             	mov    %eax,-0x4(%ebp)
405134:	57                   	push   %edi
405135:	8b f8                	mov    %eax,%edi
405137:	85 f6                	test   %esi,%esi
405139:	74 13                	je     0x40514e
40513b:	38 04 1a             	cmp    %al,(%edx,%ebx,1)
40513e:	0f 84 b5 00 00 00    	je     0x4051f9
405144:	83 c2 02             	add    $0x2,%edx
405147:	3b d6                	cmp    %esi,%edx
405149:	72 f0                	jb     0x40513b
40514b:	89 7d fc             	mov    %edi,-0x4(%ebp)
40514e:	33 c9                	xor    %ecx,%ecx
405150:	41                   	inc    %ecx
405151:	3b f1                	cmp    %ecx,%esi
405153:	76 14                	jbe    0x405169
405155:	80 3c 19 00          	cmpb   $0x0,(%ecx,%ebx,1)
405159:	0f 84 a0 00 00 00    	je     0x4051ff
40515f:	83 c1 02             	add    $0x2,%ecx
405162:	3b ce                	cmp    %esi,%ecx
405164:	72 ef                	jb     0x405155
405166:	89 45 f8             	mov    %eax,-0x8(%ebp)
405169:	89 75 0c             	mov    %esi,0xc(%ebp)
40516c:	db 45 0c             	fildl  0xc(%ebp)
40516f:	85 f6                	test   %esi,%esi
405171:	79 06                	jns    0x405179
405173:	dc 05 c8 ba 4b 00    	faddl  0x4bbac8
405179:	dd 5d ec             	fstpl  -0x14(%ebp)
40517c:	dd 45 ec             	fldl   -0x14(%ebp)
40517f:	db 45 fc             	fildl  -0x4(%ebp)
405182:	8b 45 f4             	mov    -0xc(%ebp),%eax
405185:	5f                   	pop    %edi
405186:	5e                   	pop    %esi
405187:	5b                   	pop    %ebx
405188:	dd 5d ec             	fstpl  -0x14(%ebp)
40518b:	dd 45 ec             	fldl   -0x14(%ebp)
40518e:	dd 05 08 4c 4a 00    	fldl   0x4a4c08
405194:	dc c9                	fmul   %st,%st(1)
405196:	d9 c9                	fxch   %st(1)
405198:	d8 f2                	fdiv   %st(2),%st
40519a:	db 45 f8             	fildl  -0x8(%ebp)
40519d:	dd 5d ec             	fstpl  -0x14(%ebp)
4051a0:	dd 45 ec             	fldl   -0x14(%ebp)
4051a3:	de ca                	fmulp  %st,%st(2)
4051a5:	d9 c9                	fxch   %st(1)
4051a7:	de f2                	fdivp  %st,%st(2)
4051a9:	db 40 04             	fildl  0x4(%eax)
4051ac:	dd 5d ec             	fstpl  -0x14(%ebp)
4051af:	dd 45 ec             	fldl   -0x14(%ebp)
4051b2:	dd 05 00 4c 4a 00    	fldl   0x4a4c00
4051b8:	dc f9                	fdivr  %st,%st(1)
4051ba:	db 40 08             	fildl  0x8(%eax)
4051bd:	dd 5d ec             	fstpl  -0x14(%ebp)
4051c0:	dc 7d ec             	fdivrl -0x14(%ebp)
4051c3:	d8 d2                	fcom   %st(2)
4051c5:	df e0                	fnstsw %ax
4051c7:	f6 c4 41             	test   $0x41,%ah
4051ca:	75 11                	jne    0x4051dd
4051cc:	d9 cb                	fxch   %st(3)
4051ce:	d8 d1                	fcom   %st(1)
4051d0:	df e0                	fnstsw %ax
4051d2:	f6 c4 41             	test   $0x41,%ah
4051d5:	0f 84 3b 8c 03 00    	je     0x43de16
4051db:	d9 cb                	fxch   %st(3)
4051dd:	d8 db                	fcomp  %st(3)
4051df:	df e0                	fnstsw %ax
4051e1:	dd da                	fstp   %st(2)
4051e3:	f6 c4 41             	test   $0x41,%ah
4051e6:	75 22                	jne    0x40520a
4051e8:	de d9                	fcompp
4051ea:	df e0                	fnstsw %ax
4051ec:	f6 c4 41             	test   $0x41,%ah
4051ef:	74 14                	je     0x405205
4051f1:	33 c0                	xor    %eax,%eax
4051f3:	8b e5                	mov    %ebp,%esp
4051f5:	5d                   	pop    %ebp
4051f6:	c2 08 00             	ret    $0x8
4051f9:	47                   	inc    %edi
4051fa:	e9 45 ff ff ff       	jmp    0x405144
4051ff:	40                   	inc    %eax
405200:	e9 5a ff ff ff       	jmp    0x40515f
405205:	6a 08                	push   $0x8
405207:	58                   	pop    %eax
405208:	eb e9                	jmp    0x4051f3
40520a:	dd d9                	fstp   %st(1)
40520c:	dd d8                	fstp   %st(0)
40520e:	eb e1                	jmp    0x4051f1
405210:	55                   	push   %ebp
405211:	8b ec                	mov    %esp,%ebp
405213:	8b 4d 0c             	mov    0xc(%ebp),%ecx
405216:	83 f9 02             	cmp    $0x2,%ecx
405219:	72 43                	jb     0x40525e
40521b:	53                   	push   %ebx
40521c:	56                   	push   %esi
40521d:	57                   	push   %edi
40521e:	6a 00                	push   $0x0
405220:	58                   	pop    %eax
405221:	8b f0                	mov    %eax,%esi
405223:	8b d0                	mov    %eax,%edx
405225:	49                   	dec    %ecx
405226:	74 2d                	je     0x405255
405228:	8b 7d 08             	mov    0x8(%ebp),%edi
40522b:	8a 3c 3a             	mov    (%edx,%edi,1),%bh
40522e:	8a 5c 3a 01          	mov    0x1(%edx,%edi,1),%bl
405232:	83 c2 02             	add    $0x2,%edx
405235:	84 ff                	test   %bh,%bh
405237:	0f 84 e8 8b 03 00    	je     0x43de25
40523d:	84 db                	test   %bl,%bl
40523f:	0f 84 f4 8b 03 00    	je     0x43de39
405245:	85 c0                	test   %eax,%eax
405247:	75 19                	jne    0x405262
405249:	3b d1                	cmp    %ecx,%edx
40524b:	72 de                	jb     0x40522b
40524d:	85 c0                	test   %eax,%eax
40524f:	75 17                	jne    0x405268
405251:	85 f6                	test   %esi,%esi
405253:	75 1a                	jne    0x40526f
405255:	33 c0                	xor    %eax,%eax
405257:	5f                   	pop    %edi
405258:	5e                   	pop    %esi
405259:	5b                   	pop    %ebx
40525a:	5d                   	pop    %ebp
40525b:	c2 08 00             	ret    $0x8
40525e:	33 c0                	xor    %eax,%eax
405260:	eb f8                	jmp    0x40525a
405262:	85 f6                	test   %esi,%esi
405264:	75 ef                	jne    0x405255
405266:	eb e1                	jmp    0x405249
405268:	6a 06                	push   $0x6
40526a:	e9 de 8b 03 00       	jmp    0x43de4d
40526f:	6a 08                	push   $0x8
405271:	e9 d7 8b 03 00       	jmp    0x43de4d
405276:	cc                   	int3
405277:	cc                   	int3
405278:	cc                   	int3
405279:	cc                   	int3
40527a:	cc                   	int3
40527b:	cc                   	int3
40527c:	cc                   	int3
40527d:	cc                   	int3
40527e:	cc                   	int3
40527f:	cc                   	int3
405280:	55                   	push   %ebp
405281:	8b ec                	mov    %esp,%ebp
405283:	51                   	push   %ecx
405284:	53                   	push   %ebx
405285:	56                   	push   %esi
405286:	8b 75 0c             	mov    0xc(%ebp),%esi
405289:	33 c0                	xor    %eax,%eax
40528b:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40528e:	b3 01                	mov    $0x1,%bl
405290:	57                   	push   %edi
405291:	85 f6                	test   %esi,%esi
405293:	74 18                	je     0x4052ad
405295:	8b 7d 08             	mov    0x8(%ebp),%edi
405298:	8a 14 38             	mov    (%eax,%edi,1),%dl
40529b:	40                   	inc    %eax
40529c:	84 d2                	test   %dl,%dl
40529e:	74 3e                	je     0x4052de
4052a0:	80 fa 7f             	cmp    $0x7f,%dl
4052a3:	77 16                	ja     0x4052bb
4052a5:	3b c6                	cmp    %esi,%eax
4052a7:	72 ef                	jb     0x405298
4052a9:	84 db                	test   %bl,%bl
4052ab:	74 56                	je     0x405303
4052ad:	b8 02 00 00 00       	mov    $0x2,%eax
4052b2:	5f                   	pop    %edi
4052b3:	5e                   	pop    %esi
4052b4:	5b                   	pop    %ebx
4052b5:	8b e5                	mov    %ebp,%esp
4052b7:	5d                   	pop    %ebp
4052b8:	c2 08 00             	ret    $0x8
4052bb:	8d 4a 3e             	lea    0x3e(%edx),%ecx
4052be:	80 f9 1d             	cmp    $0x1d,%cl
4052c1:	76 22                	jbe    0x4052e5
4052c3:	8d 4a 20             	lea    0x20(%edx),%ecx
4052c6:	80 f9 0f             	cmp    $0xf,%cl
4052c9:	76 24                	jbe    0x4052ef
4052cb:	80 c2 10             	add    $0x10,%dl
4052ce:	80 fa 04             	cmp    $0x4,%dl
4052d1:	76 26                	jbe    0x4052f9
4052d3:	5f                   	pop    %edi
4052d4:	5e                   	pop    %esi
4052d5:	33 c0                	xor    %eax,%eax
4052d7:	5b                   	pop    %ebx
4052d8:	8b e5                	mov    %ebp,%esp
4052da:	5d                   	pop    %ebp
4052db:	c2 08 00             	ret    $0x8
4052de:	80 39 00             	cmpb   $0x0,(%ecx)
4052e1:	75 f0                	jne    0x4052d3
4052e3:	eb c0                	jmp    0x4052a5
4052e5:	ba 01 00 00 00       	mov    $0x1,%edx
4052ea:	e9 64 8b 03 00       	jmp    0x43de53
4052ef:	ba 02 00 00 00       	mov    $0x2,%edx
4052f4:	e9 5a 8b 03 00       	jmp    0x43de53
4052f9:	ba 03 00 00 00       	mov    $0x3,%edx
4052fe:	e9 50 8b 03 00       	jmp    0x43de53
405303:	b8 04 00 00 00       	mov    $0x4,%eax
405308:	eb a8                	jmp    0x4052b2
40530a:	55                   	push   %ebp
40530b:	8b ec                	mov    %esp,%ebp
40530d:	83 7d 0c 02          	cmpl   $0x2,0xc(%ebp)
405311:	8b 45 08             	mov    0x8(%ebp),%eax
405314:	72 0c                	jb     0x405322
405316:	8a 08                	mov    (%eax),%cl
405318:	80 f9 ff             	cmp    $0xff,%cl
40531b:	74 1a                	je     0x405337
40531d:	80 f9 fe             	cmp    $0xfe,%cl
405320:	74 22                	je     0x405344
405322:	83 7d 0c 03          	cmpl   $0x3,0xc(%ebp)
405326:	72 09                	jb     0x405331
405328:	80 38 ef             	cmpb   $0xef,(%eax)
40532b:	0f 84 4f 8b 03 00    	je     0x43de80
405331:	33 c0                	xor    %eax,%eax
405333:	5d                   	pop    %ebp
405334:	c2 08 00             	ret    $0x8
405337:	80 78 01 fe          	cmpb   $0xfe,0x1(%eax)
40533b:	75 e0                	jne    0x40531d
40533d:	6a 05                	push   $0x5
40533f:	e9 36 8b 03 00       	jmp    0x43de7a
405344:	80 78 01 ff          	cmpb   $0xff,0x1(%eax)
405348:	75 d8                	jne    0x405322
40534a:	6a 07                	push   $0x7
40534c:	e9 29 8b 03 00       	jmp    0x43de7a
405351:	33 c0                	xor    %eax,%eax
405353:	83 f9 07             	cmp    $0x7,%ecx
405356:	74 12                	je     0x40536a
405358:	83 f9 05             	cmp    $0x5,%ecx
40535b:	74 0d                	je     0x40536a
40535d:	83 f9 03             	cmp    $0x3,%ecx