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

Disassembly:
sub esp, 0x78
mov eax, dword [0x13413f8]
xor eax, esp
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x8c]
push ebx
mov ebx, dword [esp + 0x80]
push ebp
mov ebp, dword [esp + 0x90]
push esi
mov esi, dword [esp + 0x8c]
add eax, esi
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0x5448]
lea edx, [ecx + ebp]
push edi
mov edi, dword [ebx + 0x5444]
add eax, edi
mov dword [esp + 0x14], eax
lea eax, [ebx + 0x804]
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 0x5414]
push ecx
mov dword [esp + 0x34], eax
mov eax, dword [ebx + 0x5418]
push ebp
push dword [ebx + 0x5440]
mov dword [esp + 0x44], eax
mov eax, dword [ebx + 0x541c]
mov dword [esp + 0x40], eax
lea eax, [ebx + 0x804]
push eax
mov dword [esp + 0x38], edx
lea eax, [esp + 0x34]
lea edx, [ebx + 0xc08]
mov dword [esp + 0x3c], ebx
push edx
push ebx
push eax
mov dword [esp + 0x5c], esi
mov dword [esp + 0x58], edi
mov dword [esp + 0x2c], edi
mov dword [esp + 0x38], edx
call fcn.00546130
add esp, 0x1c
cmp eax, 0xffffff88
ja 0x546c56
lea ecx, [eax + ebp]
mov dword [ebx + 0x5440], 0
mov ebp, dword [esp + 0x24]
test ebp, ebp
je 0x546c12
mov eax, dword [esp + 0x28]
xorps xmm0, xmm0
sub eax, ecx
mov dword [esp + 0x4c], 0
push eax
push ecx
lea eax, [esp + 0x58]
movq qword [esp + 0x4c], xmm0
push eax
mov dword [esp + 0x58], 1
mov dword [esp + 0x84], 1
mov dword [esp + 0x88], 1
mov dword [esp + 0x8c], 1
call fcn.00544170
add esp, 0xc
cmp eax, 0xffffff88
ja 0x546bfa
mov edx, dword [esp + 0x54]
mov ecx, edx
movzx edi, word [ebx]
and ecx, 0x1f
mov eax, dword [esp + 0x50]
or ebx, 0xffffffff
shl eax, cl
add edx, edi
mov ecx, ebx
shr eax, 1
sub ecx, edi
mov dword [esp + 0x54], edx
and ecx, 0x1f
shr eax, cl
mov dword [esp + 0x60], eax
lea eax, [esp + 0x50]
push eax
call fcn.005475f0
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x58]
add eax, 4
mov dword [esp + 0x68], eax
mov ecx, edx
mov eax, dword [esp + 0x1c]
and ecx, 0x1f
movzx edi, word [eax]
mov eax, dword [esp + 0x54]
add edx, edi
shl eax, cl
mov ecx, ebx
sub ecx, edi
shr eax, 1
and ecx, 0x1f
mov dword [esp + 0x58], edx
shr eax, cl
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x54]
push eax
call fcn.005475f0
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x5c]
add eax, 4
mov dword [esp + 0x74], eax
mov ecx, edx
mov eax, dword [esp + 0x24]
and ecx, 0x1f
movzx edi, word [eax]
mov eax, dword [esp + 0x58]
sub ebx, edi
shl eax, cl
and ebx, 0x1f
shr eax, 1
mov ecx, ebx
shr eax, cl
add edx, edi
mov dword [esp + 0x78], eax
lea eax, [esp + 0x58]
push eax
mov dword [esp + 0x60], edx
call fcn.005475f0
mov eax, dword [esp + 0x28]
add eax, 4
mov dword [esp + 0x80], eax
lea eax, [esp + 0x5c]
push eax
call fcn.005475f0
mov ebx, dword [esp + 0x24]
add esp, 0x10
cmp eax, 2
jg 0x546bf2
mov edi, dword [esp + 0x30]
nop word [eax + eax]
test ebp, ebp
je 0x546bec
lea eax, [esp + 0x50]
dec ebp
push eax
lea eax, [esp + 0x48]
push eax
call fcn.00546260
movq xmm0, qword [esp + 0x4c]
lea eax, [esp + 0x18]
add esp, 8
push dword [esp + 0x34]
push dword [esp + 0x3c]
push edi
push ebx
push eax
mov eax, dword [esp + 0x60]
sub esp, 0xc
mov ecx, esp
push dword [esp + 0x40]
movq qword [ecx], xmm0
push esi
mov dword [ecx + 8], eax
call fcn.00546d80
add esp, 0x28
cmp eax, 0xffffff88
ja 0x546c56
add esi, eax
lea eax, [esp + 0x50]
push eax
call fcn.005475f0
add esp, 4
cmp eax, 2
jle 0x546b80
mov edi, dword [esp + 0x10]
jmp 0x546bf6
mov edi, dword [esp + 0x10]
jmp 0x546c16
mov edi, dword [esp + 0x3c]
test ebp, ebp
je 0x546c16
mov eax, 0xffffffec
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.00472272
add esp, 0x78
ret
mov ebx, dword [esp + 0x14]
mov eax, ebx
sub eax, edi
cmp edi, ebx
ja 0x546bfa
lea ebx, [eax + esi]
cmp ebx, dword [esp + 0x20]
jbe 0x546c3f
mov eax, 0xffffffba
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.00472272
add esp, 0x78
ret
test eax, eax
je 0x546c50
push eax
push edi
push esi
call fcn.004f3650
add esp, 0xc
mov esi, ebx
sub esi, dword [esp + 0x40]
mov eax, esi
mov ecx, dword [esp + 0x84]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00472272
add esp, 0x78
ret