Function at 0x180050650
Capabilities:
Access peb ldr_data

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x5a0]
sub rsp, 0x6a0
lea rcx, [rsp + 0x40]
mov r14, rdx
call fcn.18004f870
lea rcx, [rsp + 0x30]
mov edx, 0x200
call fcn.180041a90
mov r11, qword [0x180096dc0]
xor esi, esi
movabs rax, 0xdbf06daf303fac65
movabs rbx, 0xd79a16697bb981ec
lea r15d, [rsi + 0xf]
cmp r11, rax
cmove r11, rsi
mov qword [0x180096dc0], r11
test r11, r11
je 0x18005071a
nop dword [rax]
mov edx, esi
mov rcx, rsi
lea rax, [r11 + 0x10]
nop dword [rax]
cmp dword [rax], 0x181feab8
je 0x180050705
inc rcx
inc edx
add rax, 0x28
cmp rcx, 0x10
jl 0x1800506e0
mov r11, qword [r11 + 0x280]
test r11, r11
jne 0x1800506d0
jmp 0x18005071a
movsxd rax, edx
lea rcx, [rax + rax*4]
mov rdi, qword [r11 + rcx*8 + 0x20]
test rdi, rdi
jne 0x180050cd4
mov r8, qword [0x180096db8]
cmp r8, rbx
cmove r8, rsi
mov qword [0x180096db8], r8
test r8, r8
je 0x180050777
nop word [rax + rax]
mov edx, esi
mov rcx, rsi
lea rax, [r8 + 0x10]
nop dword [rax]
cmp dword [rax], 0x97c92fff
je 0x180050847
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180050750
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x180050740
mov rax, qword gs:[0x30]
mov r13, rsi
mov rcx, qword [rax + 0x60]
mov rax, qword [rcx + 0x18]
mov rbx, qword [rax + 0x10]
mov rdi, qword [rax + 0x18]
nop word [rax + rax]
mov r10, qword [rbx + 0x60]
mov r11d, esi
mov edx, esi
cmp si, word [rbx + 0x58]
ja 0x1800507db
lea rax, [rbp + 0x20]
mov r8, r10
lea rcx, [rbp + 0x20]
sub r8, rax
nop dword [rax]
movzx eax, word [r8 + rcx]
mov word [rcx], ax
cmp si, ax
je 0x1800507db
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x1800507c0
mov r9d, esi
cmp si, word [rbx + 0x58]
jae 0x18005081b
lea r8, [rbp + 0x120]
nop dword [rax + rax]
movzx ecx, byte [r10]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x1800507fe
add cl, 0xe0
mov byte [r8], cl
test cl, cl
je 0x18005081b
movzx eax, word [rbx + 0x58]
inc r9d
inc r11d
add r10, 2
inc r8
cmp r9d, eax
jl 0x1800507f0
lea rcx, [rbp + 0x120]
mov edx, r11d
call fcn.180065760
xor eax, 0xe427ce1
cmp eax, 0x97c92fff
je 0x180050858
cmp rbx, rdi
je 0x1800509d4
mov rbx, qword [rbx]
jmp 0x1800507a0
movsxd rax, edx
shl rax, 5
mov r13, qword [rax + r8 + 0x18]
jmp 0x1800509de
mov r13, qword [rbx + 0x30]
test r13, r13
je 0x1800509d4
cmp byte [0x1800970f1], sil
jne 0x1800509d4
mov rdi, qword [0x180096db8]
test rdi, rdi
jne 0x1800508fd
mov ecx, 0x208
mov byte [0x1800970f1], 1
call fcn.1800472c0
mov rdi, rax
test rax, rax
je 0x1800508d4
mov esi, r15d
lea rbx, [rax + 0x18]
xor r14d, r14d
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], r14d
mov qword [rbx], r14
add rbx, 0x20
dec esi
jns 0x1800508a1
mov r14, qword [rbp + 0x5e8]
xor esi, esi
mov qword [rdi + 0x200], rsi
mov qword [0x180096db8], rdi
jmp 0x1800508de
mov rdi, rsi
mov qword [0x180096db8], rsi
mov edx, 0xc489c0d7
mov ecx, 0x6e729370
call fcn.180049ad0
mov byte [0x1800970f1], 0
mov qword [0x180096db0], rax
jmp 0x18005091f
mov rax, qword [rdi + 0x200]
test rax, rax
je 0x18005091f
nop dword [rax]
mov rdi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x180050910
mov edx, esi
mov rcx, rsi
lea rax, [rdi + 0x10]
nop dword [rax + rax]
cmp dword [rax], 0
je 0x1800509b3
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180050930
mov ecx, 0x208
call fcn.1800472c0
mov rsi, rax
test rax, rax
je 0x18005098f
mov r12d, r15d
lea rbx, [rax + 0x18]
xor r14d, r14d
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], r14d
mov qword [rbx], r14
add rbx, 0x20
dec r12d
jns 0x180050964
mov qword [rsi + 0x200], r14
mov r14, qword [rbp + 0x5e8]
jmp 0x180050991
xor esi, esi
lea rdx, [rbp + 0x20]
mov rcx, rsi
mov qword [rsi + 0x18], r13
call fcn.180042fa0
mov dword [rsi + 0x10], 0x97c92fff
mov qword [rdi + 0x200], rsi
xor esi, esi
jmp 0x1800509d4
movsxd rbx, edx
lea rdx, [rbp + 0x20]
shl rbx, 5
add rbx, rdi
mov rcx, rbx
mov qword [rbx + 0x18], r13
call fcn.180042fa0
mov dword [rbx + 0x10], 0x97c92fff
movabs rbx, 0xd79a16697bb981ec
test r13, r13
jne 0x180050cbf
mov ecx, 0x97c92fff
call fcn.1800497d0
test al, al
je 0x180050d09
mov r8, qword [0x180096db8]
cmp r8, rbx
cmove r8, rsi
mov qword [0x180096db8], r8
test r8, r8
je 0x180050a57
nop word [rax + rax]
mov edx, esi
mov rcx, rsi
lea rax, [r8 + 0x10]
nop dword [rax]
cmp dword [rax], 0x97c92fff
je 0x180050b24
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180050a30
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x180050a20
mov rax, qword gs:[0x30]
mov r13, rsi
mov rcx, qword [rax + 0x60]
mov rax, qword [rcx + 0x18]
mov rbx, qword [rax + 0x10]
mov rdi, qword [rax + 0x18]
nop word [rax + rax]
mov r10, qword [rbx + 0x60]
mov r11d, esi
mov edx, esi
cmp si, word [rbx + 0x58]
ja 0x180050abe
lea rax, [rbp + 0x1a0]
mov r8, r10
lea rcx, [rbp + 0x1a0]
sub r8, rax
movzx eax, word [r8 + rcx]
mov word [rcx], ax
cmp si, ax
je 0x180050abe
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x180050aa3
mov r9d, esi
cmp si, word [rbx + 0x58]
jae 0x180050afb
lea r8, [rbp - 0x60]
nop dword [rax + rax]
movzx ecx, byte [r10]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x180050ade
add cl, 0xe0
mov byte [r8], cl
test cl, cl
je 0x180050afb
movzx eax, word [rbx + 0x58]
inc r9d
inc r11d
add r10, 2
inc r8
cmp r9d, eax
jl 0x180050ad0
lea rcx, [rbp - 0x60]
mov edx, r11d
call fcn.180065760
xor eax, 0xe427ce1
cmp eax, 0x97c92fff
je 0x180050b35
cmp rbx, rdi
je 0x180050cba
mov rbx, qword [rbx]
jmp 0x180050a80
movsxd rax, edx
shl rax, 5
mov r13, qword [rax + r8 + 0x18]
jmp 0x180050cba
mov r13, qword [rbx + 0x30]
test r13, r13
je 0x180050d09
cmp byte [0x1800970f1], 0
jne 0x180050cba
mov rdi, qword [0x180096db8]
test rdi, rdi
jne 0x180050bde
mov ecx, 0x208
mov byte [0x1800970f1], 1
call fcn.1800472c0
mov rdi, rax
test rax, rax
je 0x180050bb5
mov esi, r15d
lea rbx, [rax + 0x18]
xor r14d, r14d
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], r14d
mov qword [rbx], r14
add rbx, 0x20
dec esi
jns 0x180050b82
mov r14, qword [rbp + 0x5e8]
xor esi, esi
mov qword [rdi + 0x200], rsi
mov qword [0x180096db8], rdi
jmp 0x180050bbf
mov rdi, rsi
mov qword [0x180096db8], rsi
mov edx, 0xc489c0d7
mov ecx, 0x6e729370
call fcn.180049ad0
mov byte [0x1800970f1], 0
mov qword [0x180096db0], rax
jmp 0x180050bff
mov rax, qword [rdi + 0x200]
test rax, rax
je 0x180050bff
nop word [rax + rax]
mov rdi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x180050bf0
mov edx, esi
mov rcx, rsi
lea rax, [rdi + 0x10]
nop dword [rax + rax]
cmp dword [rax], 0
je 0x180050c96
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180050c10
mov ecx, 0x208
call fcn.1800472c0
mov rsi, rax
test rax, rax
je 0x180050c6f
mov r12d, r15d
lea rbx, [rax + 0x18]
xor r14d, r14d
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], r14d
mov qword [rbx], r14
add rbx, 0x20
dec r12d
jns 0x180050c44
mov qword [rsi + 0x200], r14
mov r14, qword [rbp + 0x5e8]
jmp 0x180050c71
xor esi, esi
lea rdx, [rbp + 0x1a0]
mov rcx, rsi
mov qword [rsi + 0x18], r13
call fcn.180042fa0
mov dword [rsi + 0x10], 0x97c92fff
mov qword [rdi + 0x200], rsi
xor esi, esi
jmp 0x180050cba
movsxd rbx, edx
lea rdx, [rbp + 0x1a0]
shl rbx, 5
add rbx, rdi
mov rcx, rbx
mov qword [rbx + 0x18], r13
call fcn.180042fa0
mov dword [rbx + 0x10], 0x97c92fff
test r13, r13
je 0x180050d09
mov edx, 0x181feab8
mov rcx, r13
call fcn.180048a60
mov rdi, rax
test rax, rax
je 0x180050d09
mov rbx, qword [rsp + 0x30]
mov r9d, 4
lea rcx, [rsp + 0x50]
lea r8d, [r9 - 3]
mov dl, 7
call fcn.180043df0
mov rcx, qword [rsp + 0x40]
mov r9, rbx
mov rdx, qword [rax]
xor r8d, r8d
call rdi
lea rcx, [rsp + 0x50]
call fcn.180040e20
test r14, r14
je 0x180050d9c
lea rcx, [rsp + 0x30]
call fcn.18005efa0
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x30]
mov r8d, 0x2e
call fcn.1800436c0
lea rcx, [rsp + 0x30]
mov rdx, qword [rax]
call fcn.180042fa0
lea rcx, [rsp + 0x60]
call fcn.180040e20
lea rcx, [rsp + 0x30]
mov edx, 0x2e
call fcn.180041b60
xor r8d, r8d
mov rdx, r14
mov rcx, rax
call fcn.180041ab0
mov rdx, qword [rsp + 0x30]
xor r9d, r9d
lea rcx, [rsp + 0x70]
lea r8d, [r9 + 4]
mov dword [rsp + 0x20], 0x80
call fcn.18005f9a0
cmp byte [rbp - 0x70], 0
je 0x180050d92
lea rcx, [rbp - 0x78]
call fcn.180047770
lea rcx, [rsp + 0x70]
call fcn.180040e20
mov r12, qword [rbp + 0x5e0]
mov edx, 0x200
mov rcx, r12
call fcn.180041a90
mov r11, qword [0x180096dc0]
movabs rax, 0xdbf06daf303fac65
cmp r11, rax
cmove r11, rsi
mov qword [0x180096dc0], r11
test r11, r11
je 0x180050e2a
nop word [rax + rax]
mov edx, esi
mov rcx, rsi
lea rax, [r11 + 0x10]
nop dword [rax]
cmp dword [rax], 0x22b14cb5
je 0x180050e15
inc rcx
inc edx
add rax, 0x28
cmp rcx, 0x10
jl 0x180050df0
mov r11, qword [r11 + 0x280]
test r11, r11
jne 0x180050de0
jmp 0x180050e2a
movsxd rax, edx
lea rcx, [rax + rax*4]
mov rax, qword [r11 + rcx*8 + 0x20]
test rax, rax
jne 0x1800513db
mov r8, qword [0x180096db8]
movabs r14, 0xd79a16697bb981ec
cmp r8, r14
cmove r8, rsi
mov qword [0x180096db8], r8
test r8, r8
je 0x180050e87
nop
mov edx, esi
mov rcx, rsi
lea rax, [r8 + 0x10]
nop dword [rax]
cmp dword [rax], 0x97c92fff
je 0x180050f57
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180050e60
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x180050e50
mov rax, qword gs:[0x30]
mov r13, rsi
mov rcx, qword [rax + 0x60]
mov rax, qword [rcx + 0x18]
mov rbx, qword [rax + 0x10]
mov rdi, qword [rax + 0x18]
nop word [rax + rax]
mov r10, qword [rbx + 0x60]
mov r11d, esi
mov edx, esi
cmp si, word [rbx + 0x58]
ja 0x180050eee
lea rax, [rbp + 0x320]
mov r8, r10
lea rcx, [rbp + 0x320]
sub r8, rax
movzx eax, word [r8 + rcx]
mov word [rcx], ax
cmp si, ax
je 0x180050eee
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x180050ed3
mov r9d, esi
cmp si, word [rbx + 0x58]
jae 0x180050f2b
lea r8, [rbp + 0x420]
nop
movzx ecx, byte [r10]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x180050f0e
add cl, 0xe0
mov byte [r8], cl
test cl, cl
je 0x180050f2b
movzx eax, word [rbx + 0x58]
inc r9d
inc r11d
add r10, 2
inc r8
cmp r9d, eax
jl 0x180050f00
lea rcx, [rbp + 0x420]
mov edx, r11d
call fcn.180065760
xor eax, 0xe427ce1
cmp eax, 0x97c92fff
je 0x180050f68
cmp rbx, rdi
je 0x1800510f0
mov rbx, qword [rbx]
jmp 0x180050eb0
movsxd rax, edx
shl rax, 5
mov r13, qword [rax + r8 + 0x18]
jmp 0x1800510f0
mov r13, qword [rbx + 0x30]
test r13, r13
je 0x1800510f9
cmp byte [0x1800970f1], 0
jne 0x1800510f0
mov rdi, qword [0x180096db8]
test rdi, rdi
jne 0x18005100d
mov ecx, 0x208
mov byte [0x1800970f1], 1
call fcn.1800472c0
mov rdi, rax
test rax, rax
je 0x180050fe4
mov esi, r15d
lea rbx, [rax + 0x18]
xor r12d, r12d
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], r12d
mov qword [rbx], r12
add rbx, 0x20
dec esi
jns 0x180050fb1
mov r12, qword [rbp + 0x5e0]
xor esi, esi
mov qword [rdi + 0x200], rsi
mov qword [0x180096db8], rdi
jmp 0x180050fee
mov rdi, rsi
mov qword [0x180096db8], rsi
mov edx, 0xc489c0d7
mov ecx, 0x6e729370
call fcn.180049ad0
mov byte [0x1800970f1], 0
mov qword [0x180096db0], rax
jmp 0x18005102f
mov rax, qword [rdi + 0x200]
test rax, rax
je 0x18005102f
nop dword [rax]
mov rdi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x180051020
mov edx, esi
mov rcx, rsi
lea rax, [rdi + 0x10]
nop dword [rax + rax]
cmp dword [rax], 0
je 0x1800510cc
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180051040
mov ecx, 0x208
call fcn.1800472c0
mov rsi, rax
test rax, rax
je 0x1800510a5
mov r12d, r15d
lea rbx, [rax + 0x18]
xor r15d, r15d
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], r15d
mov qword [rbx], r15
add rbx, 0x20
dec r12d
jns 0x180051074
mov r12, qword [rbp + 0x5e0]
mov qword [rsi + 0x200], r15
mov r15d, 0xf
jmp 0x1800510a7
xor esi, esi
lea rdx, [rbp + 0x320]
mov rcx, rsi
mov qword [rsi + 0x18], r13
call fcn.180042fa0
mov dword [rsi + 0x10], 0x97c92fff
mov qword [rdi + 0x200], rsi
xor esi, esi
jmp 0x1800510f0
movsxd rbx, edx
lea rdx, [rbp + 0x320]
shl rbx, 5
add rbx, rdi
mov rcx, rbx
mov qword [rbx + 0x18], r13
call fcn.180042fa0
mov dword [rbx + 0x10], 0x97c92fff
test r13, r13
jne 0x1800513c9
mov ecx, 0x97c92fff
call fcn.1800497d0
test al, al
je 0x1800513ee
mov r8, qword [0x180096db8]
cmp r8, r14
cmove r8, rsi
mov qword [0x180096db8], r8
test r8, r8
je 0x180051167
nop word [rax + rax]
mov edx, esi
mov rcx, rsi
lea rax, [r8 + 0x10]
nop dword [rax]
cmp dword [rax], 0x97c92fff
je 0x180051237
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180051140
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x180051130
mov rax, qword gs:[0x30]
mov r13, rsi
mov rcx, qword [rax + 0x60]
mov rax, qword [rcx + 0x18]
mov rbx, qword [rax + 0x10]
mov rdi, qword [rax + 0x18]
nop word [rax + rax]
mov r10, qword [rbx + 0x60]
mov r11d, esi
mov edx, esi
cmp si, word [rbx + 0x58]
ja 0x1800511ce
lea rax, [rbp + 0x4a0]
mov r8, r10
lea rcx, [rbp + 0x4a0]
sub r8, rax
movzx eax, word [r8 + rcx]
mov word [rcx], ax
cmp si, ax
je 0x1800511ce
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x1800511b3
mov r9d, esi
cmp si, word [rbx + 0x58]
jae 0x18005120b
lea r8, [rbp + 0x2a0]
nop
movzx ecx, byte [r10]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x1800511ee
add cl, 0xe0
mov byte [r8], cl
test cl, cl
je 0x18005120b
movzx eax, word [rbx + 0x58]
inc r9d
inc r11d
add r10, 2
inc r8
cmp r9d, eax
jl 0x1800511e0
lea rcx, [rbp + 0x2a0]
mov edx, r11d
call fcn.180065760
xor eax, 0xe427ce1
cmp eax, 0x97c92fff
je 0x180051248
cmp rbx, rdi
je 0x1800513c4
mov rbx, qword [rbx]
jmp 0x180051190
movsxd rax, edx
shl rax, 5
mov r13, qword [rax + r8 + 0x18]
jmp 0x1800513c4
mov r13, qword [rbx + 0x30]
test r13, r13
je 0x1800513ee
cmp byte [0x1800970f1], 0
jne 0x1800513c4
mov rdi, qword [0x180096db8]
test rdi, rdi
jne 0x1800512ed
mov ecx, 0x208
mov byte [0x1800970f1], 1
call fcn.1800472c0
mov rdi, rax
test rax, rax
je 0x1800512c4
mov esi, r15d
lea rbx, [rax + 0x18]
xor r12d, r12d
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], r12d
mov qword [rbx], r12
add rbx, 0x20
dec esi
jns 0x180051291
mov r12, qword [rbp + 0x5e0]
xor esi, esi
mov qword [rdi + 0x200], rsi
mov qword [0x180096db8], rdi
jmp 0x1800512ce
mov rdi, rsi
mov qword [0x180096db8], rsi
mov edx, 0xc489c0d7
mov ecx, 0x6e729370
call fcn.180049ad0
mov byte [0x1800970f1], 0
mov qword [0x180096db0], rax
jmp 0x18005130f
mov rax, qword [rdi + 0x200]
test rax, rax
je 0x18005130f
nop dword [rax]
mov rdi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x180051300
mov r8d, esi
mov rdx, rsi
lea rax, [rdi + 0x10]
nop dword [rax]
cmp dword [rax], 0
je 0x1800513a0
inc rdx
inc r8d
add rax, 0x20
cmp rdx, 0x10
jl 0x180051320
mov ecx, 0x208
call fcn.1800472c0
mov rsi, rax
test rax, rax
je 0x18005137b
lea rbx, [rax + 0x18]
xor r12d, r12d
nop
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], r12d
mov qword [rbx], r12
add rbx, 0x20
dec r15d
jns 0x180051350
mov qword [rsi + 0x200], r12
mov r12, qword [rbp + 0x5e0]
jmp 0x18005137d
xor esi, esi
lea rdx, [rbp + 0x4a0]
mov rcx, rsi
mov qword [rsi + 0x18], r13
call fcn.180042fa0
mov dword [rsi + 0x10], 0x97c92fff
mov qword [rdi + 0x200], rsi
jmp 0x1800513c4
movsxd rbx, r8d
lea rdx, [rbp + 0x4a0]
shl rbx, 5
add rbx, rdi
mov rcx, rbx
mov qword [rbx + 0x18], r13
call fcn.180042fa0
mov dword [rbx + 0x10], 0x97c92fff
test r13, r13
je 0x1800513ee
mov edx, 0x22b14cb5
mov rcx, r13
call fcn.180048a60
test rax, rax
je 0x1800513ee
movsxd r8, dword [r12 + 8]
mov rdx, qword [r12]
mov rcx, qword [rsp + 0x30]
shr r8, 1
call rax
lea rcx, [rsp + 0x30]
call fcn.180040e20
lea rcx, [rsp + 0x40]
call fcn.180040e20
mov rbx, qword [rsp + 0x6f0]
mov rax, r12
add rsp, 0x6a0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret