Function at 0x50ea00
Capabilities:
Access peb ldr_data

Disassembly:
lea r12, [rsp - 0x70]
cmp r12, qword [r14 + 0x10]
jbe 0x50eee6
sub rsp, 0xf0
mov qword [rsp + 0xe8], rbp
lea rbp, [rsp + 0xe8]
mov qword [rsp + 0xf8], rax
mov qword [rsp + 0x100], rbx
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], rdi
mov qword [rsp + 0x20], 0
movups xmmword [rsp + 0x60], xmm15
call fcn.004f7780
mov rax, qword [rsp + 0x108]
mov qword [rsp + 0x20], rax
mov rcx, qword [rsp + 0xf8]
test byte [rcx], al
mov rdx, qword [rsp + 0xf8]
test byte [rdx], al
mov rcx, qword [rcx + 0x68]
add rax, rcx
mov qword [rdx + 0x68], rax
mov rax, qword [rsp + 0xf8]
test byte [rax], al
cmp qword [rax + 0x60], 0
jg 0x50ea9c
jmp 0x50eca6
mov rsi, qword [rsp + 0xf8]
test byte [rsi], al
mov rax, qword [rsi + 0x60]
mov qword [rsp + 0x38], rax
mov rsi, qword [rsp + 0xf8]
test byte [rsi], al
lea rdi, [rsi + 0x20]
test byte [rdi], al
nop
cmp rax, 0x40
jbe 0x50eacb
jmp 0x50eed9
lea rdi, [rax - 0x40]
mov r8, rdi
sar rdi, 0x3f
and rax, rdi
lea rdi, [rax + 0x20]
add rsi, rdi
mov qword [rsp + 0xa0], rsi
neg r8
mov qword [rsp + 0xa8], r8
mov qword [rsp + 0xb0], r8
mov qword [rsp + 0x88], rsi
mov qword [rsp + 0x90], r8
mov qword [rsp + 0x98], r8
mov rsi, qword [rsp + 0x108]
mov rdi, qword [rsp + 0x100]
mov r8, qword [rsp + 0x110]
mov qword [rsp + 0x70], rdi
mov qword [rsp + 0x78], rsi
mov qword [rsp + 0x80], r8
mov rdi, qword [rsp + 0x90]
mov qword [rsp + 0x58], rdi
cmp rsi, rdi
jl 0x50eb51
jmp 0x50eb58
mov qword [rsp + 0x58], rsi
jmp 0x50eb5a
jmp 0x50eb5a
mov rsi, qword [rsp + 0x88]
cmp qword [rsp + 0x70], rsi
jne 0x50eb6b
jmp 0x50eb89
mov rcx, qword [rsp + 0x58]
mov qword [rsp + 0x50], rcx
mov rbx, qword [rsp + 0x70]
mov rax, qword [rsp + 0x88]
call fcn.0046a0e0
jmp 0x50eb8b
jmp 0x50eb8b
mov rsi, qword [rsp + 0x58]
mov qword [rsp + 0x30], rsi
mov rdi, qword [rsp + 0xf8]
test byte [rdi], al
mov r8, qword [rsp + 0xf8]
test byte [r8], al
mov rdi, qword [rdi + 0x60]
add rsi, rdi
mov qword [r8 + 0x60], rsi
mov rsi, qword [rsp + 0xf8]
test byte [rsi], al
cmp qword [rsi + 0x60], 0x40
je 0x50ebcb
jmp 0x50ec4b
mov rax, qword [rsp + 0xf8]
test byte [rax], al
add rax, 0x20
test byte [rax], al
jmp 0x50ebdd
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], 0x40
mov qword [rsp + 0xb0], 0x40
mov rcx, qword [rsp + 0xf8]
mov qword [rsp], rcx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], 0x40
mov qword [rsp + 0x18], 0x40
call fcn.0050f940
xorps xmm15, xmm15
mov r14, qword [0x007aa458]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0xf8]
test byte [rax], al
mov qword [rax + 0x60], 0
jmp 0x50ec4d
jmp 0x50ec4d
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x108]
mov rsi, qword [rsp + 0x100]
mov rdi, qword [rsp + 0x110]
jmp 0x50ec6c
cmp rax, rcx
jbe 0x50ec76
jmp 0x50eed4
sub rdi, rax
mov r8, rdi
neg rdi
sar rdi, 0x3f
and rdi, rax
add rsi, rdi
mov qword [rsp + 0x100], rsi
sub rcx, rax
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], r8
jmp 0x50eca8
jmp 0x50eca8
mov rsi, qword [rsp + 0x108]
mov qword [rsp + 0x38], rsi
cmp rsi, 0x40
jge 0x50ecc5
nop dword [rax + rax]
jmp 0x50ed9c
mov rcx, qword [rsp + 0x108]
mov qword [rsp + 0x38], rcx
and rcx, 0xffffffffffffffc0
mov qword [rsp + 0x28], rcx
mov rdx, qword [rsp + 0x110]
mov rax, qword [rsp + 0x100]
cmp rdx, rcx
jae 0x50ecf5
jmp 0x50eecf
jmp 0x50ecf7
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xb0], rdx
mov rbx, qword [rsp + 0xf8]
mov qword [rsp], rbx
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rcx
mov qword [rsp + 0x18], rdx
call fcn.0050f940
xorps xmm15, xmm15
mov r14, qword [0x007aa458]
mov r14, qword gs:[r14]
mov r14, qword [r14]
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x108]
mov rdx, qword [rsp + 0x100]
mov rbx, qword [rsp + 0x110]
nop
jmp 0x50ed62
cmp rcx, rax
jae 0x50ed6c
jmp 0x50eeca
sub rbx, rax
mov rsi, rbx
neg rbx
sar rbx, 0x3f
and rbx, rax
add rdx, rbx
mov qword [rsp + 0x100], rdx
sub rcx, rax
mov qword [rsp + 0x108], rcx
mov qword [rsp + 0x110], rsi
jmp 0x50ed9e
jmp 0x50ed9e
mov rdx, qword [rsp + 0x108]
mov qword [rsp + 0x38], rdx
test rdx, rdx
jne 0x50edb5
jmp 0x50eea9
mov rdx, qword [rsp + 0xf8]
test byte [rdx], al
add rdx, 0x20
test byte [rdx], al
jmp 0x50edc7
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0xa8], 0x40
mov qword [rsp + 0xb0], 0x40
mov qword [rsp + 0xd0], rdx
mov qword [rsp + 0xd8], 0x40
mov qword [rsp + 0xe0], 0x40
mov rdx, qword [rsp + 0x108]
mov rsi, qword [rsp + 0x100]
mov rdi, qword [rsp + 0x110]
mov qword [rsp + 0xb8], rsi
mov qword [rsp + 0xc0], rdx
mov qword [rsp + 0xc8], rdi
mov rsi, qword [rsp + 0xd8]
mov qword [rsp + 0x48], rsi
cmp rsi, rdx
jg 0x50ee4b
jmp 0x50ee52
mov qword [rsp + 0x48], rdx
jmp 0x50ee54
jmp 0x50ee54
mov rdx, qword [rsp + 0xd0]
nop dword [rax]
cmp qword [rsp + 0xb8], rdx
jne 0x50ee6c
jmp 0x50ee8d
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x40], rcx
mov rax, qword [rsp + 0xd0]
mov rbx, qword [rsp + 0xb8]
call fcn.0046a0e0
jmp 0x50ee8f
jmp 0x50ee8f
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0x38], rdx
mov rsi, qword [rsp + 0xf8]
test byte [rsi], al
mov qword [rsi + 0x60], rdx
jmp 0x50eeab
jmp 0x50eeab
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0xe8]
add rsp, 0xf0
ret
call fcn.004697e0
call fcn.004697a0
call fcn.004697e0
mov ecx, 0x40
nop
call fcn.004697e0
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.004670c0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.0050ea00