Function at 0x4482e8
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov esi, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0x78]
cmp byte [esp + 0x7c], 0
jne 0x4485dc
mov edx, dword [esi + 0x3c]
imul edx, dword [ebx + 0x30]
mov eax, dword [ebx + 0x34]
imul eax, dword [esi + 0x38]
lea edi, [eax + edx]
mov eax, dword [ebx + 0x30]
mul dword [esi + 0x38]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
add dword [esp + 0x1c], edi
mov edi, dword [esi + 0x34]
imul edi, dword [ebx + 0x38]
mov eax, dword [ebx + 0x3c]
imul eax, dword [esi + 0x30]
add edi, eax
mov eax, dword [ebx + 0x38]
mul dword [esi + 0x30]
add edx, edi
mov ecx, dword [esp + 0x18]
xor ecx, eax
mov edi, dword [esp + 0x1c]
xor edi, edx
or ecx, edi
sete al
test al, al
jne 0x4484d4
fld qword [esi + 0x40]
fld qword [ebx + 0x40]
fxch st(1)
fucomi st(1)
jnp 0x4484ca
mov eax, dword [esi + 0x34]
or eax, dword [esi + 0x30]
jne 0x448527
mov eax, dword [esi]
mov edx, dword [esi + 4]
mov dword [ebp], eax
mov dword [ebp + 4], edx
mov ecx, dword [ebx + 0x3c]
or ecx, dword [ebx + 0x38]
je 0x44866e
movd xmm4, eax
movd xmm5, edx
punpckldq xmm4, xmm5
movq qword [esp + 0x20], xmm4
fild qword [esp + 0x20]
fdiv st(2)
fild qword [ebx + 8]
fild qword [ebx]
fdiv st(4)
fsubp st(1)
faddp st(1)
fldz
fucompi st(1)
ja 0x4488ac
fadd dword [0x462594]
fnstcw word [esp + 0x2e]
movzx eax, word [esp + 0x2e]
mov ah, 0xc
mov word [esp + 0x2c], ax
fldcw word [esp + 0x2c]
fistp qword [esp + 0x18]
fldcw word [esp + 0x2e]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], edx
mov eax, dword [esi + 0x28]
mov dword [esp + 0x28], eax
mov edi, dword [esi + 0x2c]
cmp edi, dword [esp + 0x1c]
jl 0x448696
jg 0x44840e
mov eax, dword [esp + 0x18]
cmp dword [esp + 0x28], eax
jbe 0x448696
mov eax, dword [ebx + 0x28]
mov dword [esp + 0x18], eax
mov ecx, dword [ebx + 0x2c]
mov eax, dword [esp + 0x18]
mov edx, ecx
cmp ecx, edi
jg 0x448430
jl 0x44842a
cmp eax, dword [esp + 0x28]
jae 0x448430
mov eax, dword [esp + 0x28]
mov edx, edi
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], edx
fld st(0)
fabs
fld st(2)
fabs
fucompi st(1)
fstp st(0)
jbe 0x4486ea
fstp st(1)
mov ebx, dword [esi + 0x2c]
xor ebx, edx
mov ecx, dword [esi + 0x28]
xor ecx, eax
or ebx, ecx
je 0x44881e
mov ecx, dword [esi]
mov ebx, dword [esi + 4]
sub eax, dword [esi + 8]
sbb edx, dword [esi + 0xc]
movd xmm0, eax
movd xmm1, edx
punpckldq xmm0, xmm1
movq qword [esp + 0x20], xmm0
fild qword [esp + 0x20]
fmulp st(1)
fldz
fucompi st(1)
ja 0x44887d
fadd dword [0x462594]
fnstcw word [esp + 0x2e]
movzx eax, word [esp + 0x2e]
mov ah, 0xc
mov word [esp + 0x2c], ax
fldcw word [esp + 0x2c]
fistp qword [esp + 0x20]
fldcw word [esp + 0x2e]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
add ecx, eax
adc ebx, edx
mov dword [ebp], ecx
mov dword [ebp + 4], ebx
mov eax, 1
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
jne 0x44836a
fstp st(0)
fstp st(0)
mov eax, dword [ebx + 8]
mov ecx, dword [esi + 0xc]
cmp dword [ebx + 0xc], ecx
jle 0x448500
mov eax, dword [ebx]
mov dword [ebp], eax
mov eax, dword [ebx + 4]
mov dword [ebp + 4], eax
mov eax, dword [ebx + 8]
mov dword [ebp + 8], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp + 0xc], eax
xor eax, eax
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
jge 0x448660
mov eax, dword [esi]
mov dword [ebp], eax
mov eax, dword [esi + 4]
mov dword [ebp + 4], eax
mov eax, dword [esi + 8]
mov dword [ebp + 8], eax
mov eax, dword [esi + 0xc]
mov dword [ebp + 0xc], eax
xor eax, eax
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebx + 0x34]
or eax, dword [ebx + 0x30]
je 0x4486ba
fild qword [esi]
fild qword [esi + 8]
fmul st(2)
fsubp st(1)
fild qword [ebx]
fild qword [ebx + 8]
fmul st(4)
fsubp st(1)
fld st(0)
fsub st(2)
fld st(3)
fsub st(5)
fdivp st(1)
fldz
fnstcw word [esp + 0x2e]
movzx eax, word [esp + 0x2e]
mov ah, 0xc
mov word [esp + 0x2c], ax
fucompi st(1)
fld st(0)
ja 0x4488d3
fadd dword [0x462594]
fldcw word [esp + 0x2c]
fistp qword [esp + 0x18]
fldcw word [esp + 0x2e]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], edx
fld st(3)
fabs
fld st(5)
fabs
fucompi st(1)
fstp st(0)
jbe 0x448783
fstp st(1)
fmul st(2)
faddp st(1)
fldz
fucompi st(1)
ja 0x448838
fadd dword [0x462594]
fnstcw word [esp + 0x2e]
movzx eax, word [esp + 0x2e]
mov ah, 0xc
mov word [esp + 0x2c], ax
fldcw word [esp + 0x2c]
fistp qword [esp + 0x20]
fldcw word [esp + 0x2e]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
jmp 0x4487bf
mov eax, dword [ebx + 0x38]
mov edx, dword [ebx + 0x3c]
lea ecx, [esp + 0x30]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov eax, dword [esi + 0x30]
mov edx, dword [esi + 0x34]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp], ecx
call method.ClipperLib.Int128Mul_long_long__long_long_
mov eax, dword [ebx + 0x30]
mov edx, dword [ebx + 0x34]
lea ecx, [esp + 0x40]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov eax, dword [esi + 0x38]
mov edx, dword [esi + 0x3c]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp], ecx
call method.ClipperLib.Int128Mul_long_long__long_long_
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
xor ecx, dword [esp + 0x3c]
xor edx, dword [esp + 0x38]
xor eax, eax
or ecx, edx
jne 0x448352
mov edx, dword [esp + 0x40]
xor edx, dword [esp + 0x30]
mov eax, dword [esp + 0x44]
xor eax, dword [esp + 0x34]
or edx, eax
sete al
jmp 0x448352
cmp eax, dword [esi + 8]
ja 0x4484df
jmp 0x448506
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
mov eax, dword [esi + 0x28]
mov dword [esp + 0x28], eax
mov edi, dword [esi + 0x2c]
cmp edi, dword [esp + 0x1c]
jge 0x4483fe
mov eax, dword [ebx + 0x28]
mov edx, dword [ebx + 0x2c]
cmp edx, dword [esp + 0x1c]
jge 0x44876c
fstp st(0)
fstp st(0)
jmp 0x4486b0
fstp st(0)
fstp st(0)
mov eax, 1
jmp 0x4484f8
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
mov dword [ebp], eax
mov dword [ebp + 4], edx
mov ecx, dword [esi + 0x3c]
or ecx, dword [esi + 0x38]
jne 0x4487ca
mov eax, dword [esi + 8]
mov edx, dword [esi + 0xc]
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], edx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
jmp 0x4483ea
fstp st(0)
mov esi, dword [ebx + 0x2c]
xor esi, edx
mov ecx, dword [ebx + 0x28]
xor ecx, eax
or esi, ecx
je 0x44882b
mov esi, dword [ebx]
mov edi, dword [ebx + 4]
sub eax, dword [ebx + 8]
sbb edx, dword [ebx + 0xc]
movd xmm2, eax
movd xmm3, edx
punpckldq xmm2, xmm3
movq qword [esp + 0x20], xmm2
fild qword [esp + 0x20]
fmulp st(1)
fldz
fucompi st(1)
ja 0x448872
fadd dword [0x462594]
fnstcw word [esp + 0x2e]
movzx eax, word [esp + 0x2e]
mov ah, 0xc
mov word [esp + 0x2c], ax
fldcw word [esp + 0x2c]
fistp qword [esp + 0x20]
fldcw word [esp + 0x2e]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
add esi, eax
adc edi, edx
mov dword [ebp], esi
mov dword [ebp + 4], edi
mov eax, 1
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
jg 0x448778
cmp eax, dword [esp + 0x18]
jbe 0x4486ac
mov dword [esp + 0x18], eax
mov ecx, edx
jmp 0x448418
fstp st(2)
fxch st(1)
fmul st(3)
faddp st(1)
fldz
fucompi st(1)
ja 0x448867
fadd dword [0x462594]
fnstcw word [esp + 0x2e]
movzx eax, word [esp + 0x2e]
mov ah, 0xc
mov word [esp + 0x2c], ax
fldcw word [esp + 0x2c]
fistp qword [esp + 0x20]
fldcw word [esp + 0x2e]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov dword [ebp], eax
mov dword [ebp + 4], edx
jmp 0x4483ea
movd xmm6, eax
movd xmm7, edx
punpckldq xmm6, xmm7
movq qword [esp + 0x20], xmm6
fild qword [esp + 0x20]
fdiv st(1)
fild qword [esi + 8]
fild qword [esi]
fdiv st(3)
fsubp st(1)
faddp st(1)
fldz
fucompi st(1)
jbe 0x4483ba
fsub dword [0x462594]
fnstcw word [esp + 0x2e]
movzx eax, word [esp + 0x2e]
mov ah, 0xc
mov word [esp + 0x2c], ax
fldcw word [esp + 0x2c]
fistp qword [esp + 0x18]
fldcw word [esp + 0x2e]
jmp 0x4483dc
fstp st(0)
mov ecx, dword [esi + 0x20]
mov ebx, dword [esi + 0x24]
jmp 0x4484b7
fstp st(0)
mov esi, dword [ebx + 0x20]
mov edi, dword [ebx + 0x24]
jmp 0x448759
fsub dword [0x462594]
fnstcw word [esp + 0x2e]
movzx eax, word [esp + 0x2e]
mov ah, 0xc
mov word [esp + 0x2c], ax
fldcw word [esp + 0x2c]
fistp qword [esp + 0x20]
fldcw word [esp + 0x2e]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
jmp 0x4487bf
fsub dword [0x462594]
jmp 0x4485b3
fsub dword [0x462594]
jmp 0x448731
fsub dword [0x462594]
fnstcw word [esp + 0x2e]
movzx eax, word [esp + 0x2e]
mov ah, 0xc
mov word [esp + 0x2c], ax
fldcw word [esp + 0x2c]
fistp qword [esp + 0x20]
fldcw word [esp + 0x2e]
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
jmp 0x4484b3
fsub dword [0x462594]
fnstcw word [esp + 0x2e]
movzx eax, word [esp + 0x2e]
mov ah, 0xc
mov word [esp + 0x2c], ax
fldcw word [esp + 0x2c]
fistp qword [esp + 0x18]
fldcw word [esp + 0x2e]
jmp 0x4483dc
fsub dword [0x462594]
fldcw word [esp + 0x2c]
fistp qword [esp + 0x18]
fldcw word [esp + 0x2e]
jmp 0x44857d