404e35:	8b f0                	mov    %eax,%esi
404e37:	89 45 08             	mov    %eax,0x8(%ebp)
404e3a:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
404e40:	80 7b 14 00          	cmpb   $0x0,0x14(%ebx)
404e44:	0f 85 e1 00 00 00    	jne    0x404f2b
404e4a:	b9 00 00 01 00       	mov    $0x10000,%ecx
404e4f:	ff 33                	push   (%ebx)
404e51:	51                   	push   %ecx
404e52:	6a 01                	push   $0x1
404e54:	ff 75 ec             	push   -0x14(%ebp)
404e57:	8b cb                	mov    %ebx,%ecx
404e59:	e8 0d 02 00 00       	call   0x40506b
404e5e:	89 45 f8             	mov    %eax,-0x8(%ebp)
404e61:	83 f8 18             	cmp    $0x18,%eax
404e64:	7c 63                	jl     0x404ec9
404e66:	8d 78 ec             	lea    -0x14(%eax),%edi
404e69:	33 d2                	xor    %edx,%edx
404e6b:	85 ff                	test   %edi,%edi
404e6d:	7e 30                	jle    0x404e9f
404e6f:	8b 75 ec             	mov    -0x14(%ebp),%esi
404e72:	83 c6 02             	add    $0x2,%esi
404e75:	33 c0                	xor    %eax,%eax
404e77:	eb 07                	jmp    0x404e80
404e79:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
404e80:	8a 4c 05 d8          	mov    -0x28(%ebp,%eax,1),%cl
404e84:	3a 4c 06 fe          	cmp    -0x2(%esi,%eax,1),%cl
404e88:	74 32                	je     0x404ebc
404e8a:	83 f8 14             	cmp    $0x14,%eax
404e8d:	0f 84 3d 8e 03 00    	je     0x43dcd0
404e93:	42                   	inc    %edx
404e94:	46                   	inc    %esi
404e95:	3b d7                	cmp    %edi,%edx
404e97:	7c dc                	jl     0x404e75
404e99:	8b 45 f8             	mov    -0x8(%ebp),%eax
404e9c:	8b 75 08             	mov    0x8(%ebp),%esi
404e9f:	80 7b 14 00          	cmpb   $0x0,0x14(%ebx)
404ea3:	75 24                	jne    0x404ec9
404ea5:	6a 01                	push   $0x1
404ea7:	83 c6 ec             	add    $0xffffffec,%esi
404eaa:	8b cb                	mov    %ebx,%ecx
404eac:	6a ec                	push   $0xffffffec
404eae:	ff 33                	push   (%ebx)
404eb0:	03 f0                	add    %eax,%esi
404eb2:	89 75 08             	mov    %esi,0x8(%ebp)
404eb5:	e8 8b 01 00 00       	call   0x405045
404eba:	eb 84                	jmp    0x404e40
404ebc:	8a 4c 05 d9          	mov    -0x27(%ebp,%eax,1),%cl
404ec0:	3a 4c 06 ff          	cmp    -0x1(%esi,%eax,1),%cl
404ec4:	74 2d                	je     0x404ef3
404ec6:	40                   	inc    %eax
404ec7:	eb c1                	jmp    0x404e8a
404ec9:	be 03 00 00 00       	mov    $0x3,%esi
404ece:	8d 4d ec             	lea    -0x14(%ebp),%ecx
404ed1:	e8 9b 04 00 00       	call   0x405371
404ed6:	5f                   	pop    %edi
404ed7:	8b c6                	mov    %esi,%eax
404ed9:	5e                   	pop    %esi
404eda:	5b                   	pop    %ebx
404edb:	8b e5                	mov    %ebp,%esp
404edd:	5d                   	pop    %ebp
404ede:	c2 04 00             	ret    $0x4
404ee1:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
404ee5:	8b cb                	mov    %ebx,%ecx
404ee7:	74 38                	je     0x404f21
404ee9:	e8 fb 00 00 00       	call   0x404fe9
404eee:	e9 39 ff ff ff       	jmp    0x404e2c
404ef3:	8a 4c 05 da          	mov    -0x26(%ebp,%eax,1),%cl
404ef7:	3a 0c 06             	cmp    (%esi,%eax,1),%cl
404efa:	74 05                	je     0x404f01
404efc:	83 c0 02             	add    $0x2,%eax
404eff:	eb 89                	jmp    0x404e8a
404f01:	8a 4c 05 db          	mov    -0x25(%ebp,%eax,1),%cl
404f05:	3a 4c 06 01          	cmp    0x1(%esi,%eax,1),%cl
404f09:	75 2a                	jne    0x404f35
404f0b:	8a 4c 05 dc          	mov    -0x24(%ebp,%eax,1),%cl
404f0f:	3a 4c 06 02          	cmp    0x2(%esi,%eax,1),%cl
404f13:	0f 84 a6 8d 03 00    	je     0x43dcbf
404f19:	83 c0 04             	add    $0x4,%eax
404f1c:	e9 69 ff ff ff       	jmp    0x404e8a
404f21:	e8 7f 4c 06 00       	call   0x469ba5
404f26:	e9 01 ff ff ff       	jmp    0x404e2c
404f2b:	b9 18 00 00 00       	mov    $0x18,%ecx
404f30:	e9 1a ff ff ff       	jmp    0x404e4f
404f35:	83 c0 03             	add    $0x3,%eax
404f38:	e9 4d ff ff ff       	jmp    0x404e8a
404f3d:	55                   	push   %ebp
404f3e:	8b ec                	mov    %esp,%ebp
404f40:	83 ec 18             	sub    $0x18,%esp
404f43:	56                   	push   %esi
404f44:	8b f1                	mov    %ecx,%esi
404f46:	8d 4d fc             	lea    -0x4(%ebp),%ecx
404f49:	57                   	push   %edi
404f4a:	e8 c4 fd ff ff       	call   0x404d13
404f4f:	68 24 fb 48 00       	push   $0x48fb24
404f54:	ff 75 08             	push   0x8(%ebp)
404f57:	e8 2f 05 02 00       	call   0x42548b
404f5c:	89 06                	mov    %eax,(%esi)
404f5e:	59                   	pop    %ecx
404f5f:	59                   	pop    %ecx
404f60:	85 c0                	test   %eax,%eax
404f62:	0f 84 a7 8d 03 00    	je     0x43dd0f
404f68:	6a 02                	push   $0x2
404f6a:	6a 00                	push   $0x0
404f6c:	ff 75 08             	push   0x8(%ebp)
404f6f:	ff 15 7c f2 48 00    	call   *0x48f27c
404f75:	8d 4d fc             	lea    -0x4(%ebp),%ecx
404f78:	89 46 0c             	mov    %eax,0xc(%esi)
404f7b:	e8 48 fd ff ff       	call   0x404cc8
404f80:	83 7d 0c 01          	cmpl   $0x1,0xc(%ebp)
404f84:	8b ce                	mov    %esi,%ecx
404f86:	0f 94 c0             	sete   %al
404f89:	50                   	push   %eax
404f8a:	e8 41 fe ff ff       	call   0x404dd0
404f8f:	8b f8                	mov    %eax,%edi
404f91:	8b ce                	mov    %esi,%ecx
404f93:	85 ff                	test   %edi,%edi
404f95:	0f 84 8b 8d 03 00    	je     0x43dd26
404f9b:	e8 0a 00 00 00       	call   0x404faa
404fa0:	8b c7                	mov    %edi,%eax
404fa2:	5f                   	pop    %edi
404fa3:	5e                   	pop    %esi
404fa4:	8b e5                	mov    %ebp,%esp
404fa6:	5d                   	pop    %ebp
404fa7:	c2 08 00             	ret    $0x8
404faa:	53                   	push   %ebx
404fab:	56                   	push   %esi
404fac:	8b f1                	mov    %ecx,%esi
404fae:	33 db                	xor    %ebx,%ebx
404fb0:	39 1e                	cmp    %ebx,(%esi)
404fb2:	74 0a                	je     0x404fbe
404fb4:	ff 36                	push   (%esi)
404fb6:	e8 1b 06 02 00       	call   0x4255d6
404fbb:	59                   	pop    %ecx
404fbc:	89 1e                	mov    %ebx,(%esi)
404fbe:	8b 4e 10             	mov    0x10(%esi),%ecx
404fc1:	85 c9                	test   %ecx,%ecx
404fc3:	75 0b                	jne    0x404fd0
404fc5:	39 5e 0c             	cmp    %ebx,0xc(%esi)
404fc8:	75 11                	jne    0x404fdb
404fca:	88 5e 14             	mov    %bl,0x14(%esi)
404fcd:	5e                   	pop    %esi
404fce:	5b                   	pop    %ebx
404fcf:	c3                   	ret
404fd0:	8b 01                	mov    (%ecx),%eax
404fd2:	51                   	push   %ecx
404fd3:	ff 50 08             	call   *0x8(%eax)
404fd6:	89 5e 10             	mov    %ebx,0x10(%esi)
404fd9:	eb ea                	jmp    0x404fc5
404fdb:	ff 76 0c             	push   0xc(%esi)
404fde:	ff 15 98 f1 48 00    	call   *0x48f198
404fe4:	89 5e 0c             	mov    %ebx,0xc(%esi)
404fe7:	eb e1                	jmp    0x404fca
404fe9:	55                   	push   %ebp
404fea:	8b ec                	mov    %esp,%ebp
404fec:	51                   	push   %ecx
404fed:	53                   	push   %ebx
404fee:	56                   	push   %esi
404fef:	8b f1                	mov    %ecx,%esi
404ff1:	8d 5e 10             	lea    0x10(%esi),%ebx
404ff4:	53                   	push   %ebx
404ff5:	6a 01                	push   $0x1
404ff7:	6a 00                	push   $0x0
404ff9:	ff 15 54 f8 48 00    	call   *0x48f854
404fff:	85 c0                	test   %eax,%eax
405001:	78 1e                	js     0x405021
405003:	57                   	push   %edi
405004:	6a 00                	push   $0x0
405006:	68 f0 fa 48 00       	push   $0x48faf0
40500b:	6a 0a                	push   $0xa
40500d:	ff 76 0c             	push   0xc(%esi)
405010:	ff 15 80 f2 48 00    	call   *0x48f280
405016:	8b f8                	mov    %eax,%edi
405018:	85 ff                	test   %edi,%edi
40501a:	0f 85 3c 8d 03 00    	jne    0x43dd5c
405020:	5f                   	pop    %edi
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)