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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x90
mov eax, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
mov esi, ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], esi
lea edi, [edi + eax + 1]
cmp edi, 4
ja 0x468c9d
test edi, edi
je 0x468cf3
lea eax, [edi*8]
lea ecx, [esp + 8]
push eax
push 0
push ecx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x2c]
jmp 0x468cf3
cmp edi, 0xfffffff
ja 0x468eb8
lea ecx, [edi*8]
test ecx, ecx
js 0x468eb8
mov eax, dword [0x5a1188]
test eax, eax
jne 0x468cd8
mov ebx, ecx
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x468ebd
mov ecx, ebx
mov dword [0x5a1188], eax
mov ebx, ecx
push ecx
push 8
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x468ebd
mov edx, 1
jmp 0x468d27
mov edx, dword [esp + 0x24]
movsd xmm0, qword [esp + 0x1c]
movsd xmm2, qword [esp + 0xc]
movsd xmm1, qword [esp + 0x14]
mov dword [esp + 0x88], edx
xor edx, edx
movsd qword [esp + 0x80], xmm0
movsd qword [esp + 0x78], xmm1
movsd qword [esp + 0x70], xmm2
movsd xmm1, qword [esp + 0x78]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x88]
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], eax
movsd xmm0, qword [esp + 0x70]
mov ebx, dword [ebp + 8]
movsd qword [esp + 0x54], xmm1
movsd xmm1, qword [esp + 0x80]
mov dword [esp + 0x64], edx
mov edx, edi
movsd qword [esp + 0x4c], xmm0
mov edi, dword [ebp + 0xc]
cmp edx, 5
movsd qword [esp + 0x5c], xmm1
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], ecx
lea ecx, [esp + 0x48]
cmovae ecx, eax
mov eax, dword [ebp + 0x10]
cmp ebx, eax
mov esi, eax
cmova esi, ebx
cmovb eax, ebx
mov dword [esp + 4], esi
mov esi, dword [esp + 0x38]
mov ebx, esi
cmovb ebx, edi
cmovb edi, esi
cmp eax, 0x21
jae 0x468daf
push dword [esp + 4]
push ebx
push eax
push edi
call fcn.00468ed0
jmp 0x468dce
mov esi, dword [esp + 4]
cmp eax, 0x101
jae 0x468dc5
push esi
push ebx
push eax
push edi
call fcn.0046d2e0
jmp 0x468dce
push esi
push ebx
push eax
push edi
call fcn.004690e0
add esp, 0x10
movsd xmm3, qword [esp + 0x68]
movsd xmm2, qword [esp + 0x60]
movsd xmm0, qword [esp + 0x40]
movsd xmm1, qword [esp + 0x48]
lea ecx, [esp + 0x10]
movsd qword [esp + 0x30], xmm3
movsd qword [esp + 0x28], xmm2
movsd xmm3, qword [esp + 0x58]
movsd xmm2, qword [esp + 0x50]
movsd qword [esp + 0x10], xmm1
movsd qword [esp + 8], xmm0
movsd qword [esp + 0x20], xmm3
movsd qword [esp + 0x18], xmm2
mov edx, dword [esp + 0x10]
nop word cs:[eax + eax]
nop dword [eax + eax]
mov edi, dword [esp + 0x30]
mov ebx, ecx
cmp edi, 5
mov esi, edi
jb 0x468e43
mov esi, dword [esp + 0xc]
mov ebx, edx
test esi, esi
je 0x468e6b
mov eax, dword [ebx + esi*8 - 8]
or eax, dword [ebx + esi*8 - 4]
jne 0x468e6b
cmp edi, 5
lea esi, [esp + 0x30]
jb 0x468e62
mov edi, dword [esp + 0xc]
lea esi, [esp + 0xc]
test edi, edi
je 0x468e30
dec edi
mov dword [esi], edi
jmp 0x468e30
mov eax, dword [esp + 0x3c]
movsd xmm1, qword [esp + 0x28]
movsd xmm2, qword [esp + 0x20]
movsd xmm0, qword [esp + 0x30]
movsd qword [eax + 0x20], xmm1
movsd xmm1, qword [esp + 0x18]
movsd qword [eax + 0x18], xmm2
movsd xmm2, qword [esp + 8]
movsd qword [eax + 0x28], xmm0
movsd qword [eax + 0x10], xmm1
movsd xmm1, qword [esp + 0x10]
movsd qword [eax], xmm2
movsd qword [eax + 8], xmm1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
call fcn.004478d0
mov ecx, 8
mov edx, ebx
call fcn.00531970
int3