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

Disassembly:
sub esp, 0x10
push esi
mov esi, ecx
push edi
mov eax, dword [esi + 0xb8]
add eax, 0x10
mov dword [esi + 0xac], 0
mov dword [esi + 0xb8], eax
cmp eax, 0xff
jbe 0x5334f7
shr dword [esi + 0xb4], 1
mov dword [esi + 0xb8], 0x90
mov ecx, dword [esi + 0xa0]
mov dword [esp + 0x14], ecx
push ebx
cmp ecx, 0x40
jb 0x53352a
cmp ecx, 0x7a
mov edx, 0x58d450
mov eax, 0x58d440
mov ecx, esi
cmovae eax, edx
push eax
call fcn.00533170
mov ebx, eax
mov dword [esp + 0xc], ebx
jmp 0x5335f3
mov edi, dword [esi + 0x38]
mov ecx, 8
mov eax, dword [esi + 0x3c]
sub ecx, edi
shr eax, cl
shr eax, 8
movzx edx, ax
cmp edx, 0x100
jae 0x533594
lea eax, [edi + 0x10]
mov ebx, edx
mov dword [esp + 0xc], ebx
mov dword [esi + 0x38], eax
cmp eax, 8
jb 0x5335f3
nop dword [eax]
mov eax, dword [esi + 0x40]
cmp eax, dword [esi + 0x44]
jb 0x533574
lea ecx, [esi + 0x40]
call fcn.0040ffef
mov dl, al
jmp 0x53357a
mov dl, byte [eax]
inc eax
mov dword [esi + 0x40], eax
mov ecx, dword [esi + 0x3c]
add dword [esi + 0x38], 0xfffffff8
shl ecx, 8
movzx eax, dl
or ecx, eax
cmp dword [esi + 0x38], 8
mov dword [esi + 0x3c], ecx
jae 0x533560
jmp 0x5335f3
xor ebx, ebx
mov dword [esp + 0xc], ebx
test edx, 0x8000
jne 0x5335b4
inc ebx
mov eax, edx
mov ecx, ebx
shl eax, cl
test eax, 0x8000
je 0x5335a2
mov dword [esp + 0xc], ebx
lea eax, [edi + 1]
add eax, ebx
mov dword [esi + 0x38], eax
cmp eax, 8
jb 0x5335f3
mov eax, dword [esi + 0x40]
cmp eax, dword [esi + 0x44]
jb 0x5335d5
lea ecx, [esi + 0x40]
call fcn.0040ffef
mov dl, al
jmp 0x5335db
mov dl, byte [eax]
inc eax
mov dword [esi + 0x40], eax
mov ecx, dword [esi + 0x3c]
add dword [esi + 0x38], 0xfffffff8
shl ecx, 8
movzx eax, dl
or ecx, eax
cmp dword [esi + 0x38], 8
mov dword [esi + 0x3c], ecx
jae 0x5335c1
mov ecx, dword [esi + 0xa0]
add ecx, ebx
mov dword [esp + 0x14], ebx
mov eax, ecx
shr eax, 5
sub ecx, eax
mov dword [esi + 0xa0], ecx
mov ecx, dword [esi + 0x98]
cmp ecx, 0x2900
jb 0x533621
mov eax, 0x58d480
jmp 0x533634
cmp ecx, 0x700
mov eax, 0x58d470
mov edx, 0x58d460
cmovb eax, edx
push eax
mov ecx, esi
call fcn.00533170
mov edx, dword [esi + 0x98]
add edx, eax
movzx eax, al
add eax, 0x230
mov ecx, edx
shr ecx, 8
lea eax, [esi + eax*4]
sub edx, ecx
mov dword [esp + 0x10], eax
mov dword [esi + 0x98], edx
mov ebx, dword [eax]
movzx eax, bl
inc ebx
mov edx, dword [esi + eax*4 + 0x24c0]
lea ecx, [esi + eax*4]
lea eax, [edx + 1]
mov dword [ecx + 0x24c0], eax
test bl, bl
jne 0x533786
movaps xmm3, xmmword [0x58d4d0]
nop dword [eax + eax]
lea eax, [esi + 0x8c0]
mov edx, 7
nop dword [eax + eax]
movd xmm0, edx
mov ecx, 2
pshufd xmm2, xmm0, 0
nop
movups xmm0, xmmword [eax]
movaps xmm1, xmm3
andps xmm1, xmm0
orps xmm1, xmm2
movups xmmword [eax], xmm1
movups xmm0, xmmword [eax + 0x10]
movaps xmm1, xmm3
andps xmm1, xmm0
orps xmm1, xmm2
movups xmmword [eax + 0x10], xmm1
movups xmm0, xmmword [eax + 0x20]
movaps xmm1, xmm3
andps xmm1, xmm0
orps xmm1, xmm2
movups xmmword [eax + 0x20], xmm1
movups xmm0, xmmword [eax + 0x30]
movaps xmm1, xmm3
andps xmm1, xmm0
orps xmm1, xmm2
movups xmmword [eax + 0x30], xmm1
add eax, 0x40
sub ecx, 1
jne 0x5336b0
sub edx, 1
jns 0x5336a0
push 0x3fc
push ecx
lea eax, [esi + 0x24c4]
push eax
call sub.msvcrt.dll_memset
mov eax, dword [esp + 0x1c]
add esp, 0xc
movaps xmm3, xmmword [0x58d4d0]
mov dword [esi + 0x24d8], 0x20
mov dword [esi + 0x24d4], 0x40
mov dword [esi + 0x24d0], 0x60
mov dword [esi + 0x24cc], 0x80
mov dword [esi + 0x24c8], 0xa0
mov dword [esi + 0x24c4], 0xc0
mov dword [esi + 0x24c0], 0xe0
mov ebx, dword [eax]
movzx eax, bl
inc ebx
mov edx, dword [esi + eax*4 + 0x24c0]
lea ecx, [esi + eax*4]
lea eax, [edx + 1]
mov dword [ecx + 0x24c0], eax
test bl, bl
je 0x533690
mov ecx, dword [esp + 0x10]
mov eax, dword [esi + edx*4 + 0x8c0]
push 7
mov dword [ecx], eax
mov ecx, esi
mov dword [esi + edx*4 + 0x8c0], ebx
call fcn.00533940
mov edi, dword [esi + 0xa4]
mov edx, eax
shr ebx, 1
and ebx, 0x7f80
or edx, ebx
mov ebx, dword [esp + 0xc]
cmp ebx, 1
je 0x5337ee
cmp ebx, 4
je 0x5337ee
test ebx, ebx
jne 0x5337e1
cmp edx, dword [esi + 0xbc]
ja 0x5337e1
lea ecx, [edi + 1]
mov eax, ecx
shr eax, 8
sub ecx, eax
mov dword [esi + 0xa4], ecx
jmp 0x5337ee
test edi, edi
je 0x5337ee
lea eax, [edi - 1]
mov dword [esi + 0xa4], eax
add ebx, 3
cmp edx, dword [esi + 0xbc]
jb 0x533800
mov ebx, dword [esp + 0x14]
add ebx, 4
cmp edx, 0x100
lea ecx, [ebx + 8]
cmova ecx, ebx
pop ebx
cmp edi, 0xb0
ja 0x53382f
cmp dword [esi + 0x94], 0x2a00
jb 0x533828
cmp dword [esp + 0x14], 0x40
jb 0x53382f
mov edi, 0x2001
jmp 0x533834
mov edi, 0x7f00
mov dword [esi + 0xbc], edi
dec edx
mov eax, dword [esi + 0x78]
push ecx
push edx
mov dword [esi + eax*4 + 0x7c], edx
mov eax, dword [esi + 0x78]
inc eax
mov dword [esi + 0x74], ecx
and eax, 3
mov dword [esi + 0x70], edx
mov ecx, esi
mov dword [esi + 0x78], eax
call fcn.00532fc0
pop edi
pop esi
add esp, 0x10
ret