477c09:	00 f5                	add    %dh,%ch
477c0b:	79 47                	jns    0x477c54
477c0d:	00 f5                	add    %dh,%ch
477c0f:	79 47                	jns    0x477c58
477c11:	00 e0                	add    %ah,%al
477c13:	79 47                	jns    0x477c5c
477c15:	00 8b 42 04 8b 58    	add    %cl,0x588b0442(%ebx)
477c1b:	30 e9                	xor    %ch,%cl
477c1d:	36 65 f9             	ss gs stc
477c20:	ff 8d 55 d8 52 8d    	decl   -0x72ad27ab(%ebp)
477c26:	43                   	inc    %ebx
477c27:	20 50 57             	and    %dl,0x57(%eax)
477c2a:	e8 d9 3e fe ff       	call   0x45bb08
477c2f:	85 c0                	test   %eax,%eax
477c31:	0f 88 72 01 00 00    	js     0x477da9
477c37:	83 7b 2c 08          	cmpl   $0x8,0x2c(%ebx)
477c3b:	0f 85 68 01 00 00    	jne    0x477da9
477c41:	8d 45 d8             	lea    -0x28(%ebp),%eax
477c44:	50                   	push   %eax
477c45:	8b cf                	mov    %edi,%ecx
477c47:	e8 62 60 f9 ff       	call   0x40dcae
477c4c:	8b 4b 04             	mov    0x4(%ebx),%ecx
477c4f:	8b 45 0c             	mov    0xc(%ebp),%eax
477c52:	41                   	inc    %ecx
477c53:	89 08                	mov    %ecx,(%eax)
477c55:	e9 1a 66 f9 ff       	jmp    0x40e274
477c5a:	8d 4b 10             	lea    0x10(%ebx),%ecx
477c5d:	6a 01                	push   $0x1
477c5f:	e8 bb 43 fa ff       	call   0x41c01f
477c64:	8d 4b 20             	lea    0x20(%ebx),%ecx
477c67:	8d 70 ff             	lea    -0x1(%eax),%esi
477c6a:	e8 17 56 f9 ff       	call   0x40d286
477c6f:	3b c6                	cmp    %esi,%eax
477c71:	0f 8d 32 01 00 00    	jge    0x477da9
477c77:	8d 4b 20             	lea    0x20(%ebx),%ecx
477c7a:	e8 07 56 f9 ff       	call   0x40d286
477c7f:	8d 4b 20             	lea    0x20(%ebx),%ecx
477c82:	8d 70 01             	lea    0x1(%eax),%esi
477c85:	e8 96 af f9 ff       	call   0x412c20
477c8a:	89 73 20             	mov    %esi,0x20(%ebx)
477c8d:	8d 73 10             	lea    0x10(%ebx),%esi
477c90:	8b ce                	mov    %esi,%ecx
477c92:	c7 43 2c 01 00 00 00 	movl   $0x1,0x2c(%ebx)
477c99:	e8 be 44 fa ff       	call   0x41c15c
477c9e:	8d 4b 20             	lea    0x20(%ebx),%ecx
477ca1:	e8 e0 55 f9 ff       	call   0x40d286
477ca6:	50                   	push   %eax
477ca7:	8b ce                	mov    %esi,%ecx
477ca9:	e8 c9 44 fa ff       	call   0x41c177
477cae:	6a 00                	push   $0x0
477cb0:	6a 01                	push   $0x1
477cb2:	56                   	push   %esi
477cb3:	e8 d8 9e f9 ff       	call   0x411b90
477cb8:	83 c4 0c             	add    $0xc,%esp
477cbb:	85 c0                	test   %eax,%eax
477cbd:	0f 84 d3 06 00 00    	je     0x478396
477cc3:	6a 00                	push   $0x0
477cc5:	6a 00                	push   $0x0
477cc7:	56                   	push   %esi
477cc8:	e8 c3 9e f9 ff       	call   0x411b90
477ccd:	83 c4 0c             	add    $0xc,%esp
477cd0:	8b cf                	mov    %edi,%ecx
477cd2:	50                   	push   %eax
477cd3:	e8 d6 5f f9 ff       	call   0x40dcae
477cd8:	8b 4b 04             	mov    0x4(%ebx),%ecx
477cdb:	8b 45 0c             	mov    0xc(%ebp),%eax
477cde:	41                   	inc    %ecx
477cdf:	89 08                	mov    %ecx,(%eax)
477ce1:	e9 8e 65 f9 ff       	jmp    0x40e274
477ce6:	8b 43 10             	mov    0x10(%ebx),%eax
477ce9:	8d 4b 20             	lea    0x20(%ebx),%ecx
477cec:	8b 40 04             	mov    0x4(%eax),%eax
477cef:	8b 70 08             	mov    0x8(%eax),%esi
477cf2:	e8 8f 55 f9 ff       	call   0x40d286
477cf7:	8d 4e ff             	lea    -0x1(%esi),%ecx
477cfa:	3b c1                	cmp    %ecx,%eax
477cfc:	0f 8d 93 00 00 00    	jge    0x477d95
477d02:	8d 4b 20             	lea    0x20(%ebx),%ecx
477d05:	e8 7c 55 f9 ff       	call   0x40d286
477d0a:	8d 4b 20             	lea    0x20(%ebx),%ecx
477d0d:	8d 70 01             	lea    0x1(%eax),%esi
477d10:	e8 0b af f9 ff       	call   0x412c20
477d15:	c7 43 2c 01 00 00 00 	movl   $0x1,0x2c(%ebx)
477d1c:	89 73 20             	mov    %esi,0x20(%ebx)
477d1f:	83 7b 1c 0f          	cmpl   $0xf,0x1c(%ebx)
477d23:	75 05                	jne    0x477d2a
477d25:	8b 73 10             	mov    0x10(%ebx),%esi
477d28:	eb 02                	jmp    0x477d2c
477d2a:	33 f6                	xor    %esi,%esi
477d2c:	8d 4b 20             	lea    0x20(%ebx),%ecx
477d2f:	e8 52 55 f9 ff       	call   0x40d286
477d34:	50                   	push   %eax
477d35:	8b ce                	mov    %esi,%ecx
477d37:	e8 ff c6 fc ff       	call   0x44443b
477d3c:	8b f0                	mov    %eax,%esi
477d3e:	6a 29                	push   $0x29
477d40:	8b ce                	mov    %esi,%ecx
477d42:	e8 a5 9e f8 ff       	call   0x401bec
477d47:	84 c0                	test   %al,%al
477d49:	74 3d                	je     0x477d88
477d4b:	8b ce                	mov    %esi,%ecx
477d4d:	e8 1a 16 f9 ff       	call   0x40936c
477d52:	8b 4e 08             	mov    0x8(%esi),%ecx
477d55:	ba 08 36 4b 00       	mov    $0x4b3608,%edx
477d5a:	e8 d0 6e fa ff       	call   0x41ec2f
477d5f:	84 c0                	test   %al,%al
477d61:	74 25                	je     0x477d88
477d63:	83 7b 1c 0f          	cmpl   $0xf,0x1c(%ebx)
477d67:	75 10                	jne    0x477d79
477d69:	8b 43 10             	mov    0x10(%ebx),%eax
477d6c:	50                   	push   %eax
477d6d:	8b cf                	mov    %edi,%ecx
477d6f:	e8 c8 20 fd ff       	call   0x449e3c
477d74:	e9 8e 65 f9 ff       	jmp    0x40e307
477d79:	33 c0                	xor    %eax,%eax
477d7b:	50                   	push   %eax
477d7c:	8b cf                	mov    %edi,%ecx
477d7e:	e8 b9 20 fd ff       	call   0x449e3c
477d83:	e9 7f 65 f9 ff       	jmp    0x40e307
477d88:	56                   	push   %esi
477d89:	8b cf                	mov    %edi,%ecx
477d8b:	e8 1e 5f f9 ff       	call   0x40dcae
477d90:	e9 72 65 f9 ff       	jmp    0x40e307
477d95:	8b cf                	mov    %edi,%ecx
477d97:	e8 84 ae f9 ff       	call   0x412c20
477d9c:	c7 47 0c 01 00 00 00 	movl   $0x1,0xc(%edi)
477da3:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
477da9:	8b 4d fc             	mov    -0x4(%ebp),%ecx
477dac:	e8 71 60 f9 ff       	call   0x40de22
477db1:	e9 be 64 f9 ff       	jmp    0x40e274
477db6:	8b 46 0c             	mov    0xc(%esi),%eax
477db9:	83 f8 01             	cmp    $0x1,%eax
477dbc:	74 09                	je     0x477dc7
477dbe:	83 f8 02             	cmp    $0x2,%eax
477dc1:	0f 85 71 65 f9 ff    	jne    0x40e338
477dc7:	8b ce                	mov    %esi,%ecx
477dc9:	e8 c5 51 f9 ff       	call   0x40cf93
477dce:	01 07                	add    %eax,(%edi)
477dd0:	11 57 04             	adc    %edx,0x4(%edi)
477dd3:	e9 f5 63 f9 ff       	jmp    0x40e1cd
477dd8:	83 7e 0c 0b          	cmpl   $0xb,0xc(%esi)
477ddc:	0f 85 56 65 f9 ff    	jne    0x40e338
477de2:	8b ce                	mov    %esi,%ecx
477de4:	e8 b5 37 fd ff       	call   0x44b59e
477de9:	8b 4d f8             	mov    -0x8(%ebp),%ecx
477dec:	8b f8                	mov    %eax,%edi
477dee:	8b 09                	mov    (%ecx),%ecx
477df0:	03 39                	add    (%ecx),%edi
477df2:	57                   	push   %edi
477df3:	e8 f2 76 fa ff       	call   0x41f4ea
477df8:	8b f0                	mov    %eax,%esi
477dfa:	8b 45 f8             	mov    -0x8(%ebp),%eax
477dfd:	83 c4 04             	add    $0x4,%esp
477e00:	8b 08                	mov    (%eax),%ecx
477e02:	ff 31                	push   (%ecx)
477e04:	ff 71 04             	push   0x4(%ecx)
477e07:	56                   	push   %esi
477e08:	e8 73 70 fa ff       	call   0x41ee80
477e0d:	83 c4 0c             	add    $0xc,%esp
477e10:	8d 4b 20             	lea    0x20(%ebx),%ecx
477e13:	e8 86 37 fd ff       	call   0x44b59e
477e18:	50                   	push   %eax
477e19:	51                   	push   %ecx
477e1a:	e8 3c 37 fd ff       	call   0x44b55b
477e1f:	83 c4 04             	add    $0x4,%esp
477e22:	50                   	push   %eax
477e23:	8b 45 f8             	mov    -0x8(%ebp),%eax
477e26:	8b 00                	mov    (%eax),%eax
477e28:	8b 00                	mov    (%eax),%eax
477e2a:	03 c6                	add    %esi,%eax
477e2c:	50                   	push   %eax
477e2d:	e8 4e 70 fa ff       	call   0x41ee80
477e32:	8b 45 f8             	mov    -0x8(%ebp),%eax
477e35:	83 c4 0c             	add    $0xc,%esp
477e38:	8b 00                	mov    (%eax),%eax
477e3a:	ff 70 04             	push   0x4(%eax)
477e3d:	e8 1c 77 fa ff       	call   0x41f55e
477e42:	8b 4d f8             	mov    -0x8(%ebp),%ecx
477e45:	83 c4 04             	add    $0x4,%esp
477e48:	8b 01                	mov    (%ecx),%eax
477e4a:	89 70 04             	mov    %esi,0x4(%eax)
477e4d:	8b 01                	mov    (%ecx),%eax
477e4f:	8d 73 20             	lea    0x20(%ebx),%esi
477e52:	89 38                	mov    %edi,(%eax)
477e54:	8b f9                	mov    %ecx,%edi
477e56:	e9 72 63 f9 ff       	jmp    0x40e1cd
477e5b:	83 7e 0c 01          	cmpl   $0x1,0xc(%esi)
477e5f:	8b 07                	mov    (%edi),%eax
477e61:	89 45 f8             	mov    %eax,-0x8(%ebp)
477e64:	8b ce                	mov    %esi,%ecx
477e66:	75 11                	jne    0x477e79
477e68:	e8 19 54 f9 ff       	call   0x40d286
477e6d:	8b 4d f8             	mov    -0x8(%ebp),%ecx
477e70:	03 c8                	add    %eax,%ecx
477e72:	89 0f                	mov    %ecx,(%edi)
477e74:	e9 54 63 f9 ff       	jmp    0x40e1cd
477e79:	e8 15 51 f9 ff       	call   0x40cf93
477e7e:	8b 4d f8             	mov    -0x8(%ebp),%ecx
477e81:	03 c8                	add    %eax,%ecx
477e83:	89 0f                	mov    %ecx,(%edi)
477e85:	e9 43 63 f9 ff       	jmp    0x40e1cd
477e8a:	8b 45 f8             	mov    -0x8(%ebp),%eax
477e8d:	c7 47 0c 02 00 00 00 	movl   $0x2,0xc(%edi)
477e94:	89 07                	mov    %eax,(%edi)
477e96:	89 4f 04             	mov    %ecx,0x4(%edi)
477e99:	e9 2f 63 f9 ff       	jmp    0x40e1cd
477e9e:	83 f8 02             	cmp    $0x2,%eax
477ea1:	0f 85 91 64 f9 ff    	jne    0x40e338
477ea7:	8b 07                	mov    (%edi),%eax
477ea9:	99                   	cltd
477eaa:	03 06                	add    (%esi),%eax
477eac:	13 56 04             	adc    0x4(%esi),%edx
477eaf:	89 07                	mov    %eax,(%edi)
477eb1:	89 57 04             	mov    %edx,0x4(%edi)
477eb4:	c7 47 0c 02 00 00 00 	movl   $0x2,0xc(%edi)
477ebb:	e9 0d 63 f9 ff       	jmp    0x40e1cd
477ec0:	51                   	push   %ecx
477ec1:	e8 d3 ab f8 ff       	call   0x402a99
477ec6:	8b 55 fc             	mov    -0x4(%ebp),%edx
477ec9:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
477ed0:	e9 06 63 f9 ff       	jmp    0x40e1db
477ed5:	51                   	push   %ecx
477ed6:	e8 be ab f8 ff       	call   0x402a99
477edb:	8b 55 fc             	mov    -0x4(%ebp),%edx
477ede:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
477ee5:	e9 fc 62 f9 ff       	jmp    0x40e1e6
477eea:	83 c0 fb             	add    $0xfffffffb,%eax
477eed:	83 f8 0a             	cmp    $0xa,%eax
477ef0:	0f 87 fc 62 f9 ff    	ja     0x40e1f2
477ef6:	ff 24 85 6e 84 47 00 	jmp    *0x47846e(,%eax,4)
477efd:	8b 4d d8             	mov    -0x28(%ebp),%ecx
477f00:	85 c9                	test   %ecx,%ecx
477f02:	0f 84 ea 62 f9 ff    	je     0x40e1f2
477f08:	51                   	push   %ecx
477f09:	ff 15 4c d4 48 00    	call   *0x48d44c
477f0f:	ff 75 d8             	push   -0x28(%ebp)
477f12:	e8 47 76 fa ff       	call   0x41f55e
477f17:	8b 55 fc             	mov    -0x4(%ebp),%edx
477f1a:	83 c4 04             	add    $0x4,%esp
477f1d:	e9 d0 62 f9 ff       	jmp    0x40e1f2
477f22:	8b 4d d8             	mov    -0x28(%ebp),%ecx
477f25:	85 c9                	test   %ecx,%ecx
477f27:	0f 84 c5 62 f9 ff    	je     0x40e1f2
477f2d:	51                   	push   %ecx
477f2e:	e8 38 22 fd ff       	call   0x44a16b
477f33:	8b 55 fc             	mov    -0x4(%ebp),%edx
477f36:	e9 b7 62 f9 ff       	jmp    0x40e1f2
477f3b:	8d 4d d8             	lea    -0x28(%ebp),%ecx
477f3e:	e8 7b 5d fa ff       	call   0x41dcbe
477f43:	8b 55 fc             	mov    -0x4(%ebp),%edx
477f46:	e9 a7 62 f9 ff       	jmp    0x40e1f2
477f4b:	8b 45 d8             	mov    -0x28(%ebp),%eax
477f4e:	ff 70 04             	push   0x4(%eax)
477f51:	e8 08 76 fa ff       	call   0x41f55e
477f56:	83 c4 04             	add    $0x4,%esp
477f59:	ff 75 d8             	push   -0x28(%ebp)
477f5c:	e8 fd 75 fa ff       	call   0x41f55e
477f61:	8b 55 fc             	mov    -0x4(%ebp),%edx
477f64:	83 c4 04             	add    $0x4,%esp
477f67:	e9 86 62 f9 ff       	jmp    0x40e1f2
477f6c:	8b 4d d8             	mov    -0x28(%ebp),%ecx
477f6f:	85 c9                	test   %ecx,%ecx
477f71:	0f 84 7b 62 f9 ff    	je     0x40e1f2
477f77:	51                   	push   %ecx
477f78:	e8 46 18 fc ff       	call   0x4397c3
477f7d:	8b 55 fc             	mov    -0x4(%ebp),%edx
477f80:	e9 6d 62 f9 ff       	jmp    0x40e1f2
477f85:	8b 4d d8             	mov    -0x28(%ebp),%ecx
477f88:	85 c9                	test   %ecx,%ecx
477f8a:	0f 84 62 62 f9 ff    	je     0x40e1f2
477f90:	51                   	push   %ecx
477f91:	e8 57 18 fc ff       	call   0x4397ed
477f96:	8b 55 fc             	mov    -0x4(%ebp),%edx
477f99:	e9 54 62 f9 ff       	jmp    0x40e1f2
477f9e:	8b 4d d8             	mov    -0x28(%ebp),%ecx
477fa1:	85 c9                	test   %ecx,%ecx
477fa3:	0f 84 49 62 f9 ff    	je     0x40e1f2
477fa9:	51                   	push   %ecx
477faa:	e8 ea aa f8 ff       	call   0x402a99
477faf:	8b 55 fc             	mov    -0x4(%ebp),%edx
477fb2:	e9 3b 62 f9 ff       	jmp    0x40e1f2
477fb7:	48                   	dec    %eax
477fb8:	dd d8                	fstp   %st(0)
477fba:	83 f8 08             	cmp    $0x8,%eax
477fbd:	0f 87 6a 62 f9 ff    	ja     0x40e22d
477fc3:	ff 24 85 9a 84 47 00 	jmp    *0x47849a(,%eax,4)
477fca:	8d 4d d8             	lea    -0x28(%ebp),%ecx
477fcd:	e8 9a 13 f9 ff       	call   0x40936c
477fd2:	8b 75 e0             	mov    -0x20(%ebp),%esi
477fd5:	8d 4b 20             	lea    0x20(%ebx),%ecx
477fd8:	e8 8f 13 f9 ff       	call   0x40936c
477fdd:	8b 4b 28             	mov    0x28(%ebx),%ecx
477fe0:	6a 00                	push   $0x0
477fe2:	56                   	push   %esi
477fe3:	e8 76 53 fa ff       	call   0x41d35e
477fe8:	85 c0                	test   %eax,%eax
477fea:	0f 88 94 03 00 00    	js     0x478384
477ff0:	8b 55 fc             	mov    -0x4(%ebp),%edx
477ff3:	e9 35 62 f9 ff       	jmp    0x40e22d
477ff8:	8b ce                	mov    %esi,%ecx
477ffa:	e8 87 52 f9 ff       	call   0x40d286
477fff:	8d 4d d8             	lea    -0x28(%ebp),%ecx
478002:	8b f0                	mov    %eax,%esi
478004:	e8 7d 52 f9 ff       	call   0x40d286
478009:	3b f0                	cmp    %eax,%esi
47800b:	0f 8c 73 03 00 00    	jl     0x478384
478011:	8b 55 fc             	mov    -0x4(%ebp),%edx
478014:	e9 14 62 f9 ff       	jmp    0x40e22d
478019:	8b ce                	mov    %esi,%ecx
47801b:	e8 73 4f f9 ff       	call   0x40cf93
478020:	8d 4d d8             	lea    -0x28(%ebp),%ecx
478023:	89 45 ec             	mov    %eax,-0x14(%ebp)
478026:	8b f2                	mov    %edx,%esi
478028:	e8 66 4f f9 ff       	call   0x40cf93
47802d:	3b f2                	cmp    %edx,%esi
47802f:	0f 8c 4f 03 00 00    	jl     0x478384
478035:	7f 09                	jg     0x478040
478037:	39 45 ec             	cmp    %eax,-0x14(%ebp)
47803a:	0f 82 44 03 00 00    	jb     0x478384
478040:	8b 55 fc             	mov    -0x4(%ebp),%edx
478043:	e9 e5 61 f9 ff       	jmp    0x40e22d
478048:	8b ce                	mov    %esi,%ecx
47804a:	e8 28 35 fd ff       	call   0x44b577
47804f:	8d 4d d8             	lea    -0x28(%ebp),%ecx
478052:	8b f0                	mov    %eax,%esi
478054:	e8 1e 35 fd ff       	call   0x44b577
478059:	3b f0                	cmp    %eax,%esi
47805b:	0f 82 23 03 00 00    	jb     0x478384
478061:	8b 55 fc             	mov    -0x4(%ebp),%edx
478064:	e9 c4 61 f9 ff       	jmp    0x40e22d
478069:	83 e9 02             	sub    $0x2,%ecx
47806c:	83 f9 08             	cmp    $0x8,%ecx
47806f:	0f 87 20 01 00 00    	ja     0x478195
478075:	ff 24 8d be 84 47 00 	jmp    *0x4784be(,%ecx,4)
47807c:	dd 06                	fldl   (%esi)
47807e:	e9 9d 61 f9 ff       	jmp    0x40e220
478083:	8b 46 08             	mov    0x8(%esi),%eax
478086:	dd d8                	fstp   %st(0)
478088:	8b ce                	mov    %esi,%ecx
47808a:	8b 10                	mov    (%eax),%edx
47808c:	e8 58 4f f9 ff       	call   0x40cfe9
478091:	84 c0                	test   %al,%al
478093:	74 12                	je     0x4780a7
478095:	8d 4a 04             	lea    0x4(%edx),%ecx
478098:	6a 08                	push   $0x8
47809a:	8d 55 e8             	lea    -0x18(%ebp),%edx
47809d:	e8 af 43 fa ff       	call   0x41c451
4780a2:	df 6d e8             	fildll -0x18(%ebp)
4780a5:	eb 06                	jmp    0x4780ad
4780a7:	52                   	push   %edx