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

Disassembly:
sub esp, 0x5c
push ebp
push edi
push esi
push ebx
fild dword [esp + 0x78]
fild dword [esp + 0x70]
fxch st(1)
fadd qword [0x447940]
mov edx, dword [esp + 0x7c]
mov eax, dword [edx + 0x4c]
mov edx, dword [edx + 8]
fld st(1)
fsub dword [edx + 0x20]
fld dword [eax + 4]
fxch st(1)
fmul dword [eax + 8]
faddp st(1)
fld st(1)
fsub dword [edx + 0x24]
fmul dword [eax + 0xc]
faddp st(1)
fld qword [0x447948]
fmul st(1), st(0)
fxch st(1)
fnstcw word [esp + 0x4e]
mov cx, word [esp + 0x4e]
or cx, 0xc00
mov word [esp + 0x4c], cx
fldcw word [esp + 0x4c]
fistp dword [esp + 0x5c]
mov ebp, dword [esp + 0x5c]
fldcw word [esp + 0x4e]
fld st(0)
fmul dword [eax + 8]
fnstcw word [esp + 0x4e]
mov bx, word [esp + 0x4e]
or bx, 0xc00
mov word [esp + 0x4c], bx
fldcw word [esp + 0x4c]
fistp dword [esp + 0x44]
fldcw word [esp + 0x4e]
fld st(2)
fsub dword [edx + 0x20]
mov eax, dword [eax]
fld dword [eax + 4]
fxch st(1)
fmul dword [eax + 8]
faddp st(1)
fld st(2)
fsub dword [edx + 0x24]
fmul dword [eax + 0xc]
faddp st(1)
fmul st(1)
fnstcw word [esp + 0x4e]
mov cx, word [esp + 0x4e]
or cx, 0xc00
mov word [esp + 0x4c], cx
fldcw word [esp + 0x4c]
fistp dword [esp + 0x5c]
mov edi, dword [esp + 0x5c]
fldcw word [esp + 0x4e]
fld st(0)
fmul dword [eax + 8]
fnstcw word [esp + 0x4e]
mov bx, word [esp + 0x4e]
or bx, 0xc00
mov word [esp + 0x4c], bx
fldcw word [esp + 0x4c]
fistp dword [esp + 0x40]
fldcw word [esp + 0x4e]
fxch st(2)
fsub dword [edx + 0x20]
fxch st(1)
fsub dword [edx + 0x24]
mov eax, dword [eax]
fld dword [eax + 4]
fxch st(2)
fmul dword [eax + 8]
faddp st(2)
fmul dword [eax + 0xc]
faddp st(1)
fmul st(1)
fnstcw word [esp + 0x4e]
mov dx, word [esp + 0x4e]
or dx, 0xc00
mov word [esp + 0x4c], dx
fldcw word [esp + 0x4c]
fistp dword [esp + 0x5c]
mov esi, dword [esp + 0x5c]
fldcw word [esp + 0x4e]
fmul dword [eax + 8]
fnstcw word [esp + 0x4e]
mov cx, word [esp + 0x4e]
or cx, 0xc00
mov word [esp + 0x4c], cx
fldcw word [esp + 0x4c]
fistp dword [esp + 0x18]
fldcw word [esp + 0x4e]
cmp ebp, 0x7ff
jg 0x447ab0
mov ebp, 0x800
jmp 0x447abd
cmp ebp, 0xff800
jle 0x447abd
mov ebp, 0xff800
cmp edi, 0x7ff
jg 0x447ad0
mov edi, 0x800
jmp 0x447add
cmp edi, 0xff800
jle 0x447add
mov edi, 0xff800
cmp esi, 0x7ff
jg 0x447af0
mov esi, 0x800
jmp 0x447afd
cmp esi, 0xff800
jle 0x447afd
mov esi, 0xff800
mov eax, dword [0x52cfb0]
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x48], eax
mov byte [esp + 0x1f], 0xff
mov ebx, dword [esp + 0x70]
sub dword [esp + 0x74], ebx
mov eax, dword [esp + 0x74]
inc eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], 5
mov dword [esp + 0x34], 1
mov ecx, dword [esp + 0x38]
shl dword [esp + 0x34], cl
dec ecx
mov dword [esp + 0x2c], ecx
mov ebx, dword [esp + 0x34]
cmp dword [esp + 0x3c], ebx
jl 0x447e61
lea esi, [esi]
mov ecx, dword [esp + 0x38]
shl dword [esp + 0x44], cl
mov ebx, dword [esp + 0x44]
lea eax, [ebx + ebp]
shl dword [esp + 0x40], cl
mov edx, dword [esp + 0x40]
add edx, edi
mov dword [esp + 0x14], edx
shl dword [esp + 0x18], cl
mov ecx, dword [esp + 0x18]
lea ebx, [ecx + esi]
cmp eax, 0x7ff
jg 0x447b86
mov eax, 0x800
jmp 0x447b92
cmp eax, 0xff800
jle 0x447b92
mov eax, 0xff800
cmp dword [esp + 0x14], 0x7ff
jg 0x447ba6
mov dword [esp + 0x14], 0x800
jmp 0x447bb8
cmp dword [esp + 0x14], 0xff800
jle 0x447bb8
mov dword [esp + 0x14], 0xff800
cmp ebx, 0x7ff
jg 0x447bc7
mov ebx, 0x800
jmp 0x447bd4
cmp ebx, 0xff800
jle 0x447bd4
mov ebx, 0xff800
sub eax, ebp
mov ecx, dword [esp + 0x38]
sar eax, cl
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x14]
sub eax, edi
sar eax, cl
mov dword [esp + 0x40], eax
sub ebx, esi
sar ebx, cl
mov dword [esp + 0x18], ebx
mov edx, dword [esp + 0x34]
dec edx
mov ecx, dword [esp + 0x3c]
sub ecx, dword [esp + 0x34]
mov dword [esp + 0x30], ecx
cmp edx, 0xffffffff
je 0x447e4d
mov eax, edx
not eax
and eax, 3
je 0x447d27
cmp eax, 3
jge 0x447ccf
cmp eax, 2
jge 0x447c7f
mov eax, ebp
sar eax, 0xc
mov byte [esp + 0x1c], al
mov eax, edi
sar eax, 4
and eax, 0xff00
mov byte [esp + 0x1d], 0
or dword [esp + 0x1c], eax
mov eax, esi
shl eax, 4
and eax, 0xff0000
mov byte [esp + 0x1e], 0
or dword [esp + 0x1c], eax
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x70]
mov eax, dword [esp + 0x48]
mov dword [eax + ebx*4], edx
inc ebx
mov dword [esp + 0x70], ebx
add ebp, dword [esp + 0x44]
add edi, dword [esp + 0x40]
add esi, dword [esp + 0x18]
mov edx, dword [esp + 0x34]
add edx, 0xfffffffe
mov eax, ebp
sar eax, 0xc
mov byte [esp + 0x1c], al
mov eax, edi
sar eax, 4
and eax, 0xff00
mov byte [esp + 0x1d], 0
or dword [esp + 0x1c], eax
mov eax, esi
shl eax, 4
and eax, 0xff0000
mov byte [esp + 0x1e], 0
or dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0x48]
mov dword [ebx + ecx*4], eax
inc ecx
mov dword [esp + 0x70], ecx
add ebp, dword [esp + 0x44]
add edi, dword [esp + 0x40]
add esi, dword [esp + 0x18]
dec edx
mov eax, ebp
sar eax, 0xc
mov byte [esp + 0x1c], al
mov eax, edi
sar eax, 4
and eax, 0xff00
mov byte [esp + 0x1d], 0
or dword [esp + 0x1c], eax
mov eax, esi
shl eax, 4
and eax, 0xff0000
mov byte [esp + 0x1e], 0
or dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0x48]
mov dword [ebx + ecx*4], eax
inc ecx
mov dword [esp + 0x70], ecx
add ebp, dword [esp + 0x44]
add edi, dword [esp + 0x40]
add esi, dword [esp + 0x18]
sub edx, 1
jb 0x447e4d
mov eax, ebp
sar eax, 0xc
mov byte [esp + 0x1c], al
mov eax, edi
sar eax, 4
and eax, 0xff00
mov byte [esp + 0x1d], 0
or dword [esp + 0x1c], eax
mov eax, esi
shl eax, 4
and eax, 0xff0000
mov byte [esp + 0x1e], 0
or dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x70]
mov ebx, dword [esp + 0x48]
mov dword [ebx + ecx*4], eax
add ebp, dword [esp + 0x44]
add edi, dword [esp + 0x40]
add esi, dword [esp + 0x18]
mov eax, ebp
sar eax, 0xc
mov byte [esp + 0x1c], al
mov eax, edi
sar eax, 4
and eax, 0xff00
mov byte [esp + 0x1d], 0
or dword [esp + 0x1c], eax
mov eax, esi
shl eax, 4
and eax, 0xff0000
mov byte [esp + 0x1e], 0
or dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov dword [ebx + ecx*4 + 4], eax
add ebp, dword [esp + 0x44]
add edi, dword [esp + 0x40]
add esi, dword [esp + 0x18]
mov eax, ebp
sar eax, 0xc
mov byte [esp + 0x1c], al
mov eax, edi
sar eax, 4
and eax, 0xff00
mov byte [esp + 0x1d], 0
or dword [esp + 0x1c], eax
mov eax, esi
shl eax, 4
and eax, 0xff0000
mov byte [esp + 0x1e], 0
or dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov dword [ebx + ecx*4 + 8], eax
add ebp, dword [esp + 0x44]
add edi, dword [esp + 0x40]
add esi, dword [esp + 0x18]
mov eax, ebp
sar eax, 0xc
mov byte [esp + 0x1c], al
mov eax, edi
sar eax, 4
and eax, 0xff00
mov byte [esp + 0x1d], 0
or dword [esp + 0x1c], eax
mov eax, esi
shl eax, 4
and eax, 0xff0000
mov byte [esp + 0x1e], 0
or dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
mov dword [ebx + ecx*4 + 0xc], eax
add ecx, 4
mov dword [esp + 0x70], ecx
add ebp, dword [esp + 0x44]
add edi, dword [esp + 0x40]
add esi, dword [esp + 0x18]
add edx, 0xfffffffc
cmp edx, 0xffffffff
jne 0x447d27
mov edx, dword [esp + 0x30]
mov dword [esp + 0x3c], edx
mov ecx, dword [esp + 0x34]
cmp edx, ecx
jge 0x447b50
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x38], ebx
test ebx, ebx
jg 0x447b27
cmp dword [esp + 0x3c], 0
je 0x447eb0
sar ebp, 0xc
mov eax, ebp
mov byte [esp + 0x1c], al
sar edi, 4
and edi, 0xff00
mov byte [esp + 0x1d], 0
or dword [esp + 0x1c], edi
shl esi, 4
and esi, 0xff0000
mov byte [esp + 0x1e], 0
or esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x70]
mov ecx, dword [esp + 0x48]
mov dword [ecx + edx*4], esi
pop ebx
pop esi
pop edi
pop ebp
add esp, 0x5c
ret