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

Disassembly:
sub esp, 0x6c
mov eax, dword [0x10259b00]
xor eax, esp
mov dword [esp + 0x68], eax
mov edx, dword [esp + 0x78]
push ebx
mov ebx, dword [esp + 0x74]
push esi
mov esi, dword [esp + 0x88]
push edi
mov edi, dword [esp + 0x80]
movzx eax, word [ebx]
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x3c], edx
movups xmm0, xmmword [edi]
movups xmmword [esp + 0x40], xmm0
cmp ax, 0x10
je 0x10053a09
cmp ax, 0x14
je 0x10053a09
cmp ax, 0x18
je 0x10053a09
cmp ax, 0x20
je 0x10053a09
pop edi
pop esi
mov eax, 0xffffffce
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.1009fd88
add esp, 0x6c
ret
shl esi, 9
add esi, ebx
mov dword [esp + 0x1c], esi
cmp ax, 0x20
jne 0x10053a1c
mov cl, 2
jmp 0x10053a23
cmp ax, 0x18
setge cl
mov byte [esp + 0xf], cl
push ebp
movzx ecx, cl
cwde
mov dword [esp + 0x34], ecx
lea ebp, [ecx*8]
mov dword [esp + 0x18], ebp
mov ebp, eax
sub ebp, dword [esp + 0x18]
add eax, 0xfffffff0
inc ebp
mov dword [esp + 0x14], ebp
mov ebp, dword [ebx + 0x1a024]
mov dword [esp + 0x1c], ebp
mov ebp, dword [esp + 0x94]
cmp eax, 0x10
ja case.0x10053a6a.17
movzx eax, byte [eax + 0x10053dec]
jmp dword [eax*4 + 0x10053dd8]
push 0
push 2
push ebp
lea eax, [ebx + 0x4018]
push eax
lea eax, [ebx + 0x18]
push eax
push dword [esp + 0xa0]
push edx
call fcn.10057940
add esp, 0x1c
jmp case.0x10053a6a.17
push 0
push 2
push ebp
lea eax, [ebx + 0x4018]
push eax
lea eax, [ebx + 0x18]
push eax
push dword [esp + 0xa0]
push edx
call fcn.10057a20
add esp, 0x1c
jmp case.0x10053a6a.17
push ecx
lea eax, [ebx + 0x10018]
push eax
push 0
push 2
push ebp
lea eax, [ebx + 0x4018]
push eax
lea eax, [ebx + 0x18]
push eax
push dword [esp + 0xa8]
push edx
call fcn.10057b10
jmp 0x10053b01
push ecx
lea eax, [ebx + 0x10018]
push eax
push 0
push 2
push ebp
lea eax, [ebx + 0x4018]
push eax
lea eax, [ebx + 0x18]
push eax
push dword [esp + 0xa8]
push edx
call fcn.10057d00
add esp, 0x24
push 0xc
push 0
push edi
call fcn.10054440
xor eax, eax
mov ecx, 4
cmp ebp, dword [esp + 0x28]
push 4
cmovne eax, ecx
or eax, dword [esp + 0x44]
add eax, eax
push eax
push edi
call fcn.10054440
add esp, 0x18
cmp ebp, dword [esp + 0x1c]
je 0x10053b40
push 0x20
push ebp
push edi
call fcn.10054440
add esp, 0xc
push 8
push 2
push edi
call fcn.10054440
push 8
push 0
push edi
call fcn.10054440
push 8
push 9
push edi
call fcn.10054440
push 8
push 0x88
push edi
call fcn.10054440
lea eax, [esi + 0x180f8]
add esp, 0x30
mov dword [esp + 0x28], eax
mov esi, eax
mov ebp, 8
nop
movsx eax, word [esi]
push 0x10
push eax
push edi
call fcn.10054440
add esp, 0xc
lea esi, [esi + 2]
sub ebp, 1
jne 0x10053b80
push 8
push 9
push edi
call fcn.10054440
push 8
push 0x88
push edi
call fcn.10054440
mov eax, dword [esp + 0x38]
lea ebx, [ebp + 8]
mov ebp, dword [esp + 0xac]
add esp, 0x18
add eax, 0x190f8
mov dword [esp + 0x2c], eax
mov esi, eax
nop word [eax + eax]
movsx eax, word [esi]
push 0x10
push eax
push edi
call fcn.10054440
add esp, 0xc
lea esi, [esi + 2]
sub ebx, 1
jne 0x10053bd0
cmp byte [esp + 0x13], bl
mov ebx, dword [esp + 0x30]
je 0x10053c4d
lea ecx, [ebp*2]
test ecx, ecx
je 0x10053c4d
mov eax, dword [esp + 0x18]
lea esi, [ebx + 0x1001a]
add eax, eax
mov dword [esp + 0x24], eax
lea eax, [ecx - 1]
mov ebx, dword [esp + 0x24]
shr eax, 1
inc eax
mov ebp, eax
nop dword [eax + eax]
movzx edx, word [esi - 2]
mov ecx, dword [esp + 0x18]
movzx eax, word [esi]
shl edx, cl
push ebx
or edx, eax
push edx
push edi
call fcn.10054440
add esp, 0xc
lea esi, [esi + 4]
sub ebp, 1
jne 0x10053c20
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x94]
push 9
push dword [esp + 0x18]
lea esi, [ebx + 0x8018]
push 8
push dword [esp + 0x34]
lea eax, [ebx + 0x18]
push ebp
push esi
push eax
call fcn.10056df0
push 0xff
push ebp
push ebp
push 0xe
push 0x28
lea eax, [esp + 0x84]
push 0xa
push eax
call fcn.100561d0
lea eax, [esp + 0x74]
push eax
push dword [esp + 0x50]
lea eax, [esp + 0x94]
push ebp
push edi
push esi
push eax
call fcn.10056840
add esp, 0x50
test eax, eax
jne 0x10053dc5
push 9
push dword [esp + 0x18]
lea esi, [ebx + 0xc018]
push 8
push dword [esp + 0x38]
lea eax, [ebx + 0x4018]
push ebp
push esi
push eax
call fcn.10056df0
push 0xff
push ebp
push ebp
push 0xe
push 0x28
lea eax, [esp + 0x84]
push 0xa
push eax
call fcn.100561d0
lea eax, [esp + 0x70]
push eax
push dword [esp + 0x50]
lea eax, [esp + 0x94]
push ebp
push edi
push esi
push eax
call fcn.10056840
add esp, 0x50
mov dword [esp + 0x24], eax
test eax, eax
jne 0x10053dc5
mov ecx, dword [esp + 0x38]
xor edx, edx
cmp ebp, dword [esp + 0x1c]
mov eax, 0x20
cmovne edx, eax
mov eax, dword [esp + 0x3c]
add ecx, edx
add eax, 0x140
add ecx, eax
cmp byte [esp + 0x13], 0
je 0x10053d3c
mov eax, dword [esp + 0x34]
imul eax, ebp
shl eax, 4
add ecx, eax
movsx eax, word [ebx]
imul eax, ebp
add eax, 8
lea esi, [edx + eax*2]
cmp ecx, esi
sbb eax, eax
inc eax
mov dword [esp + 0x28], eax
cmp ecx, esi
jae 0x10053d8b
push edi
call fcn.10054330
mov dword [esp + 0x30], eax
lea eax, [esp + 0x48]
push eax
call fcn.10054330
mov ecx, dword [esp + 0x34]
add esp, 8
sub ecx, eax
cmp ecx, esi
jb 0x10053d87
push esi
push ecx
push str.compressed_frame_too_big:__u_vs.__u_n
call fcn.10007100
add esp, 0xc
jmp 0x10053d90
mov eax, dword [esp + 0x28]
cmp eax, 1
jne 0x10053dc1
movups xmm0, xmmword [esp + 0x44]
push ebp
push dword [esp + 0x90]
movups xmmword [edi], xmm0
push dword [esp + 0x48]
push edi
push ebx
call fcn.100537e0
add esp, 0x14
pop ebp
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x68]
xor ecx, esp
call fcn.1009fd88
add esp, 0x6c
ret
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x78]
pop ebp
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.1009fd88
add esp, 0x6c
ret