Function at 0x532ec0
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 0x532ef7
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 0x532f2a
cmp ecx, 0x7a
mov edx, 0x58c3b0
mov eax, 0x58c3a0
mov ecx, esi
cmovae eax, edx
push eax
call fcn.00532b70
mov ebx, eax
mov dword [esp + 0xc], ebx
jmp 0x532ff3
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 0x532f94
lea eax, [edi + 0x10]
mov ebx, edx
mov dword [esp + 0xc], ebx
mov dword [esi + 0x38], eax
cmp eax, 8
jb 0x532ff3
nop dword [eax]
mov eax, dword [esi + 0x40]
cmp eax, dword [esi + 0x44]
jb 0x532f74
lea ecx, [esi + 0x40]
call fcn.00410050
mov dl, al
jmp 0x532f7a
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 0x532f60
jmp 0x532ff3
xor ebx, ebx
mov dword [esp + 0xc], ebx
test edx, 0x8000
jne 0x532fb4
inc ebx
mov eax, edx
mov ecx, ebx
shl eax, cl
test eax, 0x8000
je 0x532fa2
mov dword [esp + 0xc], ebx
lea eax, [edi + 1]
add eax, ebx
mov dword [esi + 0x38], eax
cmp eax, 8
jb 0x532ff3
mov eax, dword [esi + 0x40]
cmp eax, dword [esi + 0x44]
jb 0x532fd5
lea ecx, [esi + 0x40]
call fcn.00410050
mov dl, al
jmp 0x532fdb
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 0x532fc1
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 0x533021
mov eax, 0x58c3e0
jmp 0x533034
cmp ecx, 0x700
mov eax, 0x58c3d0
mov edx, 0x58c3c0
cmovb eax, edx
push eax
mov ecx, esi
call fcn.00532b70
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 0x533186
movaps xmm3, xmmword [0x58c430]
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 0x5330b0
sub edx, 1
jns 0x5330a0
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 [0x58c430]
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 0x533090
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.00533340
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 0x5331ee
cmp ebx, 4
je 0x5331ee
test ebx, ebx
jne 0x5331e1
cmp edx, dword [esi + 0xbc]
ja 0x5331e1
lea ecx, [edi + 1]
mov eax, ecx
shr eax, 8
sub ecx, eax
mov dword [esi + 0xa4], ecx
jmp 0x5331ee
test edi, edi
je 0x5331ee
lea eax, [edi - 1]
mov dword [esi + 0xa4], eax
add ebx, 3
cmp edx, dword [esi + 0xbc]
jb 0x533200
mov ebx, dword [esp + 0x14]
add ebx, 4
cmp edx, 0x100
lea ecx, [ebx + 8]
cmova ecx, ebx
pop ebx
cmp edi, 0xb0
ja 0x53322f
cmp dword [esi + 0x94], 0x2a00
jb 0x533228
cmp dword [esp + 0x14], 0x40
jb 0x53322f
mov edi, 0x2001
jmp 0x533234
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.005329c0
pop edi
pop esi
add esp, 0x10
ret