43fbf1:	8b 54 24 10          	mov    0x10(%esp),%edx
43fbf5:	f7 d8                	neg    %eax
43fbf7:	f7 da                	neg    %edx
43fbf9:	83 d8 00             	sbb    $0x0,%eax
43fbfc:	89 44 24 14          	mov    %eax,0x14(%esp)
43fc00:	89 54 24 10          	mov    %edx,0x10(%esp)
43fc04:	8b 44 24 1c          	mov    0x1c(%esp),%eax
43fc08:	0b c0                	or     %eax,%eax
43fc0a:	7d 14                	jge    0x43fc20
43fc0c:	47                   	inc    %edi
43fc0d:	8b 54 24 18          	mov    0x18(%esp),%edx
43fc11:	f7 d8                	neg    %eax
43fc13:	f7 da                	neg    %edx
43fc15:	83 d8 00             	sbb    $0x0,%eax
43fc18:	89 44 24 1c          	mov    %eax,0x1c(%esp)
43fc1c:	89 54 24 18          	mov    %edx,0x18(%esp)
43fc20:	0b c0                	or     %eax,%eax
43fc22:	75 28                	jne    0x43fc4c
43fc24:	8b 4c 24 18          	mov    0x18(%esp),%ecx
43fc28:	8b 44 24 14          	mov    0x14(%esp),%eax
43fc2c:	33 d2                	xor    %edx,%edx
43fc2e:	f7 f1                	div    %ecx
43fc30:	8b d8                	mov    %eax,%ebx
43fc32:	8b 44 24 10          	mov    0x10(%esp),%eax
43fc36:	f7 f1                	div    %ecx
43fc38:	8b f0                	mov    %eax,%esi
43fc3a:	8b c3                	mov    %ebx,%eax
43fc3c:	f7 64 24 18          	mull   0x18(%esp)
43fc40:	8b c8                	mov    %eax,%ecx
43fc42:	8b c6                	mov    %esi,%eax
43fc44:	f7 64 24 18          	mull   0x18(%esp)
43fc48:	03 d1                	add    %ecx,%edx
43fc4a:	eb 47                	jmp    0x43fc93
43fc4c:	8b d8                	mov    %eax,%ebx
43fc4e:	8b 4c 24 18          	mov    0x18(%esp),%ecx
43fc52:	8b 54 24 14          	mov    0x14(%esp),%edx
43fc56:	8b 44 24 10          	mov    0x10(%esp),%eax
43fc5a:	d1 eb                	shr    $1,%ebx
43fc5c:	d1 d9                	rcr    $1,%ecx
43fc5e:	d1 ea                	shr    $1,%edx
43fc60:	d1 d8                	rcr    $1,%eax
43fc62:	0b db                	or     %ebx,%ebx
43fc64:	75 f4                	jne    0x43fc5a
43fc66:	f7 f1                	div    %ecx
43fc68:	8b f0                	mov    %eax,%esi
43fc6a:	f7 64 24 1c          	mull   0x1c(%esp)
43fc6e:	8b c8                	mov    %eax,%ecx
43fc70:	8b 44 24 18          	mov    0x18(%esp),%eax
43fc74:	f7 e6                	mul    %esi
43fc76:	03 d1                	add    %ecx,%edx
43fc78:	72 0e                	jb     0x43fc88
43fc7a:	3b 54 24 14          	cmp    0x14(%esp),%edx
43fc7e:	77 08                	ja     0x43fc88
43fc80:	72 0f                	jb     0x43fc91
43fc82:	3b 44 24 10          	cmp    0x10(%esp),%eax
43fc86:	76 09                	jbe    0x43fc91
43fc88:	4e                   	dec    %esi
43fc89:	2b 44 24 18          	sub    0x18(%esp),%eax
43fc8d:	1b 54 24 1c          	sbb    0x1c(%esp),%edx
43fc91:	33 db                	xor    %ebx,%ebx
43fc93:	2b 44 24 10          	sub    0x10(%esp),%eax
43fc97:	1b 54 24 14          	sbb    0x14(%esp),%edx
43fc9b:	4d                   	dec    %ebp
43fc9c:	79 07                	jns    0x43fca5
43fc9e:	f7 da                	neg    %edx
43fca0:	f7 d8                	neg    %eax
43fca2:	83 da 00             	sbb    $0x0,%edx
43fca5:	8b ca                	mov    %edx,%ecx
43fca7:	8b d3                	mov    %ebx,%edx
43fca9:	8b d9                	mov    %ecx,%ebx
43fcab:	8b c8                	mov    %eax,%ecx
43fcad:	8b c6                	mov    %esi,%eax
43fcaf:	4f                   	dec    %edi
43fcb0:	75 07                	jne    0x43fcb9
43fcb2:	f7 da                	neg    %edx
43fcb4:	f7 d8                	neg    %eax
43fcb6:	83 da 00             	sbb    $0x0,%edx
43fcb9:	5d                   	pop    %ebp
43fcba:	5e                   	pop    %esi
43fcbb:	5f                   	pop    %edi
43fcbc:	c2 10 00             	ret    $0x10
43fcbf:	cc                   	int3
43fcc0:	8b 44 24 08          	mov    0x8(%esp),%eax
43fcc4:	8b 4c 24 10          	mov    0x10(%esp),%ecx
43fcc8:	0b c8                	or     %eax,%ecx
43fcca:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
43fcce:	75 09                	jne    0x43fcd9
43fcd0:	8b 44 24 04          	mov    0x4(%esp),%eax
43fcd4:	f7 e1                	mul    %ecx
43fcd6:	c2 10 00             	ret    $0x10
43fcd9:	53                   	push   %ebx
43fcda:	f7 e1                	mul    %ecx
43fcdc:	8b d8                	mov    %eax,%ebx
43fcde:	8b 44 24 08          	mov    0x8(%esp),%eax
43fce2:	f7 64 24 14          	mull   0x14(%esp)
43fce6:	03 d8                	add    %eax,%ebx
43fce8:	8b 44 24 08          	mov    0x8(%esp),%eax
43fcec:	f7 e1                	mul    %ecx
43fcee:	03 d3                	add    %ebx,%edx
43fcf0:	5b                   	pop    %ebx
43fcf1:	c2 10 00             	ret    $0x10
43fcf4:	cc                   	int3
43fcf5:	cc                   	int3
43fcf6:	cc                   	int3
43fcf7:	cc                   	int3
43fcf8:	cc                   	int3
43fcf9:	cc                   	int3
43fcfa:	cc                   	int3
43fcfb:	cc                   	int3
43fcfc:	cc                   	int3
43fcfd:	cc                   	int3
43fcfe:	cc                   	int3
43fcff:	cc                   	int3
43fd00:	80 f9 40             	cmp    $0x40,%cl
43fd03:	73 15                	jae    0x43fd1a
43fd05:	80 f9 20             	cmp    $0x20,%cl
43fd08:	73 06                	jae    0x43fd10
43fd0a:	0f a5 c2             	shld   %cl,%eax,%edx
43fd0d:	d3 e0                	shl    %cl,%eax
43fd0f:	c3                   	ret
43fd10:	8b d0                	mov    %eax,%edx
43fd12:	33 c0                	xor    %eax,%eax
43fd14:	80 e1 1f             	and    $0x1f,%cl
43fd17:	d3 e2                	shl    %cl,%edx
43fd19:	c3                   	ret
43fd1a:	33 c0                	xor    %eax,%eax
43fd1c:	33 d2                	xor    %edx,%edx
43fd1e:	c3                   	ret
43fd1f:	cc                   	int3
43fd20:	56                   	push   %esi
43fd21:	8b 44 24 14          	mov    0x14(%esp),%eax
43fd25:	0b c0                	or     %eax,%eax
43fd27:	75 28                	jne    0x43fd51
43fd29:	8b 4c 24 10          	mov    0x10(%esp),%ecx
43fd2d:	8b 44 24 0c          	mov    0xc(%esp),%eax
43fd31:	33 d2                	xor    %edx,%edx
43fd33:	f7 f1                	div    %ecx
43fd35:	8b d8                	mov    %eax,%ebx
43fd37:	8b 44 24 08          	mov    0x8(%esp),%eax
43fd3b:	f7 f1                	div    %ecx
43fd3d:	8b f0                	mov    %eax,%esi
43fd3f:	8b c3                	mov    %ebx,%eax
43fd41:	f7 64 24 10          	mull   0x10(%esp)
43fd45:	8b c8                	mov    %eax,%ecx
43fd47:	8b c6                	mov    %esi,%eax
43fd49:	f7 64 24 10          	mull   0x10(%esp)
43fd4d:	03 d1                	add    %ecx,%edx
43fd4f:	eb 47                	jmp    0x43fd98
43fd51:	8b c8                	mov    %eax,%ecx
43fd53:	8b 5c 24 10          	mov    0x10(%esp),%ebx
43fd57:	8b 54 24 0c          	mov    0xc(%esp),%edx
43fd5b:	8b 44 24 08          	mov    0x8(%esp),%eax
43fd5f:	d1 e9                	shr    $1,%ecx
43fd61:	d1 db                	rcr    $1,%ebx
43fd63:	d1 ea                	shr    $1,%edx
43fd65:	d1 d8                	rcr    $1,%eax
43fd67:	0b c9                	or     %ecx,%ecx
43fd69:	75 f4                	jne    0x43fd5f
43fd6b:	f7 f3                	div    %ebx
43fd6d:	8b f0                	mov    %eax,%esi
43fd6f:	f7 64 24 14          	mull   0x14(%esp)
43fd73:	8b c8                	mov    %eax,%ecx
43fd75:	8b 44 24 10          	mov    0x10(%esp),%eax
43fd79:	f7 e6                	mul    %esi
43fd7b:	03 d1                	add    %ecx,%edx
43fd7d:	72 0e                	jb     0x43fd8d
43fd7f:	3b 54 24 0c          	cmp    0xc(%esp),%edx
43fd83:	77 08                	ja     0x43fd8d
43fd85:	72 0f                	jb     0x43fd96
43fd87:	3b 44 24 08          	cmp    0x8(%esp),%eax
43fd8b:	76 09                	jbe    0x43fd96
43fd8d:	4e                   	dec    %esi
43fd8e:	2b 44 24 10          	sub    0x10(%esp),%eax
43fd92:	1b 54 24 14          	sbb    0x14(%esp),%edx
43fd96:	33 db                	xor    %ebx,%ebx
43fd98:	2b 44 24 08          	sub    0x8(%esp),%eax
43fd9c:	1b 54 24 0c          	sbb    0xc(%esp),%edx
43fda0:	f7 da                	neg    %edx
43fda2:	f7 d8                	neg    %eax
43fda4:	83 da 00             	sbb    $0x0,%edx
43fda7:	8b ca                	mov    %edx,%ecx
43fda9:	8b d3                	mov    %ebx,%edx
43fdab:	8b d9                	mov    %ecx,%ebx
43fdad:	8b c8                	mov    %eax,%ecx
43fdaf:	8b c6                	mov    %esi,%eax
43fdb1:	5e                   	pop    %esi
43fdb2:	c2 10 00             	ret    $0x10
43fdb5:	cc                   	int3
43fdb6:	cc                   	int3
43fdb7:	cc                   	int3
43fdb8:	cc                   	int3
43fdb9:	cc                   	int3
43fdba:	cc                   	int3
43fdbb:	cc                   	int3
43fdbc:	cc                   	int3
43fdbd:	cc                   	int3
43fdbe:	cc                   	int3
43fdbf:	cc                   	int3
43fdc0:	80 f9 40             	cmp    $0x40,%cl
43fdc3:	73 15                	jae    0x43fdda
43fdc5:	80 f9 20             	cmp    $0x20,%cl
43fdc8:	73 06                	jae    0x43fdd0
43fdca:	0f ad d0             	shrd   %cl,%edx,%eax
43fdcd:	d3 ea                	shr    %cl,%edx
43fdcf:	c3                   	ret
43fdd0:	8b c2                	mov    %edx,%eax
43fdd2:	33 d2                	xor    %edx,%edx
43fdd4:	80 e1 1f             	and    $0x1f,%cl
43fdd7:	d3 e8                	shr    %cl,%eax
43fdd9:	c3                   	ret
43fdda:	33 c0                	xor    %eax,%eax
43fddc:	33 d2                	xor    %edx,%edx
43fdde:	c3                   	ret
43fddf:	cc                   	int3
43fde0:	b9 01 00 00 00       	mov    $0x1,%ecx
43fde5:	f2 0f 10 2d 48 ad 49 	movsd  0x49ad48,%xmm5
43fdec:	00
43fded:	eb 1c                	jmp    0x43fe0b
43fdef:	b9 02 00 00 00       	mov    $0x2,%ecx
43fdf4:	f2 0f 10 2d 50 ad 49 	movsd  0x49ad50,%xmm5
43fdfb:	00
43fdfc:	eb 0d                	jmp    0x43fe0b
43fdfe:	b9 03 00 00 00       	mov    $0x3,%ecx
43fe03:	f2 0f 10 2d 48 ad 49 	movsd  0x49ad48,%xmm5
43fe0a:	00
43fe0b:	66 0f 7e c0          	movd   %xmm0,%eax
43fe0f:	25 ff ff ff 7f       	and    $0x7fffffff,%eax
43fe14:	3d 00 00 80 7f       	cmp    $0x7f800000,%eax
43fe19:	0f 83 4c 01 00 00    	jae    0x43ff6b
43fe1f:	f3 0f 5a c0          	cvtss2sd %xmm0,%xmm0
43fe23:	83 f9 02             	cmp    $0x2,%ecx
43fe26:	75 18                	jne    0x43fe40
43fe28:	f2 0f 10 15 68 ad 49 	movsd  0x49ad68,%xmm2
43fe2f:	00
43fe30:	66 0f 2f c2          	comisd %xmm2,%xmm0
43fe34:	76 0a                	jbe    0x43fe40
43fe36:	ba 10 00 00 00       	mov    $0x10,%edx
43fe3b:	e8 3d 01 00 00       	call   0x43ff7d
43fe40:	66 0f 2f c5          	comisd %xmm5,%xmm0
43fe44:	0f 83 21 01 00 00    	jae    0x43ff6b
43fe4a:	f2 0f 10 35 40 ad 49 	movsd  0x49ad40,%xmm6
43fe51:	00
43fe52:	66 0f 2f c6          	comisd %xmm6,%xmm0
43fe56:	0f 82 0f 01 00 00    	jb     0x43ff6b
43fe5c:	66 0f 6f c8          	movdqa %xmm0,%xmm1
43fe60:	66 0f 73 f1 01       	psllq  $0x1,%xmm1
43fe65:	66 0f 73 d1 01       	psrlq  $0x1,%xmm1
43fe6a:	83 f9 01             	cmp    $0x1,%ecx
43fe6d:	74 3a                	je     0x43fea9
43fe6f:	f2 0f 10 15 60 ad 49 	movsd  0x49ad60,%xmm2
43fe76:	00
43fe77:	66 0f 2f ca          	comisd %xmm2,%xmm1
43fe7b:	77 2c                	ja     0x43fea9
43fe7d:	66 0f 57 d2          	xorpd  %xmm2,%xmm2
43fe81:	66 0f 2f ca          	comisd %xmm2,%xmm1
43fe85:	74 22                	je     0x43fea9
43fe87:	50                   	push   %eax
43fe88:	9b d9 3c 24          	fstcw  (%esp)
43fe8c:	66 8b 04 24          	mov    (%esp),%ax
43fe90:	66 a9 10 00          	test   $0x10,%ax
43fe94:	58                   	pop    %eax
43fe95:	75 12                	jne    0x43fea9
43fe97:	ba 02 00 00 00       	mov    $0x2,%edx
43fe9c:	e8 dc 00 00 00       	call   0x43ff7d
43fea1:	33 c0                	xor    %eax,%eax
43fea3:	ba 00 00 00 80       	mov    $0x80000000,%edx
43fea8:	c3                   	ret
43fea9:	66 0f 57 f6          	xorpd  %xmm6,%xmm6
43fead:	66 0f 2f ce          	comisd %xmm6,%xmm1
43feb1:	0f 84 a6 00 00 00    	je     0x43ff5d
43feb7:	f2 0f 10 1d 20 ad 49 	movsd  0x49ad20,%xmm3
43febe:	00
43febf:	f2 0f 10 25 28 ad 49 	movsd  0x49ad28,%xmm4
43fec6:	00
43fec7:	66 0f 6e 2d 80 ad 49 	movd   0x49ad80,%xmm5
43fece:	00
43fecf:	66 0f 6f f0          	movdqa %xmm0,%xmm6
43fed3:	f2 0f c2 f1 00       	cmpeqsd %xmm1,%xmm6
43fed8:	66 0f 6f d1          	movdqa %xmm1,%xmm2
43fedc:	66 0f db d3          	pand   %xmm3,%xmm2
43fee0:	66 0f eb d4          	por    %xmm4,%xmm2
43fee4:	66 0f 73 d1 34       	psrlq  $0x34,%xmm1
43fee9:	66 0f 6f e1          	movdqa %xmm1,%xmm4
43feed:	66 0f fb e5          	psubq  %xmm5,%xmm4
43fef1:	66 0f 6f da          	movdqa %xmm2,%xmm3
43fef5:	66 0f f3 dc          	psllq  %xmm4,%xmm3
43fef9:	66 0f 6f e5          	movdqa %xmm5,%xmm4
43fefd:	66 0f fb e1          	psubq  %xmm1,%xmm4
43ff01:	66 0f 6f fa          	movdqa %xmm2,%xmm7
43ff05:	66 0f d3 fc          	psrlq  %xmm4,%xmm7
43ff09:	66 0f 66 cd          	pcmpgtd %xmm5,%xmm1
43ff0d:	66 0f 62 c9          	punpckldq %xmm1,%xmm1
43ff11:	66 0f db d9          	pand   %xmm1,%xmm3
43ff15:	66 0f df cf          	pandn  %xmm7,%xmm1
43ff19:	66 0f eb cb          	por    %xmm3,%xmm1
43ff1d:	66 0f ef ed          	pxor   %xmm5,%xmm5
43ff21:	66 0f fb e9          	psubq  %xmm1,%xmm5
43ff25:	66 0f db ce          	pand   %xmm6,%xmm1
43ff29:	66 0f df f5          	pandn  %xmm5,%xmm6
43ff2d:	66 0f eb f1          	por    %xmm1,%xmm6
43ff31:	66 0f 7e e0          	movd   %xmm4,%eax
43ff35:	83 f8 00             	cmp    $0x0,%eax
43ff38:	7e 23                	jle    0x43ff5d
43ff3a:	66 0f f3 fc          	psllq  %xmm4,%xmm7
43ff3e:	66 0f ef d7          	pxor   %xmm7,%xmm2
43ff42:	66 0f 7e d0          	movd   %xmm2,%eax
43ff46:	66 0f 73 da 04       	psrldq $0x4,%xmm2
43ff4b:	66 0f 7e d2          	movd   %xmm2,%edx
43ff4f:	0b c2                	or     %edx,%eax
43ff51:	74 0a                	je     0x43ff5d
43ff53:	ba 10 00 00 00       	mov    $0x10,%edx
43ff58:	e8 20 00 00 00       	call   0x43ff7d
43ff5d:	66 0f 7e f0          	movd   %xmm6,%eax
43ff61:	66 0f 73 de 04       	psrldq $0x4,%xmm6
43ff66:	66 0f 7e f2          	movd   %xmm6,%edx
43ff6a:	c3                   	ret
43ff6b:	ba 08 00 00 00       	mov    $0x8,%edx
43ff70:	e8 08 00 00 00       	call   0x43ff7d
43ff75:	33 c0                	xor    %eax,%eax
43ff77:	ba 00 00 00 80       	mov    $0x80000000,%edx
43ff7c:	c3                   	ret
43ff7d:	83 ec 20             	sub    $0x20,%esp
43ff80:	9b d9 3c 24          	fstcw  (%esp)
43ff84:	0f b7 04 24          	movzwl (%esp),%eax
43ff88:	83 fa 08             	cmp    $0x8,%edx
43ff8b:	74 08                	je     0x43ff95
43ff8d:	84 82 6f ad 49 00    	test   %al,0x49ad6f(%edx)
43ff93:	75 28                	jne    0x43ffbd
43ff95:	d9 2d 90 ad 49 00    	fldcw  0x49ad90
43ff9b:	89 14 24             	mov    %edx,(%esp)
43ff9e:	c7 44 24 04 00 00 00 	movl   $0x0,0x4(%esp)
43ffa5:	00
43ffa6:	f2 0f 11 44 24 08    	movsd  %xmm0,0x8(%esp)
43ffac:	f2 0f 11 44 24 10    	movsd  %xmm0,0x10(%esp)
43ffb2:	89 44 24 18          	mov    %eax,0x18(%esp)
43ffb6:	e8 5f da 02 00       	call   0x46da1a
43ffbb:	dd d8                	fstp   %st(0)
43ffbd:	83 c4 20             	add    $0x20,%esp
43ffc0:	c3                   	ret
43ffc1:	b9 01 00 00 00       	mov    $0x1,%ecx
43ffc6:	f2 0f 10 2d 48 ad 49 	movsd  0x49ad48,%xmm5
43ffcd:	00
43ffce:	eb 1c                	jmp    0x43ffec
43ffd0:	b9 04 00 00 00       	mov    $0x4,%ecx
43ffd5:	f2 0f 10 2d 50 ad 49 	movsd  0x49ad50,%xmm5
43ffdc:	00
43ffdd:	eb 0d                	jmp    0x43ffec
43ffdf:	b9 05 00 00 00       	mov    $0x5,%ecx
43ffe4:	f2 0f 10 2d 48 ad 49 	movsd  0x49ad48,%xmm5
43ffeb:	00