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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x1a0
mov ebx, edx
mov esi, ecx
lea ecx, [esp + 0xc]
mov dword [esp + 0xf0], ecx
call fcn.004826e0
mov eax, dword [esp + 0xc]
cmp eax, 0x20
jne 0x481c9a
movsd xmm0, qword [esp + 0x40]
movsd xmm1, qword [esp + 0x38]
movsd xmm2, qword [esp + 0x30]
movq xmm3, qword [esp + 0x28]
movsd xmm4, qword [esp + 0x20]
movsd xmm5, qword [esp + 0x10]
movsd xmm6, qword [esp + 0x18]
movsd qword [esp + 0xb4], xmm0
movsd qword [esp + 0xac], xmm1
movsd qword [esp + 0xa4], xmm2
movq qword [esp + 0x9c], xmm3
movsd qword [esp + 0x4c], xmm5
movsd qword [esp + 0x54], xmm6
movsd qword [esp + 0x5c], xmm4
movq qword [esp + 0x64], xmm3
movsd qword [esp + 0x6c], xmm2
movsd qword [esp + 0x74], xmm1
movsd qword [esp + 0x7c], xmm0
mov ecx, ebx
call fcn.00478020
mov eax, dword [ebx + 8]
mov edi, dword [ebx]
cmp dword [edi], eax
mov dword [esp + 4], eax
jne 0x481d3e
lea ecx, [esp + 0xc]
mov edx, ebx
call fcn.0047b880
movq xmm0, qword [esp + 0x44]
movsd xmm1, qword [esp + 0x3c]
movsd xmm2, qword [esp + 0x34]
movq qword [esi + 0x3c], xmm0
movsd qword [esi + 0x34], xmm1
movsd xmm1, qword [esp + 0x2c]
movsd qword [esi + 0x2c], xmm2
movsd xmm2, qword [esp + 0x24]
movsd qword [esi + 0x24], xmm1
movsd xmm1, qword [esp + 0x1c]
movsd qword [esi + 0x1c], xmm2
movsd xmm2, qword [esp + 0xc]
movsd qword [esi + 0x14], xmm1
movsd xmm1, qword [esp + 0x14]
movsd qword [esi + 0xc], xmm1
movsd qword [esi + 4], xmm2
movzx eax, byte [esp + 0x80]
mov dword [esi], 8
add al, 0xfe
cmp al, 4
jb 0x481d36
movzx eax, byte [esp + 0x64]
test eax, eax
je 0x481d36
cmp eax, 1
jne 0x481f3a
cmp dword [esp + 0x6c], 0
je 0x481d36
mov eax, dword [0x56bbf8]
push dword [esp + 0x68]
jmp 0x481f67
movq xmm0, qword [esp + 0x40]
movsd xmm1, qword [esp + 0x38]
movsd xmm2, qword [esp + 0x30]
movq xmm3, qword [esp + 0x28]
movsd xmm4, qword [esp + 0x20]
movsd xmm5, qword [esp + 0x10]
movsd xmm6, qword [esp + 0x18]
mov ecx, dword [esp + 0x48]
movq qword [esp + 0xb4], xmm0
movsd qword [esp + 0xac], xmm1
movsd qword [esp + 0xa4], xmm2
movq qword [esp + 0x9c], xmm3
movsd qword [esp + 0x94], xmm4
movsd qword [esp + 0x8c], xmm6
movsd qword [esp + 0x84], xmm5
movq qword [esi + 0x38], xmm0
movsd qword [esi + 0x30], xmm1
movsd qword [esi + 0x28], xmm2
movq qword [esi + 0x20], xmm3
movsd qword [esi + 0x18], xmm4
movsd qword [esi + 0x10], xmm6
movsd qword [esi + 8], xmm5
mov dword [esi + 4], eax
mov dword [esi + 0x40], ecx
mov dword [esi], 8
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, ebx
call fcn.00477dc0
cmp eax, 0x2d
jne 0x481d66
mov ecx, ebx
call fcn.004786b0
cmp eax, 0x5d
je 0x481d66
mov ecx, ebx
call fcn.004786b0
cmp eax, 0x2d
jne 0x481f75
movzx ecx, byte [esp + 0x80]
mov edx, 4
lea eax, [esp + 0x81]
mov ch, cl
add ch, 0xfe
movzx edi, ch
cmp ch, 4
cmovb edx, edi
cmp dl, 4
je 0x481e07
movzx edx, dl
cmp edx, 3
je 0x481dd4
test edx, edx
jne 0x481e6c
movsd xmm1, qword [esp + 0x5c]
movq xmm0, qword [esp + 0x64]
movsd xmm2, qword [esp + 0x4c]
movsd qword [esi + 0x14], xmm1
movsd xmm1, qword [esp + 0x54]
movq qword [esi + 0x1c], xmm0
movsd qword [esi + 4], xmm2
movsd qword [esi + 0xc], xmm1
mov dword [esi], 1
jmp 0x481d36
mov eax, dword [esp + 0x64]
movq xmm0, qword [esp + 0x5c]
movsd xmm2, qword [esp + 0x4c]
movsd xmm1, qword [esp + 0x54]
mov dword [esi + 0x1c], eax
movq qword [esi + 0x14], xmm0
movsd qword [esi + 0xc], xmm1
movsd qword [esi + 4], xmm2
mov dword [esi], 5
jmp 0x481d36
movsd xmm1, qword [esp + 0x6c]
mov edx, dword [esp + 0x7c]
movsd xmm2, qword [esp + 0x64]
movq xmm0, qword [esp + 0x74]
movsd qword [esi + 0x24], xmm1
movsd xmm1, qword [esp + 0x5c]
mov dword [esi + 0x34], edx
movsd qword [esi + 0x1c], xmm2
movsd xmm2, qword [esp + 0x4c]
movzx edx, word [eax]
movzx eax, byte [eax + 2]
movq qword [esi + 0x2c], xmm0
movsd qword [esi + 0x14], xmm1
movsd xmm1, qword [esp + 0x54]
movsd qword [esi + 4], xmm2
movsd qword [esi + 0xc], xmm1
mov byte [esi + 0x38], cl
mov word [esi + 0x39], dx
mov byte [esi + 0x3b], al
mov dword [esi], 4
jmp 0x481d36
movsd xmm1, qword [esp + 0x6c]
mov edx, dword [esp + 0x7c]
movsd xmm2, qword [esp + 0x64]
mov edi, dword [ebx + 4]
movsd xmm0, qword [esp + 0x74]
cmp dword [esp + 4], 0
mov byte [esp + 0xb], ch
movsd qword [esp + 0x2c], xmm1
movsd xmm1, qword [esp + 0x5c]
mov dword [esp + 0x3c], edx
movsd qword [esp + 0x24], xmm2
movsd xmm2, qword [esp + 0x4c]
movzx edx, word [eax]
movzx eax, byte [eax + 2]
movsd qword [esp + 0x34], xmm0
mov dword [esp + 0xd4], edi
movsd qword [esp + 0x1c], xmm1
movsd xmm1, qword [esp + 0x54]
movsd qword [esp + 0xc], xmm2
movsd qword [esp + 0x14], xmm1
mov byte [esp + 0x40], cl
mov word [esp + 0x41], dx
mov byte [esp + 0x43], al
je 0x481fa3
setns al
js 0x48269f
mov edi, dword [0x56bbf8]
mov byte [esp + 0xa], al
mov eax, dword [edi]
test eax, eax
jne 0x481f0d
call sub.kernel32.dll_GetProcessHeap
test eax, eax
je 0x481f23
mov dword [edi], eax
push dword [esp + 4]
push 0
push eax
call sub.kernel32.dll_HeapAlloc
mov ebx, eax
test eax, eax
jne 0x481fa8
movzx eax, byte [esp + 0xa]
push eax
push dword [esp + 8]
call fcn.004085f0
add esp, 8
jmp 0x4826a4
cmp dword [esp + 0x6c], 0
je 0x481f53
mov eax, dword [0x56bbf8]
push dword [esp + 0x68]
push 0
push dword [eax]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x78], 0
je 0x481d36
mov eax, dword [0x56bbf8]
push dword [esp + 0x74]
push 0
push dword [eax]
call sub.kernel32.dll_HeapFree
jmp 0x481d36
mov ecx, ebx
call fcn.00477eb0
test al, al
je 0x481f93
mov ecx, ebx
call fcn.00478020
mov eax, dword [esp + 4]
cmp dword [edi], eax
jne 0x48205f
lea ecx, [esp + 0xc]
mov edx, ebx
call fcn.0047b880
jmp 0x481bfb
mov ebx, 1
mov edi, dword [esp + 4]
push edi
push dword [esp + 0xd8]
push ebx
call sub.msvcrt.dll_memcpy
add esp, 0xc
movsd xmm1, qword [esp + 0x54]
movq xmm0, qword [esp + 0x4c]
movsd xmm2, qword [esp + 0x5c]
cmp byte [esp + 0xb], 4
movsd qword [esi + 0x34], xmm1
movsd xmm1, qword [0x51bb00]
movq qword [esi + 0x2c], xmm0
movsd qword [esi + 0x3c], xmm2
mov dword [esi + 0x20], ebx
mov dword [esi + 0x24], edi
mov dword [esi + 0x28], edi
movsd qword [esi], xmm1
jb 0x481d36
movzx eax, byte [esp + 0x24]
test eax, eax
je 0x481d36
cmp eax, 1
jne 0x482021
cmp dword [esp + 0x2c], 0
je 0x481d36
lea eax, [esp + 0x28]
jmp 0x482049
cmp dword [esp + 0x2c], 0
je 0x48203a
mov eax, dword [0x56bbf8]
push dword [esp + 0x28]
push 0
push dword [eax]
call sub.kernel32.dll_HeapFree
cmp dword [esp + 0x38], 0
je 0x481d36
lea eax, [esp + 0x34]
mov ecx, dword [0x56bbf8]
push dword [eax]
push 0
push dword [ecx]
call sub.kernel32.dll_HeapFree
jmp 0x481d36
lea ecx, [esp + 0xc]
mov edx, ebx
call fcn.004826e0
mov eax, dword [esp + 0xc]
cmp eax, 0x20
jne 0x48243b
movsd xmm1, qword [esp + 0x38]
movsd xmm0, qword [esp + 0x40]
movsd xmm2, qword [esp + 0x30]
movq xmm3, qword [esp + 0x28]
movsd xmm4, qword [esp + 0x20]
movsd xmm5, qword [esp + 0x10]
movsd xmm6, qword [esp + 0x18]
mov eax, dword [esp + 0x54]
mov edi, dword [ebx + 4]
movsd qword [esp + 0xac], xmm1
movsd qword [esp + 0x12c], xmm1
movsd xmm1, qword [esp + 0x4c]
movsd qword [esp + 0x104], xmm5
movsd qword [esp + 0x10c], xmm6
movsd qword [esp + 0x114], xmm4
movq qword [esp + 0x11c], xmm3
movsd qword [esp + 0x124], xmm2
movsd qword [esp + 0x134], xmm0
movsd qword [esp + 0xa4], xmm2
mov dword [esp + 0x174], eax
movsd qword [esp + 0xb4], xmm0
movq qword [esp + 0x9c], xmm3
movsd xmm2, qword [esp + 0x110]
mov eax, dword [esp + 0x118]
movsd qword [esp + 0x16c], xmm1
movsd xmm1, qword [esp + 0x7c]
movsd qword [esp + 0x178], xmm2
movsd xmm2, qword [esp + 0x74]
mov dword [esp + 0x180], eax
movsd qword [esp + 0xb4], xmm1
movsd xmm1, qword [esp + 0x6c]
movsd qword [esp + 0xac], xmm2
movsd xmm2, qword [esp + 0x64]
movsd qword [esp + 0xa4], xmm1
movsd xmm1, qword [esp + 0x5c]
movsd qword [esp + 0x9c], xmm2
movsd xmm2, qword [esp + 0x4c]
movsd qword [esp + 0x94], xmm1
movsd xmm1, qword [esp + 0x54]
movsd qword [esp + 0x84], xmm2
movsd qword [esp + 0x8c], xmm1
lea edx, [esp + 0x84]
lea ecx, [esp + 0xc]
push dword [esp + 4]
push edi
call fcn.00477b50
add esp, 8
mov eax, dword [esp + 0xc]
cmp eax, 0x20
jne 0x4824d6
movsd xmm1, qword [esp + 0x18]
movsd xmm2, qword [esp + 0x28]
movsd xmm0, qword [esp + 0x20]
movsd xmm3, qword [esp + 0x10]
movsd qword [esp + 0xe0], xmm1
movsd xmm1, qword [esp + 0x134]
movaps xmmword [esp + 0xf0], xmm2
movsd xmm2, qword [esp + 0x12c]
movsd qword [esp + 0xe8], xmm0
movsd qword [esp + 0xd8], xmm3
movsd qword [esp + 0xb4], xmm1
movsd xmm1, qword [esp + 0x124]
movsd qword [esp + 0xac], xmm2
movsd xmm2, qword [esp + 0x11c]
movsd qword [esp + 0xa4], xmm1
movsd xmm1, qword [esp + 0x114]
movsd qword [esp + 0x9c], xmm2
movsd xmm2, qword [esp + 0x104]
movsd qword [esp + 0x94], xmm1
movsd xmm1, qword [esp + 0x10c]
movsd qword [esp + 0x84], xmm2
movsd qword [esp + 0x8c], xmm1
lea ebx, [esp + 0x84]
lea ecx, [esp + 0xc]
mov edx, ebx
push dword [esp + 4]
push edi
call fcn.00477b50
add esp, 8
mov eax, dword [esp + 0xc]
cmp eax, 0x20
jne 0x48257a
movsd xmm3, qword [esp + 0x18]
movsd xmm2, qword [esp + 0x10]
movsd xmm4, qword [esp + 0x16c]
movq xmm0, qword [esp + 0x28]
movsd xmm1, qword [esp + 0x20]
movsd qword [esp + 0xc4], xmm3
movsd qword [esp + 0x18c], xmm3
movsd xmm3, qword [esp + 0x17c]
movsd qword [esp + 0xbc], xmm2
movsd qword [esp + 0x184], xmm2
movsd xmm2, qword [esp + 0x174]
movsd qword [esp + 0x13c], xmm4
movd eax, xmm0
movsd qword [esp + 0xcc], xmm1
movsd qword [esp + 0x194], xmm1
movsd qword [esp + 0x14c], xmm3
movsd xmm3, qword [esp + 0xd8]
movsd qword [esp + 0x144], xmm2
movsd xmm2, qword [esp + 0xe8]
movsd qword [esp + 0x154], xmm3
movdqa xmm3, xmmword [esp + 0xf0]
movsd qword [esp + 0x164], xmm2
movsd xmm2, qword [esp + 0xe0]
movd ecx, xmm3
movsd qword [esp + 0x15c], xmm2
cmp ecx, eax
jbe 0x48260c
movsd xmm0, qword [esp + 0x14c]
movsd xmm2, qword [esp + 0x13c]
movsd xmm1, qword [esp + 0x144]
mov dword [esp + 0x84], 2
movsd qword [esp + 0xcc], xmm0
movsd qword [esp + 0xc4], xmm1
movsd qword [esp + 0xbc], xmm2
lea eax, [esp + 0xbc]
lea ecx, [esp + 0xc]
mov edx, edi
push ebx
push eax
push dword [esp + 0xc]
call fcn.00477d00
add esp, 0xc
movsd xmm1, qword [esp + 0x3c]
movsd xmm2, qword [esp + 0x34]
movq xmm0, qword [esp + 0x44]
movsd qword [esi + 0x34], xmm1
movsd xmm1, qword [esp + 0x2c]
movsd qword [esi + 0x2c], xmm2
movsd xmm2, qword [esp + 0x24]
movq qword [esi + 0x3c], xmm0
movsd qword [esi + 0x24], xmm1
movsd xmm1, qword [esp + 0x1c]
movsd qword [esi + 0x1c], xmm2
movsd xmm2, qword [esp + 0xc]
movsd qword [esi + 0x14], xmm1
movsd xmm1, qword [esp + 0x14]
movsd qword [esi + 4], xmm2
movsd qword [esi + 0xc], xmm1
jmp 0x481d30
movq xmm0, qword [esp + 0x40]
movsd xmm1, qword [esp + 0x38]
movsd xmm2, qword [esp + 0x30]
movq xmm3, qword [esp + 0x28]
movsd xmm4, qword [esp + 0x20]
movsd xmm5, qword [esp + 0x10]
movsd xmm6, qword [esp + 0x18]
mov ecx, dword [esp + 0x48]
movq qword [esp + 0xb4], xmm0
movsd qword [esp + 0xac], xmm1
movsd qword [esp + 0xa4], xmm2
movq qword [esp + 0x9c], xmm3
movsd qword [esp + 0x94], xmm4
movsd qword [esp + 0x8c], xmm6
movsd qword [esp + 0x84], xmm5
movq qword [esi + 0x38], xmm0
movsd qword [esi + 0x30], xmm1
movsd qword [esi + 0x28], xmm2
movq qword [esi + 0x20], xmm3
movsd qword [esi + 0x18], xmm4
movsd qword [esi + 0x10], xmm6
movsd qword [esi + 8], xmm5
mov dword [esi + 4], eax
mov dword [esi + 0x40], ecx
jmp 0x481c53
movsd xmm0, qword [esp + 0x20]
movsd xmm1, qword [esp + 0x18]
mov ecx, dword [esp + 0x48]
movsd qword [esp + 0xe8], xmm0
movsd xmm0, qword [esp + 0x10]
movsd qword [esp + 0xe0], xmm1
mov dword [esi + 0x40], ecx
movsd xmm1, qword [esp + 0xe8]
movsd xmm2, qword [esp + 0xe0]
movsd qword [esp + 0xd8], xmm0
movsd xmm0, qword [esp + 0x40]
movq xmm3, qword [esp + 0xd8]
movsd qword [esi + 0x38], xmm0
movsd xmm0, qword [esp + 0x38]
movsd qword [esi + 0x30], xmm0
movsd xmm0, qword [esp + 0x30]
movsd qword [esi + 0x28], xmm0
movq xmm0, qword [esp + 0x28]
movsd qword [esi + 0x18], xmm1
movsd qword [esi + 0x10], xmm2
movq qword [esi + 8], xmm3
mov dword [esi + 4], eax
movq qword [esi + 0x20], xmm0
mov dword [esi], 8
lea ecx, [esp + 0x104]
call fcn.004742a0
jmp 0x481d36
movsd xmm0, qword [esp + 0x20]
movsd xmm1, qword [esp + 0x18]
mov ecx, dword [esp + 0x48]
movsd qword [esp + 0xcc], xmm0
movsd xmm0, qword [esp + 0x10]
movsd qword [esp + 0xc4], xmm1
mov dword [esi + 0x40], ecx
movsd xmm1, qword [esp + 0xcc]
movsd xmm2, qword [esp + 0xc4]
movsd qword [esp + 0xbc], xmm0
movsd xmm0, qword [esp + 0x40]
movq xmm3, qword [esp + 0xbc]
movsd qword [esi + 0x38], xmm0
movsd xmm0, qword [esp + 0x38]
movsd qword [esi + 0x30], xmm0
movsd xmm0, qword [esp + 0x30]
movsd qword [esi + 0x28], xmm0
movq xmm0, qword [esp + 0x28]
movsd qword [esi + 0x18], xmm1
movsd qword [esi + 0x10], xmm2
movq qword [esi + 8], xmm3
mov dword [esi + 4], eax
movq qword [esi + 0x20], xmm0
jmp 0x481d30
movsd xmm2, qword [esp + 0x15c]
movsd xmm1, qword [esp + 0x164]
movsd xmm4, qword [esp + 0x154]
movsd xmm5, qword [esp + 0x13c]
movsd qword [esi + 0x24], xmm2
movsd xmm2, qword [esp + 0x14c]
movsd qword [esi + 0x1c], xmm4
movsd qword [esi + 0x2c], xmm1
movsd qword [esi + 4], xmm5
movsd xmm4, qword [esp + 0x184]
movsd qword [esi + 0x14], xmm2
movsd xmm2, qword [esp + 0x144]
movsd qword [esi + 0xc], xmm2
movsd xmm2, qword [esp + 0x18c]
movsd qword [esi + 0x3c], xmm4
movsd qword [esi + 0x44], xmm2
movsd xmm2, qword [esp + 0x194]
movsd qword [esi + 0x4c], xmm2
mov dword [esi], 2
movq qword [esi + 0x34], xmm3
movq qword [esi + 0x54], xmm0
jmp 0x481d36
call fcn.004085b0
ud2