436bd2:	8b 44 24 10          	mov    0x10(%esp),%eax
436bd6:	f7 f1                	div    %ecx
436bd8:	8b f0                	mov    %eax,%esi
436bda:	8b c3                	mov    %ebx,%eax
436bdc:	f7 64 24 18          	mull   0x18(%esp)
436be0:	8b c8                	mov    %eax,%ecx
436be2:	8b c6                	mov    %esi,%eax
436be4:	f7 64 24 18          	mull   0x18(%esp)
436be8:	03 d1                	add    %ecx,%edx
436bea:	eb 47                	jmp    0x436c33
436bec:	8b d8                	mov    %eax,%ebx
436bee:	8b 4c 24 18          	mov    0x18(%esp),%ecx
436bf2:	8b 54 24 14          	mov    0x14(%esp),%edx
436bf6:	8b 44 24 10          	mov    0x10(%esp),%eax
436bfa:	d1 eb                	shr    $1,%ebx
436bfc:	d1 d9                	rcr    $1,%ecx
436bfe:	d1 ea                	shr    $1,%edx
436c00:	d1 d8                	rcr    $1,%eax
436c02:	0b db                	or     %ebx,%ebx
436c04:	75 f4                	jne    0x436bfa
436c06:	f7 f1                	div    %ecx
436c08:	8b f0                	mov    %eax,%esi
436c0a:	f7 64 24 1c          	mull   0x1c(%esp)
436c0e:	8b c8                	mov    %eax,%ecx
436c10:	8b 44 24 18          	mov    0x18(%esp),%eax
436c14:	f7 e6                	mul    %esi
436c16:	03 d1                	add    %ecx,%edx
436c18:	72 0e                	jb     0x436c28
436c1a:	3b 54 24 14          	cmp    0x14(%esp),%edx
436c1e:	77 08                	ja     0x436c28
436c20:	72 0f                	jb     0x436c31
436c22:	3b 44 24 10          	cmp    0x10(%esp),%eax
436c26:	76 09                	jbe    0x436c31
436c28:	4e                   	dec    %esi
436c29:	2b 44 24 18          	sub    0x18(%esp),%eax
436c2d:	1b 54 24 1c          	sbb    0x1c(%esp),%edx
436c31:	33 db                	xor    %ebx,%ebx
436c33:	2b 44 24 10          	sub    0x10(%esp),%eax
436c37:	1b 54 24 14          	sbb    0x14(%esp),%edx
436c3b:	4d                   	dec    %ebp
436c3c:	79 07                	jns    0x436c45
436c3e:	f7 da                	neg    %edx
436c40:	f7 d8                	neg    %eax
436c42:	83 da 00             	sbb    $0x0,%edx
436c45:	8b ca                	mov    %edx,%ecx
436c47:	8b d3                	mov    %ebx,%edx
436c49:	8b d9                	mov    %ecx,%ebx
436c4b:	8b c8                	mov    %eax,%ecx
436c4d:	8b c6                	mov    %esi,%eax
436c4f:	4f                   	dec    %edi
436c50:	75 07                	jne    0x436c59
436c52:	f7 da                	neg    %edx
436c54:	f7 d8                	neg    %eax
436c56:	83 da 00             	sbb    $0x0,%edx
436c59:	5d                   	pop    %ebp
436c5a:	5e                   	pop    %esi
436c5b:	5f                   	pop    %edi
436c5c:	c2 10 00             	ret    $0x10
436c5f:	55                   	push   %ebp
436c60:	8b ec                	mov    %esp,%ebp
436c62:	8b 4d 10             	mov    0x10(%ebp),%ecx
436c65:	8b 45 0c             	mov    0xc(%ebp),%eax
436c68:	81 e1 ff ff f7 ff    	and    $0xfff7ffff,%ecx
436c6e:	23 c1                	and    %ecx,%eax
436c70:	56                   	push   %esi
436c71:	8b 75 08             	mov    0x8(%ebp),%esi
436c74:	a9 e0 fc f0 fc       	test   $0xfcf0fce0,%eax
436c79:	74 24                	je     0x436c9f
436c7b:	85 f6                	test   %esi,%esi
436c7d:	74 0d                	je     0x436c8c
436c7f:	6a 00                	push   $0x0
436c81:	6a 00                	push   $0x0
436c83:	e8 ae 17 00 00       	call   0x438436
436c88:	59                   	pop    %ecx
436c89:	59                   	pop    %ecx
436c8a:	89 06                	mov    %eax,(%esi)
436c8c:	e8 7d 0f ff ff       	call   0x427c0e
436c91:	6a 16                	push   $0x16
436c93:	5e                   	pop    %esi
436c94:	89 30                	mov    %esi,(%eax)
436c96:	e8 75 01 ff ff       	call   0x426e10
436c9b:	8b c6                	mov    %esi,%eax
436c9d:	eb 1a                	jmp    0x436cb9
436c9f:	51                   	push   %ecx
436ca0:	ff 75 0c             	push   0xc(%ebp)
436ca3:	85 f6                	test   %esi,%esi
436ca5:	74 09                	je     0x436cb0
436ca7:	e8 8a 17 00 00       	call   0x438436
436cac:	89 06                	mov    %eax,(%esi)
436cae:	eb 05                	jmp    0x436cb5
436cb0:	e8 81 17 00 00       	call   0x438436
436cb5:	59                   	pop    %ecx
436cb6:	59                   	pop    %ecx
436cb7:	33 c0                	xor    %eax,%eax
436cb9:	5e                   	pop    %esi
436cba:	5d                   	pop    %ebp
436cbb:	c3                   	ret
436cbc:	55                   	push   %ebp
436cbd:	8b ec                	mov    %esp,%ebp
436cbf:	83 ec 24             	sub    $0x24,%esp
436cc2:	8d 4d dc             	lea    -0x24(%ebp),%ecx
436cc5:	ff 75 08             	push   0x8(%ebp)
436cc8:	e8 52 a2 fe ff       	call   0x420f1f
436ccd:	8b 45 10             	mov    0x10(%ebp),%eax
436cd0:	85 c0                	test   %eax,%eax
436cd2:	74 05                	je     0x436cd9
436cd4:	8b 4d 0c             	mov    0xc(%ebp),%ecx
436cd7:	89 08                	mov    %ecx,(%eax)
436cd9:	8b 45 0c             	mov    0xc(%ebp),%eax
436cdc:	53                   	push   %ebx
436cdd:	56                   	push   %esi
436cde:	57                   	push   %edi
436cdf:	85 c0                	test   %eax,%eax
436ce1:	74 11                	je     0x436cf4
436ce3:	8b 7d 14             	mov    0x14(%ebp),%edi
436ce6:	85 ff                	test   %edi,%edi
436ce8:	74 1f                	je     0x436d09
436cea:	83 ff 02             	cmp    $0x2,%edi
436ced:	7c 05                	jl     0x436cf4
436cef:	83 ff 24             	cmp    $0x24,%edi
436cf2:	7e 15                	jle    0x436d09
436cf4:	e8 15 0f ff ff       	call   0x427c0e
436cf9:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
436cff:	e8 0c 01 ff ff       	call   0x426e10
436d04:	e9 c1 01 00 00       	jmp    0x436eca
436d09:	8b 7d dc             	mov    -0x24(%ebp),%edi
436d0c:	33 db                	xor    %ebx,%ebx
436d0e:	89 5d f4             	mov    %ebx,-0xc(%ebp)
436d11:	8a 18                	mov    (%eax),%bl
436d13:	8d 70 01             	lea    0x1(%eax),%esi
436d16:	83 7f 74 01          	cmpl   $0x1,0x74(%edi)
436d1a:	7e 17                	jle    0x436d33
436d1c:	8d 45 dc             	lea    -0x24(%ebp),%eax
436d1f:	50                   	push   %eax
436d20:	0f b6 c3             	movzbl %bl,%eax
436d23:	6a 08                	push   $0x8
436d25:	50                   	push   %eax
436d26:	e8 91 2f ff ff       	call   0x429cbc
436d2b:	8b 7d dc             	mov    -0x24(%ebp),%edi
436d2e:	83 c4 0c             	add    $0xc,%esp
436d31:	eb 10                	jmp    0x436d43
436d33:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
436d39:	0f b6 cb             	movzbl %bl,%ecx
436d3c:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
436d40:	83 e0 08             	and    $0x8,%eax
436d43:	85 c0                	test   %eax,%eax
436d45:	74 05                	je     0x436d4c
436d47:	8a 1e                	mov    (%esi),%bl
436d49:	46                   	inc    %esi
436d4a:	eb ca                	jmp    0x436d16
436d4c:	8b 45 18             	mov    0x18(%ebp),%eax
436d4f:	88 5d ff             	mov    %bl,-0x1(%ebp)
436d52:	80 fb 2d             	cmp    $0x2d,%bl
436d55:	75 0b                	jne    0x436d62
436d57:	83 c8 02             	or     $0x2,%eax
436d5a:	8a 0e                	mov    (%esi),%cl
436d5c:	88 4d ff             	mov    %cl,-0x1(%ebp)
436d5f:	46                   	inc    %esi
436d60:	eb 08                	jmp    0x436d6a
436d62:	80 fb 2b             	cmp    $0x2b,%bl
436d65:	74 f3                	je     0x436d5a
436d67:	8a 4d ff             	mov    -0x1(%ebp),%cl
436d6a:	8b 7d 14             	mov    0x14(%ebp),%edi
436d6d:	8b 5d f4             	mov    -0xc(%ebp),%ebx
436d70:	89 45 f8             	mov    %eax,-0x8(%ebp)
436d73:	85 ff                	test   %edi,%edi
436d75:	0f 88 43 01 00 00    	js     0x436ebe
436d7b:	83 ff 01             	cmp    $0x1,%edi
436d7e:	0f 84 3a 01 00 00    	je     0x436ebe
436d84:	83 ff 24             	cmp    $0x24,%edi
436d87:	0f 8f 31 01 00 00    	jg     0x436ebe
436d8d:	85 ff                	test   %edi,%edi
436d8f:	75 1d                	jne    0x436dae
436d91:	80 f9 30             	cmp    $0x30,%cl
436d94:	74 05                	je     0x436d9b
436d96:	6a 0a                	push   $0xa
436d98:	5f                   	pop    %edi
436d99:	eb 30                	jmp    0x436dcb
436d9b:	8a 06                	mov    (%esi),%al
436d9d:	3c 78                	cmp    $0x78,%al
436d9f:	74 08                	je     0x436da9
436da1:	3c 58                	cmp    $0x58,%al
436da3:	74 04                	je     0x436da9
436da5:	6a 08                	push   $0x8
436da7:	eb ef                	jmp    0x436d98
436da9:	6a 10                	push   $0x10
436dab:	5f                   	pop    %edi
436dac:	eb 0a                	jmp    0x436db8
436dae:	83 ff 10             	cmp    $0x10,%edi
436db1:	75 18                	jne    0x436dcb
436db3:	80 f9 30             	cmp    $0x30,%cl
436db6:	75 13                	jne    0x436dcb
436db8:	8a 06                	mov    (%esi),%al
436dba:	3c 78                	cmp    $0x78,%al
436dbc:	74 04                	je     0x436dc2
436dbe:	3c 58                	cmp    $0x58,%al
436dc0:	75 09                	jne    0x436dcb
436dc2:	8a 4e 01             	mov    0x1(%esi),%cl
436dc5:	88 4d ff             	mov    %cl,-0x1(%ebp)
436dc8:	83 c6 02             	add    $0x2,%esi
436dcb:	83 c8 ff             	or     $0xffffffff,%eax
436dce:	33 d2                	xor    %edx,%edx
436dd0:	f7 f7                	div    %edi
436dd2:	89 45 f4             	mov    %eax,-0xc(%ebp)
436dd5:	8b 45 dc             	mov    -0x24(%ebp),%eax
436dd8:	89 55 f0             	mov    %edx,-0x10(%ebp)
436ddb:	8b 80 90 00 00 00    	mov    0x90(%eax),%eax
436de1:	8b 55 f8             	mov    -0x8(%ebp),%edx
436de4:	89 45 ec             	mov    %eax,-0x14(%ebp)
436de7:	0f b6 c9             	movzbl %cl,%ecx
436dea:	0f b7 04 48          	movzwl (%eax,%ecx,2),%eax
436dee:	8b c8                	mov    %eax,%ecx
436df0:	83 e1 04             	and    $0x4,%ecx
436df3:	74 09                	je     0x436dfe
436df5:	0f be 45 ff          	movsbl -0x1(%ebp),%eax
436df9:	83 e8 30             	sub    $0x30,%eax
436dfc:	eb 1a                	jmp    0x436e18
436dfe:	25 03 01 00 00       	and    $0x103,%eax
436e03:	74 44                	je     0x436e49
436e05:	8a 4d ff             	mov    -0x1(%ebp),%cl
436e08:	8d 41 9f             	lea    -0x61(%ecx),%eax
436e0b:	3c 19                	cmp    $0x19,%al
436e0d:	0f be c1             	movsbl %cl,%eax
436e10:	77 03                	ja     0x436e15
436e12:	83 e8 20             	sub    $0x20,%eax
436e15:	83 c0 c9             	add    $0xffffffc9,%eax
436e18:	3b c7                	cmp    %edi,%eax
436e1a:	73 2d                	jae    0x436e49
436e1c:	8b 4d f4             	mov    -0xc(%ebp),%ecx
436e1f:	83 ca 08             	or     $0x8,%edx
436e22:	3b d9                	cmp    %ecx,%ebx
436e24:	72 13                	jb     0x436e39
436e26:	75 05                	jne    0x436e2d
436e28:	3b 45 f0             	cmp    -0x10(%ebp),%eax
436e2b:	76 0c                	jbe    0x436e39
436e2d:	8b 45 10             	mov    0x10(%ebp),%eax
436e30:	83 ca 04             	or     $0x4,%edx
436e33:	85 c0                	test   %eax,%eax
436e35:	74 15                	je     0x436e4c
436e37:	eb 05                	jmp    0x436e3e
436e39:	0f af df             	imul   %edi,%ebx
436e3c:	03 d8                	add    %eax,%ebx
436e3e:	8a 0e                	mov    (%esi),%cl
436e40:	8b 45 ec             	mov    -0x14(%ebp),%eax
436e43:	88 4d ff             	mov    %cl,-0x1(%ebp)
436e46:	46                   	inc    %esi
436e47:	eb 9e                	jmp    0x436de7
436e49:	8b 45 10             	mov    0x10(%ebp),%eax
436e4c:	4e                   	dec    %esi
436e4d:	89 55 f8             	mov    %edx,-0x8(%ebp)
436e50:	89 55 f8             	mov    %edx,-0x8(%ebp)
436e53:	f6 c2 08             	test   $0x8,%dl
436e56:	75 0b                	jne    0x436e63
436e58:	85 c0                	test   %eax,%eax
436e5a:	74 03                	je     0x436e5f
436e5c:	8b 75 0c             	mov    0xc(%ebp),%esi
436e5f:	33 db                	xor    %ebx,%ebx
436e61:	eb 49                	jmp    0x436eac
436e63:	bf ff ff ff 7f       	mov    $0x7fffffff,%edi
436e68:	f6 c2 04             	test   $0x4,%dl
436e6b:	75 1c                	jne    0x436e89
436e6d:	f6 c2 01             	test   $0x1,%dl
436e70:	75 3a                	jne    0x436eac
436e72:	8b c2                	mov    %edx,%eax
436e74:	83 e0 02             	and    $0x2,%eax
436e77:	74 08                	je     0x436e81
436e79:	81 fb 00 00 00 80    	cmp    $0x80000000,%ebx
436e7f:	77 08                	ja     0x436e89
436e81:	85 c0                	test   %eax,%eax
436e83:	75 27                	jne    0x436eac
436e85:	3b df                	cmp    %edi,%ebx
436e87:	76 23                	jbe    0x436eac
436e89:	e8 80 0d ff ff       	call   0x427c0e
436e8e:	8b 55 f8             	mov    -0x8(%ebp),%edx
436e91:	c7 00 22 00 00 00    	movl   $0x22,(%eax)
436e97:	f6 c2 01             	test   $0x1,%dl
436e9a:	74 05                	je     0x436ea1
436e9c:	83 cb ff             	or     $0xffffffff,%ebx
436e9f:	eb 0b                	jmp    0x436eac
436ea1:	6a 00                	push   $0x0
436ea3:	f6 c2 02             	test   $0x2,%dl
436ea6:	5b                   	pop    %ebx
436ea7:	0f 95 c3             	setne  %bl
436eaa:	03 df                	add    %edi,%ebx
436eac:	8b 45 10             	mov    0x10(%ebp),%eax
436eaf:	85 c0                	test   %eax,%eax
436eb1:	74 02                	je     0x436eb5
436eb3:	89 30                	mov    %esi,(%eax)
436eb5:	f6 c2 02             	test   $0x2,%dl
436eb8:	74 12                	je     0x436ecc
436eba:	f7 db                	neg    %ebx
436ebc:	eb 0e                	jmp    0x436ecc
436ebe:	8b 45 10             	mov    0x10(%ebp),%eax
436ec1:	85 c0                	test   %eax,%eax
436ec3:	74 05                	je     0x436eca
436ec5:	8b 4d 0c             	mov    0xc(%ebp),%ecx
436ec8:	89 08                	mov    %ecx,(%eax)
436eca:	33 db                	xor    %ebx,%ebx
436ecc:	80 7d e8 00          	cmpb   $0x0,-0x18(%ebp)
436ed0:	74 07                	je     0x436ed9
436ed2:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
436ed5:	83 61 70 fd          	andl   $0xfffffffd,0x70(%ecx)
436ed9:	5f                   	pop    %edi
436eda:	5e                   	pop    %esi
436edb:	8b c3                	mov    %ebx,%eax
436edd:	5b                   	pop    %ebx
436ede:	c9                   	leave
436edf:	c3                   	ret
436ee0:	55                   	push   %ebp
436ee1:	8b ec                	mov    %esp,%ebp
436ee3:	83 3d 80 01 4c 00 00 	cmpl   $0x0,0x4c0180
436eea:	6a 00                	push   $0x0
436eec:	ff 75 10             	push   0x10(%ebp)
436eef:	ff 75 0c             	push   0xc(%ebp)
436ef2:	ff 75 08             	push   0x8(%ebp)
436ef5:	75 07                	jne    0x436efe
436ef7:	68 50 ac 4b 00       	push   $0x4bac50
436efc:	eb 02                	jmp    0x436f00
436efe:	6a 00                	push   $0x0
436f00:	e8 b7 fd ff ff       	call   0x436cbc
436f05:	83 c4 14             	add    $0x14,%esp
436f08:	5d                   	pop    %ebp
436f09:	c3                   	ret
436f0a:	a1 f0 b4 4b 00       	mov    0x4bb4f0,%eax
436f0f:	83 f8 ff             	cmp    $0xffffffff,%eax
436f12:	74 0c                	je     0x436f20
436f14:	83 f8 fe             	cmp    $0xfffffffe,%eax
436f17:	74 07                	je     0x436f20
436f19:	50                   	push   %eax
436f1a:	ff 15 0c d3 48 00    	call   *0x48d30c
436f20:	c3                   	ret
436f21:	33 c0                	xor    %eax,%eax
436f23:	50                   	push   %eax
436f24:	50                   	push   %eax
436f25:	6a 03                	push   $0x3
436f27:	50                   	push   %eax
436f28:	6a 03                	push   $0x3
436f2a:	68 00 00 00 40       	push   $0x40000000
436f2f:	68 80 da 49 00       	push   $0x49da80
436f34:	ff 15 c4 d1 48 00    	call   *0x48d1c4
436f3a:	a3 f0 b4 4b 00       	mov    %eax,0x4bb4f0
436f3f:	c3                   	ret
436f40:	55                   	push   %ebp
436f41:	8b ec                	mov    %esp,%ebp
436f43:	83 ec 18             	sub    $0x18,%esp
436f46:	53                   	push   %ebx
436f47:	56                   	push   %esi
436f48:	57                   	push   %edi
436f49:	8b 7d 08             	mov    0x8(%ebp),%edi
436f4c:	33 f6                	xor    %esi,%esi