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

Disassembly:
sub esp, 0x28
push ebx
mov ebx, dword [esp + 0x40]
mov eax, dword [ebx + 0x188]
push ebp
xor edx, edx
cmp eax, edx
push esi
push edi
jne 0x449c7d
mov dword [esp + 0x4c], edx
jmp 0x449c84
mov esi, dword [ebx + 0x78]
mov dword [esp + 0x4c], esi
cmp eax, edx
jne 0x449c8e
mov dword [esp + 0x10], edx
jmp 0x449c95
mov eax, dword [ebx + 0x7c]
mov dword [esp + 0x10], eax
mov eax, dword [ecx + 0x188]
cmp eax, edx
jne 0x449ca5
mov dword [esp + 0x18], edx
jmp 0x449cac
mov esi, dword [ecx + 0x78]
mov dword [esp + 0x18], esi
cmp eax, edx
je 0x449cb3
mov edx, dword [ecx + 0x7c]
fild dword [esp + 0x44]
mov eax, dword [esp + 0x44]
fld dword [0x4810b8]
mov ebp, dword [0x4938e8]
fdiv dword [esp + 0x54]
mov ecx, dword [ecx + 0x34]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x3c]
lea edi, [edx + eax]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x48]
lea esi, [edx + eax]
mov eax, dword [esp + 0x50]
mov edx, dword [0x4938e4]
mov dx, word [edx + eax*2]
mov ax, word [ebp + eax*2]
movsx eax, ax
movsx ebp, dx
mov dword [esp + 0x2c], ecx
mov ecx, dword [ebx + 0x34]
mov dword [esp + 0x40], eax
mov ebx, ebp
mov dword [esp + 0x20], esi
mov dword [esp + 0x30], ecx
imul eax, edi
imul ebx, esi
fstp dword [esp + 0x44]
mov dword [esp + 0x24], eax
add eax, ebx
mov dword [esp + 0x3c], eax
fild dword [esp + 0x3c]
fmul dword [esp + 0x44]
fmul dword [0x4810b4]
fsubr st(1)
fmul dword [0x4810b0]
call fcn.0045bbc0
fild dword [esp + 0x48]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x40]
mov ecx, ebp
imul eax, esi
fstp dword [esp + 0x50]
imul ecx, edi
mov dword [esp + 0x28], ecx
sub ecx, eax
mov dword [esp + 0x48], ecx
mov dword [esp + 0x1c], eax
fild dword [esp + 0x48]
fmul dword [esp + 0x44]
fmul dword [0x4810b4]
fadd dword [esp + 0x50]
fmul dword [0x4810b0]
call fcn.0045bbc0
mov esi, 1
sub esi, edi
mov edx, esi
imul edx, dword [esp + 0x40]
mov edi, dword [esp + 0x3c]
sub edx, ebx
mov dword [esp + 0x54], edx
mov dword [esp + 0x48], eax
neg edi
fild dword [esp + 0x54]
fmul dword [esp + 0x44]
fmul dword [0x4810b4]
fadd st(1)
fmul dword [0x4810ac]
call fcn.0045bbc0
imul esi, ebp
mov ebx, dword [esp + 0x48]
mov ecx, edi
sub ecx, eax
mov eax, dword [esp + 0x1c]
neg ebx
add esi, eax
mov dword [esp + 0x54], esi
mov dword [esp + 0x34], ecx
fild dword [esp + 0x54]
fmul dword [esp + 0x44]
fmul dword [0x4810b4]
fsubr dword [esp + 0x50]
fmul dword [0x4810ac]
call fcn.0045bbc0
mov edx, dword [esp + 0x20]
mov esi, 1
mov ecx, ebx
sub ecx, eax
sub esi, edx
mov eax, esi
imul eax, ebp
mov dword [esp + 0x1c], ecx
sub eax, dword [esp + 0x24]
mov dword [esp + 0x54], eax
fild dword [esp + 0x54]
fmul dword [esp + 0x44]
fmul dword [0x4810b4]
fadd st(1)
fmul dword [0x4810ac]
call fcn.0045bbc0
imul esi, dword [esp + 0x40]
fstp st(0)
sub edi, eax
mov dword [esp + 0x54], edi
add esi, dword [esp + 0x28]
mov dword [esp + 0x40], esi
fild dword [esp + 0x40]
fmul dword [esp + 0x44]
fmul dword [0x4810b4]
fadd dword [esp + 0x50]
fmul dword [0x4810ac]
call fcn.0045bbc0
mov edx, dword [esp + 0x4c]
mov ecx, dword [esp + 0x10]
sub ebx, eax
mov eax, dword [esp + 0x14]
shl edx, 0x10
shl ecx, 0x10
xor edi, edi
test eax, eax
mov dword [esp + 0x40], ebx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x10], ecx
jle 0x449f2b
lea esp, [esp]
mov eax, dword [esp + 0x18]
test eax, eax
mov ecx, dword [esp + 0x2c]
mov esi, dword [esp + 0x3c]
mov ebp, dword [esp + 0x48]
mov ecx, dword [ecx + edi*4]
jle 0x449f02
mov dword [esp + 0x44], eax
jmp 0x449eb0
test esi, esi
jl 0x449ee8
cmp esi, dword [esp + 0x4c]
jge 0x449ee8
test ebp, ebp
jl 0x449ee8
cmp ebp, dword [esp + 0x10]
jge 0x449ee8
mov ebx, dword [esp + 0x30]
mov eax, esi
sar eax, 0x10
mov edx, ebp
sar edx, 0x10
lea eax, [eax + eax*2]
add eax, dword [ebx + edx*4]
mov dl, byte [eax]
mov byte [ecx], dl
mov dl, byte [eax + 1]
mov byte [ecx + 1], dl
mov al, byte [eax + 2]
mov byte [ecx + 2], al
mov ebx, dword [esp + 0x34]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x44]
add ecx, 3
add esi, ebx
add ebp, edx
dec eax
mov dword [esp + 0x44], eax
jne 0x449eb0
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x14]
add edx, ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x40]
inc edi
add ecx, edx
cmp edi, eax
mov dword [esp + 0x48], ecx
jl 0x449e90
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x28
ret 0x1c