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

Disassembly:
sub esp, 0x78
mov eax, dword [0x5a83f8]
xor eax, esp
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x8c]
push ebx
mov ebx, dword [esp + 0x84]
add eax, ebx
push ebp
mov ebp, dword [esp + 0x90]
push esi
push edi
mov edi, dword [esp + 0x8c]
mov esi, ebx
mov dword [esp + 0x28], eax
lea edx, [ecx + ebp]
mov dword [esp + 0x40], ebx
push ecx
mov eax, dword [edi + 0x54b8]
mov ebx, dword [edi + 0x54c8]
add ebx, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], eax
lea eax, [edi + 0x804]
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 0x5414]
mov dword [esp + 0x3c], eax
mov eax, dword [edi + 0x5418]
push ebp
push dword [edi + 0x5454]
mov dword [esp + 0x40], eax
mov eax, dword [edi + 0x541c]
mov dword [esp + 0x3c], eax
lea eax, [edi + 0x804]
push eax
mov dword [esp + 0x3c], edx
lea eax, [esp + 0x24]
lea edx, [edi + 0xc08]
mov dword [esp + 0x4c], edi
push edx
push edi
push eax
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x38], edx
call fcn.00545bb0
add esp, 0x1c
cmp eax, 0xffffff88
ja 0x546801
lea ecx, [eax + ebp]
mov ebp, dword [esp + 0x14]
test ebp, ebp
je 0x5467c2
mov dword [edi + 0x5454], 1
mov eax, dword [edi + 0x5424]
mov dword [esp + 0x78], eax
lea eax, [edi + 4]
mov dword [esp + 0x14], eax
mov eax, dword [eax + 0x5424]
mov dword [esp + 0x7c], eax
mov eax, dword [edi + 0x542c]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x2c]
sub eax, ecx
push eax
push ecx
lea eax, [esp + 0x58]
push eax
call fcn.00543480
add esp, 0xc
cmp eax, 0xffffff88
jbe 0x546642
mov eax, 0xffffffec
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.0046ec22
add esp, 0x78
ret
mov edx, dword [esp + 0x54]
or ebx, 0xffffffff
mov eax, dword [esp + 0x50]
mov ecx, edx
movzx edi, word [edi]
and ecx, 0x1f
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.0053c0e0
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x58]
mov ecx, edx
mov dword [esp + 0x68], eax
and ecx, 0x1f
mov eax, dword [esp + 0x1c]
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.0053c0e0
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.0053c0e0
mov eax, dword [esp + 0x28]
add eax, 4
mov dword [esp + 0x80], eax
lea eax, [esp + 0x5c]
push eax
call fcn.0053c0e0
mov ebx, dword [esp + 0x30]
add esp, 0x10
cmp eax, 2
jg 0x54678f
mov edi, dword [esp + 0x28]
nop dword [eax + eax]
test ebp, ebp
je 0x546789
lea eax, [esp + 0x50]
dec ebp
push eax
lea eax, [esp + 0x48]
push eax
call fcn.00545ce0
add esp, 8
lea ecx, [esp + 0x10]
movq xmm0, qword [eax]
push dword [esp + 0x30]
mov eax, dword [eax + 8]
push dword [esp + 0x38]
push dword [esp + 0x40]
push ebx
push ecx
sub esp, 0xc
mov ecx, esp
push edi
movq qword [ecx], xmm0
push esi
mov dword [ecx + 8], eax
call fcn.00546990
add esp, 0x28
cmp eax, 0xffffff88
ja 0x546801
add esi, eax
lea eax, [esp + 0x50]
push eax
call fcn.0053c0e0
add esp, 4
cmp eax, 2
jle 0x546720
mov edx, dword [esp + 0x10]
jmp 0x546793
mov edx, dword [esp + 0x10]
jmp 0x54679b
mov edx, dword [esp + 0x24]
test ebp, ebp
jne 0x54662a
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x78]
mov dword [ecx + 0x5424], eax
mov eax, dword [esp + 0x7c]
mov dword [ecx + 0x5428], eax
mov eax, dword [esp + 0x80]
mov dword [ecx + 0x542c], eax
jmp 0x5467c6
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
sub ebx, edx
sub eax, esi
cmp ebx, eax
jbe 0x5467ea
mov eax, 0xffffffba
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x74]
xor ecx, esp
call fcn.0046ec22
add esp, 0x78
ret
test ebx, ebx
je 0x5467fb
push ebx
push edx
push esi
call fcn.004effe0
add esp, 0xc
add 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.0046ec22
add esp, 0x78
ret