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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x14
mov edx, dword [ebp + 8]
push ebx
mov ebx, ecx
mov dword [ebx], 0x581ae0
mov eax, dword [edx]
mov dword [ebx + 0x20], eax
mov eax, dword [edx + 4]
push esi
mov dword [ebx + 4], eax
mov eax, dword [edx + 8]
push edi
mov dword [ebx + 0x60], eax
mov eax, dword [edx + 0xc]
push 6
mov dword [ebx + 0x64], eax
lea edi, [ebx + 0x3c]
lea esi, [edx + 0x28]
pop ecx
rep movsd dword es:[edi], dword [esi]
xor esi, esi
cmp dword [edx + 0x40], esi
mov eax, 0x5b0670
jne 0x4c19b9
mov eax, 0x5b05f0
mov dword [ebx + 0x34], eax
mov eax, dword [ebp + 0xc]
shr eax, 3
mov dword [ebp + 8], eax
mov dword [ebx + 0x78], eax
xor eax, eax
cmp dword [ebp + 0xc], esi
mov dword [ebx + 0x54], esi
setne al
mov dword [ebx + 0x58], esi
mov dword [ebp - 4], eax
mov dword [ebx + 0xc], eax
mov eax, dword [ebp + 0x10]
mov dword [ebx + 8], eax
mov eax, dword [edx + 0x4c]
mov dword [ebx + 0x18], eax
mov eax, dword [ebx + 4]
cmp eax, 0x29
je 0x4c19f9
cmp eax, 0x28
je 0x4c19f9
xor eax, eax
jmp 0x4c19fc
xor eax, eax
inc eax
cmp dword [ebx + 0x18], esi
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x38], esi
mov eax, dword [edx + 0x48]
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], esi
mov dword [ebx + 0x5c], esi
je 0x4c1a6c
mov ecx, dword [edx + 0x4c]
fld dword [0x581af0]
mov eax, ecx
shr eax, 0x10
movzx eax, al
mov dword [ebp + 0xc], eax
mov eax, ecx
shr eax, 8
fild dword [ebp + 0xc]
movzx eax, al
fmul st(1)
mov dword [ebp + 0xc], eax
movzx eax, cl
fstp dword [ebp - 0x14]
fild dword [ebp + 0xc]
mov dword [ebp + 0xc], eax
shr ecx, 0x18
lea edi, [ebx + 0x24]
fmul st(1)
lea esi, [ebp - 0x14]
fstp dword [ebp - 0x10]
fild dword [ebp + 0xc]
mov dword [ebp + 0xc], ecx
fmul st(1)
fstp dword [ebp - 0xc]
fild dword [ebp + 0xc]
fmul st(1)
fstp dword [ebp - 8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
fstp st(0)
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor esi, esi
cmp dword [ebp + 0x10], 2
jne 0x4c1a7b
cmp dword [ebx + 4], 0x3d
je 0x4c1a84
mov dword [ebx + 0x10], esi
cmp dword [ebp + 0x10], 3
jne 0x4c1a84
mov dword [ebx + 0x10], esi
mov ecx, dword [ebx + 0x3c]
mov eax, dword [ebx + 0x44]
mov esi, dword [ebx + 0x40]
mov edi, dword [ebx + 0x48]
sub eax, ecx
mov dword [ebx + 0x68], eax
imul eax, dword [ebp + 8]
sub edi, esi
mov esi, dword [ebx + 0x4c]
mov dword [ebx + 0x6c], edi
mov edi, dword [ebx + 0x50]
mov dword [ebx + 0x74], eax
sub edi, esi
xor eax, eax
cmp dword [ebp - 4], eax
mov dword [ebx + 0x70], edi
je 0x4c1ae6
imul ecx, dword [ebp + 8]
mov edi, dword [ebx + 0x60]
imul edi, dword [ebx + 0x40]
add ecx, edi
mov edi, dword [ebx + 0x64]
imul edi, esi
add ecx, edi
add dword [ebx + 0x20], ecx
mov ecx, dword [ebx + 0x68]
mov dword [ebx + 0x44], ecx
mov ecx, dword [ebx + 0x6c]
mov dword [ebx + 0x48], ecx
mov ecx, dword [ebx + 0x70]
mov dword [ebx + 0x3c], eax
mov dword [ebx + 0x40], eax
mov dword [ebx + 0x4c], eax
mov dword [ebx + 0x50], ecx
cmp dword [edx + 0x44], eax
je 0x4c1b33
mov esi, dword [ebx + 0x68]
inc esi
inc esi
mov eax, esi
shl eax, 4
push eax
call fcn.004722ff
mov edi, eax
test edi, edi
pop ecx
je 0x4c1b12
push 0x4b1e43
push esi
push 0x10
push edi
call fcn.004b2fbf
jmp 0x4c1b14
xor edi, edi
test edi, edi
mov dword [ebx + 0x5c], edi
je 0x4c1b33
mov ecx, dword [ebx + 0x68]
inc ecx
inc ecx
shl ecx, 4
mov edx, ecx
shr ecx, 2
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
pop edi
pop esi
mov eax, ebx
pop ebx
leave
ret 0xc