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

Disassembly:
push ebp
mov ebp, eax
push edi
mov edi, edx
push esi
lea esi, [edx + 0x24]
push ebx
mov ebx, ecx
mov ecx, esi
sub esp, 0x16c
mov eax, dword [esp + 0x180]
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0xffff
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x184]
mov dword [esp + 0x58], 0
mov dword [esp + 0x2c], eax
xor eax, eax
mov word [esp + 0x5c], ax
mov eax, dword [0x66a21ee8]
mov dword [esp + 4], 1
mov dword [esp], 4
mov dword [esp + 0x24], eax
call eax
mov ecx, dword [eax]
sub esp, 8
add ecx, 8
call dword [0x66a21cfc]
mov ecx, esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 4], 1
mov dword [esp], 4
call eax
mov ecx, dword [eax]
sub esp, 8
add ecx, 8
call dword [0x66a21ccc]
mov ecx, dword [esp + 0x30]
mov dword [esp + 4], 1
mov esi, eax
mov dword [esp], 4
mov eax, dword [esp + 0x24]
call eax
mov ecx, dword [eax]
sub esp, 8
add ecx, 8
call dword [0x66a21cd0]
pxor xmm0, xmm0
mov ecx, 0xff
mov dword [esp + 0xc], 0xff
cvtsi2sd xmm0, dword [esp + 0x28]
mov edx, eax
mulsd xmm0, qword [str.ffffff]
mov dword [esp], edx
lea edx, [esp + 0x50]
cvttsd2si eax, xmm0
cmp eax, 0xff
cmovg eax, ecx
cmp esi, 0xff
cmovle ecx, esi
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov ecx, edx
call dword [0x66a2135c]
sub esp, 0x10
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x24]
mov dword [esp + 4], 0xc
mov dword [esp], 4
call eax
mov eax, dword [eax]
sub esp, 8
mov dword [esp + 0x70], 1
mov edx, dword [eax + 8]
mov dword [esp + 0x74], 0xffff3c3c
mov dword [esp + 0x78], 0xffffffff
mov dword [esp + 0x60], edx
mov edx, dword [eax + 0xc]
mov dword [esp + 0x64], edx
mov edx, dword [eax + 0x10]
movzx eax, word [eax + 0x14]
mov dword [esp + 0x68], edx
mov word [esp + 0x6c], ax
mov eax, dword [edi + 0x40]
and eax, 0x10000
mov dword [esp + 0x3c], eax
xor eax, eax
cmp byte [esp + 0x2c], 0
mov word [esp + 0x7c], ax
jne 0x664e06b8
mov edi, dword [ebx + 4]
cmp byte [esp + 0x38], 0
mov eax, dword [ebx]
mov esi, dword [ebx + 8]
mov dword [esp + 0x34], edi
lea edi, [esp + 0x120]
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x28], edi
lea edi, [esp + 0xe0]
mov dword [esp + 0x2c], edi
jne 0x664e0630
mov dword [esp + 0x80], 1
xor edi, edi
xor edx, edx
mov word [esp + 0x9c], di
mov edi, dword [0x66a21d04]
mov dword [esp + 0x84], 0x2828
mov dword [esp + 0x88], 0
mov word [esp + 0x8c], dx
mov dword [esp + 0x90], 1
mov dword [esp + 0x94], 0xffff3c3c
mov dword [esp + 0x98], 0xffffffff
mov dword [esp + 0x38], edi
mov edi, esi
pxor xmm1, xmm1
pxor xmm0, xmm0
cdq
sar edi, 0x1f
cvtsi2sd xmm1, ecx
add esi, eax
adc edi, edx
xor edx, edx
mov eax, edi
shr eax, 0x1f
add eax, esi
movsd qword [esp + 0x18], xmm1
pxor xmm1, xmm1
adc edx, edi
cvtsi2sd xmm1, dword [esp + 0x34]
mov edi, dword [esp + 0x2c]
shrd eax, edx, 1
cvtsi2sd xmm0, eax
mov ecx, edi
movsd qword [esp + 8], xmm1
movsd qword [esp + 0x10], xmm0
movsd qword [esp], xmm0
call dword [0x66a20e80]
mov ecx, edi
mov esi, dword [0x66a216b0]
sub esp, 0x20
lea eax, [esp + 0x80]
mov dword [esp], 0
mov dword [esp + 8], eax
mov dword [esp + 4], 0
call esi
mov ecx, edi
sub esp, 0xc
lea eax, [esp + 0x90]
mov dword [esp], 0
mov dword [esp + 8], eax
mov dword [esp + 4], 0x3ff00000
call esi
sub esp, 0xc
mov edi, dword [esp + 0x3c]
test edi, edi
je 0x664e0610
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x24]
mov dword [esp + 4], 0xc
mov dword [esp], 4
call eax
sub esp, 8
mov dword [esp + 4], 0xb4
mov eax, dword [eax]
lea esi, [esp + 0xa0]
add eax, 8
mov ecx, esi
mov dword [esp], eax
mov eax, dword [esp + 0x38]
call eax
sub esp, 8
mov edi, dword [esp + 0x28]
mov dword [esp], esi
mov ecx, edi
call dword [0x66a2128c]
mov eax, dword [0x66a21600]
mov ecx, ebp
sub esp, 4
mov dword [esp + 0x30], eax
mov dword [esp], edi
call eax
mov esi, dword [0x66a21298]
mov ecx, edi
sub esp, 4
mov dword [esp + 0x28], edi
mov dword [esp + 0x34], esi
call esi
mov esi, dword [ebx]
mov ecx, dword [ebx + 8]
mov dword [esp + 4], 4
mov edx, dword [ebx + 4]
lea eax, [esi + 2]
lea edi, [ecx - 2]
mov dword [esp + 0x140], esi
mov dword [esp + 0x120], eax
mov dword [esp + 0x130], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x128], edi
mov dword [esp + 0x134], eax
mov dword [esp + 0x13c], eax
lea eax, [eax - 2]
mov dword [esp + 0x138], edi
mov edi, dword [esp + 0x28]
mov dword [esp + 0x14c], eax
mov dword [esp + 0x15c], eax
mov eax, dword [0x66a21648]
mov dword [esp + 0x124], edx
mov dword [esp + 0x12c], edx
add edx, 2
mov dword [esp + 0x144], edx
mov dword [esp + 0x148], esi
mov dword [esp + 0x150], ecx
mov dword [esp + 0x154], edx
mov dword [esp + 0x158], ecx
mov ecx, ebp
mov dword [esp], edi
mov dword [esp + 0x24], eax
call eax
mov edi, dword [ebx + 4]
sub esp, 8
lea eax, [edi + 1]
mov edi, dword [ebx]
mov dword [esp + 4], 4
mov dword [esp + 0xc4], eax
lea ecx, [edi + 1]
mov edi, dword [ebx + 8]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xc0], ecx
lea edx, [edi - 1]
mov edi, dword [ebx + 0xc]
mov dword [esp + 0xd0], ecx
mov ecx, ebp
mov dword [esp + 0xc8], edx
lea eax, [edi - 1]
mov dword [esp + 0xd8], edx
mov edi, dword [0x66a21580]
mov dword [esp + 0xd4], eax
mov dword [esp + 0xdc], eax
lea eax, [esp + 0xc0]
mov dword [esp], eax
call edi
mov ecx, ebp
sub esp, 8
lea eax, [esp + 0x70]
mov dword [esp], eax
call dword [0x66a21604]
mov ecx, dword [ebx + 4]
sub esp, 4
lea eax, [ecx + 1]
mov ecx, dword [ebx + 8]
lea esi, [esp + 0xb0]
mov dword [esp + 4], 1
mov dword [esp + 0xb4], eax
lea edx, [ecx - 2]
mov ecx, dword [ebx]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xb8], edx
mov eax, dword [esp + 0x24]
add ecx, 2
mov dword [esp], esi
mov dword [esp + 0xb0], ecx
mov ecx, ebp
call eax
mov ecx, dword [ebx + 0xc]
sub esp, 8
lea edx, [ecx - 2]
mov ecx, dword [ebx]
mov dword [esp], esi
mov dword [esp + 0xbc], edx
lea eax, [ecx + 1]
mov ecx, dword [ebx + 4]
mov dword [esp + 4], 1
mov dword [esp + 0xb0], eax
add ecx, 2
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0xb4], ecx
mov ecx, ebp
call eax
sub esp, 8
mov ecx, dword [esp + 0x2c]
lea eax, [esp + 0x4c]
mov dword [esp], ecx
mov ecx, eax
call dword [0x66a21340]
mov ecx, esi
sub esp, 4
lea eax, [esp + 0x4c]
mov dword [esp + 0x14], 0x40
mov dword [esp], eax
mov dword [esp + 0x10], 0x10
mov dword [esp + 0xc], 1
mov dword [esp + 4], 0
mov dword [esp + 8], 0x3ff00000
call dword [0x66a21288]
mov ecx, ebp
sub esp, 0x18
mov dword [esp], esi
mov edx, dword [esp + 0x30]
call edx
mov ecx, esi
sub esp, 4
mov edx, dword [esp + 0x34]
call edx
lea eax, [esp + 0x4c]
mov ecx, eax
call dword [0x66a2134c]
mov ecx, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
mov dword [esp], esi
mov dword [esp + 4], 1
lea eax, [ecx + 1]
mov ecx, dword [ebx + 4]
sub edx, 2
mov dword [esp + 0xb0], eax
add ecx, 2
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0xb4], ecx
mov ecx, ebp
mov dword [esp + 0xbc], edx
call eax
mov edx, dword [ebx + 4]
mov ecx, ebp
sub esp, 8
lea eax, [edx + 1]
mov edx, dword [ebx + 8]
mov dword [esp], esi
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb0], edx
mov dword [esp + 4], 1
call edi
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx]
sub esp, 8
lea eax, [edx + 1]
mov edx, dword [ebx + 8]
add ecx, 2
mov dword [esp], esi
mov dword [esp + 0xb0], ecx
mov ecx, ebp
sub edx, 2
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], edx
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 4], 1
call eax
mov eax, dword [ebx]
mov edx, dword [ebx + 0xc]
mov ecx, ebp
sub esp, 8
add eax, 1
mov dword [esp + 0xb4], edx
mov dword [esp + 0xb0], eax
mov dword [esp], esi
mov dword [esp + 4], 1
call edi
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
mov ecx, ebp
sub esp, 8
sub eax, 1
mov dword [esp + 0xb4], edx
mov dword [esp + 0xb0], eax
mov dword [esp], esi
mov dword [esp + 4], 1
call edi
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
mov ecx, ebp
sub esp, 8
sub eax, 1
mov dword [esp + 0xb0], edx
mov dword [esp + 0xb4], eax
mov dword [esp], esi
mov dword [esp + 4], 1
call edi
sub esp, 8
mov ecx, dword [esp + 0x2c]
call dword [0x66a20e88]
add esp, 0x16c
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], 0x6e
lea esi, [esp + 0xa0]
lea eax, [esp + 0x50]
jmp 0x664e0267
add eax, 1
xor edx, edx
sub esi, 1
sub ecx, 1
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0xe8], esi
add eax, 1
mov dword [esp], edi
mov dword [esp + 0xe4], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0xec], ecx
mov ecx, ebp
mov dword [esp + 4], eax
mov dword [esp + 0x120], 1
mov dword [esp + 0x124], 0xffff1414
mov dword [esp + 0x128], 0xffffffff
mov word [esp + 0x12c], dx
call dword [0x66a21630]
mov edi, dword [ebx + 4]
mov ecx, dword [ebx + 0xc]
sub esp, 8
mov eax, dword [ebx]
mov esi, dword [ebx + 8]
mov dword [esp + 0x34], edi
jmp 0x664e012a
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x24]
mov dword [esp + 4], 0xc
mov dword [esp], 4
call eax
sub esp, 8
mov dword [esp + 4], 0x78
mov eax, dword [eax]
lea edi, [esp + 0x120]
mov ecx, edi
mov dword [esp + 0x28], edi
add eax, 8
mov dword [esp], eax
mov eax, dword [0x66a21d04]
mov dword [esp + 0x38], eax
call eax
mov esi, dword [ebx + 0xc]
sub esp, 8
lea eax, [esi - 1]
mov esi, dword [ebx + 8]
mov dword [esp + 4], edi
mov dword [esp + 0xec], eax
lea edx, [esi - 1]
mov esi, dword [ebx + 4]
mov dword [esp + 0xe8], edx
lea ecx, [esi + 1]
mov esi, dword [ebx]
mov dword [esp + 0xe4], ecx
mov ecx, ebp
add esi, 1
mov dword [esp + 0xe0], esi
lea esi, [esp + 0xe0]
mov dword [esp + 0x2c], esi
mov dword [esp], esi
xor esi, esi
call dword [0x66a21630]
xor ecx, ecx
sub esp, 8
lea eax, [esp + 0x60]
mov word [esp + 0x8c], cx
mov ecx, edi
mov word [esp + 0x9c], si
mov dword [esp], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x80], 1
mov dword [esp + 0x84], 0x2828
mov dword [esp + 0x88], 0
mov dword [esp + 0x90], 1
mov dword [esp + 0x94], 0xffff3c3c
mov dword [esp + 0x98], 0xffffffff
mov dword [esp + 4], 0x82
call eax
mov esi, dword [ebx + 8]
mov ecx, dword [ebx + 0xc]
sub esp, 8
mov eax, dword [esp + 0x120]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x124]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x128]
mov dword [esp + 0x78], eax
movzx eax, word [esp + 0x12c]
mov word [esp + 0x7c], ax
mov eax, dword [ebx + 4]
mov dword [esp + 0x34], eax
mov eax, dword [ebx]
jmp 0x664e018a