Function at 0x50bd60
Capabilities:
Access peb ldr_data

Disassembly:
lea r12, [rsp - 0x38]
cmp r12, qword [r14 + 0x10]
jbe 0x50c2a5
push rbp
mov rbp, rsp
sub rsp, 0xb0
lea rax, [0x0058a903]
mov ebx, 7
call fcn.004a3540
jmp 0x50bd93
mov rbx, rdx
mov rax, rsi
test rbx, rbx
je 0x50c005
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x28], rbx
nop
mov qword [rsp], rax
mov qword [rsp + 8], rbx
mov byte [rsp + 0x10], 0x2c
call fcn.004037a0
xorps xmm15, xmm15
mov r14, qword [0x0074e078]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x18]
test rax, rax
jge 0x50bde6
mov rcx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x28]
xor edx, edx
xor esi, esi
jmp 0x50be0a
mov rcx, qword [rsp + 0x28]
sub rcx, rax
dec rcx
mov rdx, rcx
neg rcx
sar rcx, 0x3f
lea rsi, [rax + 1]
and rsi, rcx
mov rcx, qword [rsp + 0x68]
add rsi, rcx
cmp rax, 4
jl 0x50bd8d
cmp dword [rcx], 0x2e757063
nop word [rax + rax]
jne 0x50bd8d
mov qword [rsp + 0x20], rax
mov qword [rsp + 0xa8], rsi
mov qword [rsp + 0x60], rdx
nop
mov qword [rsp], rcx
mov qword [rsp + 8], rax
mov byte [rsp + 0x10], 0x3d
call fcn.004037a0
xorps xmm15, xmm15
mov r14, qword [0x0074e078]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x18]
test rax, rax
jl 0x50bfb7
lea rdx, [rax - 4]
mov qword [rsp + 0x30], rdx
mov rsi, rdx
neg rdx
sar rdx, 0x3f
and edx, 4
mov rdi, qword [rsp + 0x20]
sub rdi, rax
lea r8, [rdi - 1]
mov qword [rsp + 0x38], r8
mov r9, r8
neg r8
sar r8, 0x3f
lea r10, [rax + 1]
and r10, r8
mov r8, qword [rsp + 0x68]
lea rbx, [r8 + rdx]
mov qword [rsp + 0x90], rbx
lea r11, [r8 + r10]
mov qword [rsp + 0x98], r11
cmp rdi, 3
jne 0x50bed6
movzx r10d, word [r8 + r10]
cmp r10w, 0x6e6f
je 0x50bef5
jmp 0x50bf3d
cmp rdi, 4
jne 0x50bf3d
movzx r12d, word [r8 + r10]
cmp r12w, 0x666f
jne 0x50bf3d
movzx r10d, byte [r8 + r10 + 2]
cmp r10b, 0x66
jne 0x50bf3d
cmp rax, 7
jne 0x50bf25
movzx r9d, word [r8 + rdx]
cmp r9w, 0x6c61
jne 0x50bf25
movzx edx, byte [r8 + rdx + 2]
cmp dl, 0x6c
jne 0x50bf25
mov rax, qword [0x006c8528]
xor ecx, ecx
nop dword [rax]
jmp 0x50c260
mov qword [rsp + 0x58], rdi
mov rdx, qword [0x006c8528]
mov qword [rsp + 0x50], rdx
xor eax, eax
jmp 0x50c16c
nop dword [rax]
call fcn.00432860
lea rax, [0x0058f376]
mov ebx, 0x18
call fcn.00432c20
mov rax, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x38]
call fcn.00432c20
lea rax, [0x0059168f]
mov ebx, 0x20
call fcn.00432c20
mov rax, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x30]
call fcn.00432c20
lea rax, [0x0058a27e]
mov ebx, 2
call fcn.00432c20
nop dword [rax]
call fcn.004328c0
mov rdx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0xa8]
jmp 0x50bd8d
call fcn.00432860
lea rax, [0x005936e4]
mov ebx, 0x29
call fcn.00432c20
mov rax, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x20]
call fcn.00432c20
lea rax, [0x0058a27e]
mov ebx, 2
call fcn.00432c20
call fcn.004328c0
mov rdx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0xa8]
nop
jmp 0x50bd8d
mov rax, qword [0x006c8520]
mov rcx, qword [0x006c8528]
jmp 0x50c020
add rax, 0x20
dec rcx
nop dword [rax]
test rcx, rcx
jle 0x50c15f
movups xmm0, xmmword [rax]
movups xmmword [rsp + 0x70], xmm0
movups xmm0, xmmword [rax + 0x10]
movups xmmword [rsp + 0x80], xmm0
cmp byte [rsp + 0x88], 0
je 0x50c015
mov qword [rsp + 0x60], rcx
mov qword [rsp + 0xa0], rax
movzx edx, byte [rsp + 0x89]
nop dword [rax]
test dl, dl
je 0x50c0df
mov rbx, qword [rsp + 0x80]
cmp byte [rbx], 0
je 0x50c077
test dl, dl
jne 0x50c0e9
jmp 0x50c0df
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0xa8], rax
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x58], rcx
call fcn.00432860
lea rax, [0x00591d38]
mov ebx, 0x21
nop
call fcn.00432c20
mov rax, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x58]
call fcn.00432c20
lea rax, [0x0058ed5c]
mov ebx, 0x17
call fcn.00432c20
call fcn.004328c0
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x60]
jmp 0x50c015
cmp byte [rsp + 0x8a], 0
jne 0x50c0f8
mov rbx, qword [rsp + 0x80]
mov byte [rbx], dl
jmp 0x50c015
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0xa8], rax
mov rcx, qword [rsp + 0x78]
mov qword [rsp + 0x58], rcx
call fcn.00432860
lea rax, [0x00592000]
mov ebx, 0x22
call fcn.00432c20
mov rax, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x58]
call fcn.00432c20
lea rax, [0x0058f38e]
mov ebx, 0x18
call fcn.00432c20
call fcn.004328c0
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x60]
jmp 0x50c015
add rsp, 0xb0
pop rbp
ret
lea rax, [r8 + 1]
cmp rax, rdx
jge 0x50c200
mov r8, rax
shl rax, 5
mov r9, qword [0x006c8520]
mov rcx, qword [r9 + rax + 8]
mov r9, qword [r9 + rax]
cmp rcx, rsi
jne 0x50c168
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], r8
mov rax, r9
nop
call fcn.00403260
test al, al
jne 0x50c1c7
mov rdx, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x58]
mov r8, qword [rsp + 0x40]
jmp 0x50c168
mov rax, qword [0x006c8520]
mov rcx, qword [rsp + 0x48]
mov byte [rax + rcx + 0x18], 1
mov rax, qword [0x006c8520]
mov rbx, qword [rsp + 0x58]
cmp rbx, 3
sete byte [rax + rcx + 0x19]
mov rdx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0xa8]
jmp 0x50bd8d
call fcn.00432860
lea rax, [0x00592d5d]
mov ebx, 0x26
call fcn.00432c20
mov rax, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x30]
call fcn.00432c20
lea rax, [0x0058a27e]
mov ebx, 2
call fcn.00432c20
call fcn.004328c0
mov rdx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0xa8]
jmp 0x50bd8d
mov rsi, qword [0x006c8520]
mov byte [rsi + rcx + 0x19], bl
lea rcx, [rdx + 1]
nop
cmp rcx, rax
jge 0x50c293
mov rdx, rcx
shl rcx, 5
mov rbx, qword [0x006c8520]
mov byte [rbx + rcx + 0x18], 1
cmp rdi, 3
jne 0x50c285
mov ebx, 1
jmp 0x50c250
mov rbx, qword [0x006c8520]
movzx ebx, byte [rbx + rcx + 0x1a]
jmp 0x50c250
mov rdx, qword [rsp + 0x60]
mov rsi, qword [rsp + 0xa8]
jmp 0x50bd8d
call fcn.00458b40
jmp fcn.0050bd60