Function at 0x4fcde0
Capabilities:
Access peb ldr_data

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5a722d
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ebx
sub esp, 0x40
mov eax, dword [ebx + 0xc]
test eax, eax
push esi
mov esi, 0x5b57c4
mov byte [ecx + 0x30], 0
cmovne esi, eax
mov dword [ebp - 0x14], ecx
lea eax, [ecx + 0x28]
mov dword [ebp - 0x1c], esi
push edi
mov edi, dword [eax]
mov ecx, eax
push dword [edi + 4]
push eax
call fcn.004c3025
mov ecx, dword [ebp - 0x14]
xor edx, edx
mov dword [edi + 4], edi
mov dword [edi], edi
mov dword [edi + 8], edi
mov edi, esi
mov dword [ecx + 0x2c], 0
mov al, byte [edi]
test al, al
je 0x4fce7b
cmp al, 0x5c
je 0x4fce68
cmp al, 0x2f
je 0x4fce68
cmp al, 0x7c
je 0x4fce68
cmp al, 0x3a
je 0x4fce68
xor cl, cl
jmp 0x4fce6a
mov cl, 1
test cl, cl
lea eax, [edx + 1]
cmove eax, edx
inc edi
mov edx, eax
mov al, byte [edi]
test al, al
jne 0x4fce54
mov edi, dword [ebp - 0x14]
mov ecx, esi
mov dword [edi], edx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4fce85
sub ecx, edx
push ecx
push esi
lea ecx, [edi + 4]
call fcn.00449360
mov eax, dword [edi + 0x20]
lea ecx, [edi + 0x1c]
mov edi, dword [ecx]
cmp edi, eax
je 0x4fcebf
mov esi, eax
mov ecx, edi
call fcn.0040ea90
add edi, 0x18
cmp edi, esi
jne 0x4fcea6
mov ecx, dword [ebp - 0x14]
mov esi, dword [ebp - 0x1c]
add ecx, 0x1c
mov edi, dword [ecx]
mov dword [ecx + 4], edi
mov al, byte [esi]
test al, al
je 0x4fced4
cmp al, 0x25
je 0x4fcef8
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x4fcec8
mov ecx, dword [ebp - 0xc]
pop edi
mov dword fs:[0], ecx
pop esi
mov esp, ebp
pop ebp
mov esp, ebx
pop ebx
ret 8
cmp al, 0x25
jne 0x4fd177
mov al, byte [esi + 1]
inc esi
mov edi, esi
test al, al
je 0x4fced4
cmp al, 0x25
je 0x4fcf10
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x4fcf02
jmp 0x4fced4
mov al, byte [esi + 1]
mov ecx, esi
inc esi
test al, al
je 0x4fcf2c
nop word [eax + eax]
cmp al, 0x25
je 0x4fcf2c
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x4fcf20
cmp ecx, edi
jbe 0x4fd177
sub ecx, edi
mov dword [ebp - 0x4c], 0
push ecx
mov edx, 0xf
mov dword [ebp - 0x3c], 0
push edi
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x38], edx
mov byte [ebp - 0x4c], 0
call fcn.00449360
mov edx, dword [ebp - 0x38]
cmp edx, 0x10
mov dword [ebp - 4], 0
lea eax, [ebp - 0x4c]
cmovae eax, dword [ebp - 0x4c]
xor edi, edi
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx + 8]
cmp dword [eax + 4], edi
jbe 0x4fd113
xor ecx, ecx
mov dword [ebp - 0x18], ecx
mov eax, dword [eax]
mov edx, dword [ecx + eax + 0x1c]
mov ecx, dword [ebp - 0x1c]
call fcn.0058b9a0
test al, al
mov eax, dword [ebx + 8]
jne 0x4fcfad
mov ecx, dword [ebp - 0x18]
inc edi
add ecx, 0x30
mov dword [ebp - 0x18], ecx
cmp edi, dword [eax + 4]
jb 0x4fcf84
jmp 0x4fd113
mov eax, dword [eax]
lea ecx, [edi + edi*2]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x4fd113
cmp dword [ebp - 0x38], 0x10
lea eax, [ebp - 0x4c]
cmovae eax, dword [ebp - 0x4c]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x4fcff0
test dl, dl
je 0x4fcfec
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x4fcff0
add eax, 2
add ecx, 2
test dl, dl
jne 0x4fcfd0
xor eax, eax
jmp 0x4fcff5
sbb eax, eax
or eax, 1
test eax, eax
je 0x4fd113
mov ecx, dword [ebp - 0x14]
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x34]
push eax
lea ecx, [ecx + 0x28]
call fcn.004c2fb2
mov edi, dword [ebp - 0x2c]
cmp byte [edi + 0xd], 0
jne 0x4fd04a
cmp dword [edi + 0x24], 0x10
lea eax, [edi + 0x10]
mov edx, dword [eax + 0x10]
jb 0x4fd027
mov eax, dword [eax]
cmp dword [ebp - 0x38], 0x10
lea ecx, [ebp - 0x4c]
push edx
cmovae ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x3c]
push eax
call fcn.004589c0
shr eax, 0x1f
add esp, 8
test al, al
je 0x4fd0da
mov ecx, dword [ebp - 0x14]
add ecx, 0x28
cmp dword [ecx + 4], 0x3ffffff
je 0x4fd186
mov eax, dword [ecx]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x28], ecx
mov byte [ebp - 4], 1
push 0x40
mov dword [ebp - 0x24], 0
call fcn.00592716
add esp, 4
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], eax
lea edi, [eax + 0x10]
mov byte [ebp - 4], 2
lea eax, [ebp - 0x4c]
mov ecx, edi
push eax
call fcn.00448e30
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x18]
mov dword [edi + 0x18], 0
mov dword [edi + 0x28], 0
mov dword [edi + 0x2c], 0xf
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov ecx, dword [ebp - 0x14]
mov byte [ebp - 4], 0
push eax
push dword [ebp - 0x30]
lea ecx, [ecx + 0x28]
mov word [eax + 0xc], 0
push dword [ebp - 0x34]
mov dword [ebp - 0x24], 0
call fcn.004c2dd2
mov edi, eax
lea ecx, [edi + 0x28]
mov edi, dword [ebp - 0x20]
mov edx, edi
lea eax, [edx + 1]
mov dword [ebp - 0x20], eax
mov al, byte [edx]
inc edx
test al, al
jne 0x4fd0e8
sub edx, dword [ebp - 0x20]
push edx
push edi
call fcn.00449360
mov ecx, edi
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4fd100
sub ecx, edx
push ecx
push edi
lea ecx, [ebp - 0x4c]
call fcn.00449360
mov ecx, dword [ebp - 0x14]
mov eax, dword [ecx + 0x20]
cmp eax, dword [ecx + 0x24]
je 0x4fd15b
mov dword [eax], 0
mov dword [eax + 0x10], 0
mov dword [eax + 0x14], 0
movups xmm0, xmmword [ebp - 0x4c]
movups xmmword [eax], xmm0
movq xmm0, qword [ebp - 0x3c]
movq qword [eax + 0x10], xmm0
add dword [ecx + 0x20], 0x18
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0xf
mov byte [ebp - 0x4c], 0
jmp 0x4fd168
lea edx, [ebp - 0x4c]
push edx
push eax
lea ecx, [ecx + 0x1c]
call fcn.004fe4e0
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0xffffffff
call fcn.0040ea90
mov al, byte [esi]
test al, al
jne 0x4fcef0
jmp 0x4fced4
call fcn.00458cc0
int3