Function at 0x18004f870
Capabilities:
Access peb ldr_data

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push r15
lea rbp, [rsp - 0x568]
sub rsp, 0x668
mov r15, rcx
call fcn.180049150
mov rcx, qword [0x180096dd0]
add rcx, 8
call fcn.180041180
test al, al
je 0x18005062b
mov qword [rsp + 0x688], rbx
mov qword [rsp + 0x690], rsi
mov qword [rsp + 0x698], rdi
mov qword [rsp + 0x660], r12
lea rcx, [rsp + 0x40]
xor edx, edx
mov qword [rsp + 0x658], r13
mov qword [rsp + 0x650], r14
call fcn.180041a90
lea rcx, [rsp + 0x30]
mov edx, 0x200
call fcn.180041a90
lea rcx, [rsp + 0x20]
mov edx, 0x200
call fcn.180041a90
lea rcx, [rsp + 0x40]
mov edx, 0x54
call fcn.180041b60
mov edx, 0x45
mov rcx, rax
call fcn.180041b60
mov edx, 0x4d
mov rcx, rax
call fcn.180041b60
mov edx, 0x50
mov rcx, rax
call fcn.180041b60
mov r11, qword [0x180096dc0]
xor r12d, r12d
movabs rax, 0xdbf06daf303fac65
movabs rbx, 0xd79a16697bb981ec
lea r14d, [r12 + 0xf]
cmp r11, rax
cmove r11, r12
mov qword [0x180096dc0], r11
test r11, r11
je 0x18004f9ba
nop dword [rax]
mov edx, r12d
mov rcx, r12
lea rax, [r11 + 0x10]
nop word [rax + rax]
cmp dword [rax], 0xd5111ab8
je 0x18004f9a5
inc rcx
inc edx
add rax, 0x28
cmp rcx, 0x10
jl 0x18004f980
mov r11, qword [r11 + 0x280]
test r11, r11
jne 0x18004f970
jmp 0x18004f9ba
movsxd rax, edx
lea rcx, [rax + rax*4]
mov rax, qword [r11 + rcx*8 + 0x20]
test rax, rax
jne 0x18004ff59
mov r8, qword [0x180096db8]
cmp r8, rbx
cmove r8, r12
mov qword [0x180096db8], r8
test r8, r8
je 0x18004fa17
nop word [rax + rax]
mov edx, r12d
mov rcx, r12
lea rax, [r8 + 0x10]
nop word [rax + rax]
cmp dword [rax], 0x97c92fff
je 0x18004fae7
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x18004f9f0
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x18004f9e0
mov rax, qword gs:[0x30]
mov r13, r12
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, r12d
mov edx, r12d
cmp r12w, word [rbx + 0x58]
ja 0x18004fa7c
lea rax, [rbp - 0x30]
mov r8, r10
lea rcx, [rbp - 0x30]
sub r8, rax
nop
movzx eax, word [r8 + rcx]
mov word [rcx], ax
cmp r12w, ax
je 0x18004fa7c
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x18004fa60
mov r9d, r12d
cmp r12w, word [rbx + 0x58]
jae 0x18004fabb
lea r8, [rbp + 0x3d0]
nop dword [rax]
movzx ecx, byte [r10]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x18004fa9e
add cl, 0xe0
mov byte [r8], cl
test cl, cl
je 0x18004fabb
movzx eax, word [rbx + 0x58]
inc r9d
inc r11d
add r10, 2
inc r8
cmp r9d, eax
jl 0x18004fa90
lea rcx, [rbp + 0x3d0]
mov edx, r11d
call fcn.180065760
xor eax, 0xe427ce1
cmp eax, 0x97c92fff
je 0x18004faf8
cmp rbx, rdi
je 0x18004fc5d
mov rbx, qword [rbx]
jmp 0x18004fa40
movsxd rax, edx
shl rax, 5
mov r13, qword [rax + r8 + 0x18]
jmp 0x18004fc67
mov r13, qword [rbx + 0x30]
test r13, r13
je 0x18004fc5d
cmp byte [0x1800970f1], r12b
jne 0x18004fc5d
mov rdi, qword [0x180096db8]
test rdi, rdi
jne 0x18004fb93
mov ecx, 0x208
mov byte [0x1800970f1], 1
call fcn.1800472c0
mov rdi, rax
test rax, rax
je 0x18004fb6a
mov esi, r14d
lea rbx, [rax + 0x18]
nop
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 0x18004fb40
mov qword [rdi + 0x200], r12
mov qword [0x180096db8], rdi
jmp 0x18004fb74
mov rdi, r12
mov qword [0x180096db8], r12
mov edx, 0xc489c0d7
mov ecx, 0x6e729370
call fcn.180049ad0
mov byte [0x1800970f1], r12b
mov qword [0x180096db0], rax
jmp 0x18004fbaf
mov rax, qword [rdi + 0x200]
test rax, rax
je 0x18004fbaf
nop
mov rdi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x18004fba0
mov edx, r12d
mov rcx, r12
lea rax, [rdi + 0x10]
nop dword [rax]
cmp dword [rax], r12d
je 0x18004fc3c
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x18004fbc0
mov ecx, 0x208
call fcn.1800472c0
mov rsi, rax
test rax, rax
je 0x18004fc19
mov r12d, r14d
lea rbx, [rax + 0x18]
nop dword [rax]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
xor eax, eax
add rbx, 0x20
dec r12d
mov dword [rbx - 0x28], eax
mov qword [rbx - 0x20], rax
jns 0x18004fbf0
xor r12d, r12d
mov qword [rsi + 0x200], r12
jmp 0x18004fc1c
mov rsi, r12
lea rdx, [rbp - 0x30]
mov rcx, rsi
mov qword [rsi + 0x18], r13
call fcn.180042fa0
mov dword [rsi + 0x10], 0x97c92fff
mov qword [rdi + 0x200], rsi
jmp 0x18004fc5d
movsxd rbx, edx
lea rdx, [rbp - 0x30]
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 0x18004ff47
mov ecx, 0x97c92fff
call fcn.1800497d0
test al, al
je 0x18004ff6d
mov rdx, qword [0x180096db8]
cmp rdx, rbx
cmove rdx, r12
mov qword [0x180096db8], rdx
test rdx, rdx
je 0x18004fcd8
nop dword [rax]
mov r8d, r12d
mov rcx, r12
lea rax, [rdx + 0x10]
nop word [rax + rax]
cmp dword [rax], 0x97c92fff
je 0x18004fdb7
inc rcx
inc r8d
add rax, 0x20
cmp rcx, 0x10
jl 0x18004fcb0
mov rdx, qword [rdx + 0x200]
test rdx, rdx
jne 0x18004fca0
mov rax, qword gs:[0x30]
mov r13, r12
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, r12d
mov edx, r12d
cmp r12w, word [rbx + 0x58]
ja 0x18004fd4c
lea rax, [rbp + 0x150]
mov r8, r10
lea rcx, [rbp + 0x150]
sub r8, rax
nop word [rax + rax]
movzx eax, word [r8 + rcx]
mov word [rcx], ax
cmp r12w, ax
je 0x18004fd4c
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x18004fd30
mov r9d, r12d
cmp r12w, word [rbx + 0x58]
jae 0x18004fd8b
lea r8, [rbp + 0xd0]
nop dword [rax]
movzx ecx, byte [r10]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x18004fd6e
add cl, 0xe0
mov byte [r8], cl
test cl, cl
je 0x18004fd8b
movzx eax, word [rbx + 0x58]
inc r9d
inc r11d
add r10, 2
inc r8
cmp r9d, eax
jl 0x18004fd60
lea rcx, [rbp + 0xd0]
mov edx, r11d
call fcn.180065760
xor eax, 0xe427ce1
cmp eax, 0x97c92fff
je 0x18004fdc8
cmp rbx, rdi
je 0x18004ff38
mov rbx, qword [rbx]
jmp 0x18004fd00
movsxd rax, r8d
shl rax, 5
mov r13, qword [rax + rdx + 0x18]
jmp 0x18004ff42
mov r13, qword [rbx + 0x30]
test r13, r13
je 0x18004ff38
cmp byte [0x1800970f1], 0
jne 0x18004ff38
mov rdi, qword [0x180096db8]
test rdi, rdi
jne 0x18004fe63
mov ecx, 0x208
mov byte [0x1800970f1], 1
call fcn.1800472c0
mov rdi, rax
test rax, rax
je 0x18004fe3a
mov esi, r14d
lea rbx, [rax + 0x18]
nop
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 0x18004fe10
mov qword [rdi + 0x200], r12
mov qword [0x180096db8], rdi
jmp 0x18004fe44
mov rdi, r12
mov qword [0x180096db8], r12
mov edx, 0xc489c0d7
mov ecx, 0x6e729370
call fcn.180049ad0
mov byte [0x1800970f1], 0
mov qword [0x180096db0], rax
jmp 0x18004fe7f
mov rax, qword [rdi + 0x200]
test rax, rax
je 0x18004fe7f
nop
mov rdi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x18004fe70
mov edx, r12d
mov rcx, r12
lea rax, [rdi + 0x10]
nop dword [rax]
cmp dword [rax], 0
je 0x18004ff14
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x18004fe90
mov ecx, 0x208
call fcn.1800472c0
mov rsi, rax
test rax, rax
je 0x18004feee
mov r12d, r14d
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 0x18004fec0
mov r15, qword [rbp + 0x580]
xor r12d, r12d
mov qword [rsi + 0x200], r12
jmp 0x18004fef1
mov rsi, r12
lea rdx, [rbp + 0x150]
mov rcx, rsi
mov qword [rsi + 0x18], r13
call fcn.180042fa0
mov dword [rsi + 0x10], 0x97c92fff
mov qword [rdi + 0x200], rsi
jmp 0x18004ff38
movsxd rbx, edx
lea rdx, [rbp + 0x150]
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
je 0x18004ff6d
mov edx, 0xd5111ab8
mov rcx, r13
call fcn.180048a60
test rax, rax
je 0x18004ff6d
movsxd r8, dword [rsp + 0x38]
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
shr r8, 1
call rax
mov r11, qword [0x180096dc0]
movabs rax, 0xdbf06daf303fac65
cmp r11, rax
cmove r11, r12
mov qword [0x180096dc0], r11
test r11, r11
je 0x18004ffea
nop word [rax + rax]
mov edx, r12d
mov rcx, r12
lea rax, [r11 + 0x10]
nop word [rax + rax]
cmp dword [rax], 0x22b14cb5
je 0x18004ffd5
inc rcx
inc edx
add rax, 0x28
cmp rcx, 0x10
jl 0x18004ffb0
mov r11, qword [r11 + 0x280]
test r11, r11
jne 0x18004ffa0
jmp 0x18004ffea
movsxd rax, edx
lea rcx, [rax + rax*4]
mov rax, qword [r11 + rcx*8 + 0x20]
test rax, rax
jne 0x180050595
mov rdx, qword [0x180096db8]
cmp rdx, rbx
cmove rdx, r12
mov qword [0x180096db8], rdx
test rdx, rdx
je 0x180050048
nop word [rax + rax]
mov r8d, r12d
mov rcx, r12
lea rax, [rdx + 0x10]
nop word [rax + rax]
cmp dword [rax], 0x97c92fff
je 0x180050125
inc rcx
inc r8d
add rax, 0x20
cmp rcx, 0x10
jl 0x180050020
mov rdx, qword [rdx + 0x200]
test rdx, rdx
jne 0x180050010
mov rax, qword gs:[0x30]
mov r13, r12
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, r12d
mov edx, r12d
cmp r12w, word [rbx + 0x58]
ja 0x1800500bc
lea rax, [rbp + 0x2d0]
mov r8, r10
lea rcx, [rbp + 0x2d0]
sub r8, rax
nop word [rax + rax]
movzx eax, word [r8 + rcx]
mov word [rcx], ax
cmp r12w, ax
je 0x1800500bc
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x1800500a0
mov r9d, r12d
cmp r12w, word [rbx + 0x58]
jae 0x1800500fb
lea r8, [rsp + 0x50]
nop dword [rax + rax]
movzx ecx, byte [r10]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x1800500de
add cl, 0xe0
mov byte [r8], cl
test cl, cl
je 0x1800500fb
movzx eax, word [rbx + 0x58]
inc r9d
inc r11d
add r10, 2
inc r8
cmp r9d, eax
jl 0x1800500d0
lea rcx, [rsp + 0x50]
mov edx, r11d
call fcn.180065760
xor eax, 0xe427ce1
cmp eax, 0x97c92fff
je 0x180050136
cmp rbx, rdi
je 0x1800502a8
mov rbx, qword [rbx]
jmp 0x180050070
movsxd rax, r8d
shl rax, 5
mov r13, qword [rax + rdx + 0x18]
jmp 0x1800502b2
mov r13, qword [rbx + 0x30]
test r13, r13
je 0x1800502a8
cmp byte [0x1800970f1], 0
jne 0x1800502a8
mov rdi, qword [0x180096db8]
test rdi, rdi
jne 0x1800501d3
mov ecx, 0x208
mov byte [0x1800970f1], 1
call fcn.1800472c0
mov rdi, rax
test rax, rax
je 0x1800501aa
mov esi, r14d
lea rbx, [rax + 0x18]
nop dword [rax]
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 0x180050180
mov qword [rdi + 0x200], r12
mov qword [0x180096db8], rdi
jmp 0x1800501b4
mov rdi, r12
mov qword [0x180096db8], r12
mov edx, 0xc489c0d7
mov ecx, 0x6e729370
call fcn.180049ad0
mov byte [0x1800970f1], 0
mov qword [0x180096db0], rax
jmp 0x1800501ef
mov rax, qword [rdi + 0x200]
test rax, rax
je 0x1800501ef
nop
mov rdi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x1800501e0
mov edx, r12d
mov rcx, r12
lea rax, [rdi + 0x10]
nop dword [rax]
cmp dword [rax], 0
je 0x180050284
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180050200
mov ecx, 0x208
call fcn.1800472c0
mov rsi, rax
test rax, rax
je 0x18005025e
mov r12d, r14d
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 0x180050230
mov r15, qword [rbp + 0x580]
xor r12d, r12d
mov qword [rsi + 0x200], r12
jmp 0x180050261
mov rsi, r12
lea rdx, [rbp + 0x2d0]
mov rcx, rsi
mov qword [rsi + 0x18], r13
call fcn.180042fa0
mov dword [rsi + 0x10], 0x97c92fff
mov qword [rdi + 0x200], rsi
jmp 0x1800502a8
movsxd rbx, edx
lea rdx, [rbp + 0x2d0]
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 0x180050583
mov ecx, 0x97c92fff
call fcn.1800497d0
test al, al
je 0x1800505a9
mov r8, qword [0x180096db8]
cmp r8, rbx
cmove r8, r12
mov qword [0x180096db8], r8
test r8, r8
je 0x180050327
nop word [rax + rax]
mov edx, r12d
mov rcx, r12
lea rax, [r8 + 0x10]
nop word [rax + rax]
cmp dword [rax], 0x97c92fff
je 0x180050407
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180050300
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x1800502f0
mov rax, qword gs:[0x30]
mov r13, r12
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, r12d
mov edx, r12d
cmp r12w, word [rbx + 0x58]
ja 0x18005039c
lea rax, [rbp + 0x450]
mov r8, r10
lea rcx, [rbp + 0x450]
sub r8, rax
nop word [rax + rax]
movzx eax, word [r8 + rcx]
mov word [rcx], ax
cmp r12w, ax
je 0x18005039c
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x180050380
mov r9d, r12d
cmp r12w, word [rbx + 0x58]
jae 0x1800503db
lea r8, [rbp + 0x250]
nop dword [rax]
movzx ecx, byte [r10]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x1800503be
add cl, 0xe0
mov byte [r8], cl
test cl, cl
je 0x1800503db
movzx eax, word [rbx + 0x58]
inc r9d
inc r11d
add r10, 2
inc r8
cmp r9d, eax
jl 0x1800503b0
lea rcx, [rbp + 0x250]
mov edx, r11d
call fcn.180065760
xor eax, 0xe427ce1
cmp eax, 0x97c92fff
je 0x180050418
cmp rbx, rdi
je 0x18005057e
mov rbx, qword [rbx]
jmp 0x180050350
movsxd rax, edx
shl rax, 5
mov r13, qword [rax + r8 + 0x18]
jmp 0x18005057e
mov r13, qword [rbx + 0x30]
test r13, r13
je 0x1800505a9
cmp byte [0x1800970f1], 0
jne 0x18005057e
mov rdi, qword [0x180096db8]
test rdi, rdi
jne 0x1800504b3
mov ecx, 0x208
mov byte [0x1800970f1], 1
call fcn.1800472c0
mov rdi, rax
test rax, rax
je 0x18005048a
mov esi, r14d
lea rbx, [rax + 0x18]
nop
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 0x180050460
mov qword [rdi + 0x200], r12
mov qword [0x180096db8], rdi
jmp 0x180050494
mov rdi, r12
mov qword [0x180096db8], r12
mov edx, 0xc489c0d7
mov ecx, 0x6e729370
call fcn.180049ad0
mov byte [0x1800970f1], 0
mov qword [0x180096db0], rax
jmp 0x1800504cf
mov rax, qword [rdi + 0x200]
test rax, rax
je 0x1800504cf
nop
mov rdi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x1800504c0
mov r8d, r12d
mov rdx, r12
lea rax, [rdi + 0x10]
nop dword [rax]
cmp dword [rax], 0
je 0x18005055a
inc rdx
inc r8d
add rax, 0x20
cmp rdx, 0x10
jl 0x1800504e0
mov ecx, 0x208
call fcn.1800472c0
mov rsi, rax
test rax, rax
je 0x180050534
lea rbx, [rax + 0x18]
nop dword [rax + rax]
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041a90
mov dword [rbx - 8], r12d
mov qword [rbx], r12
add rbx, 0x20
dec r14d
jns 0x180050510
mov qword [rsi + 0x200], r12
jmp 0x180050537
mov rsi, r12
lea rdx, [rbp + 0x450]
mov rcx, rsi
mov qword [rsi + 0x18], r13
call fcn.180042fa0
mov dword [rsi + 0x10], 0x97c92fff
mov qword [rdi + 0x200], rsi
jmp 0x18005057e
movsxd rbx, r8d
lea rdx, [rbp + 0x450]
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 0x1800505a9
mov edx, 0x22b14cb5
mov rcx, r13
call fcn.180048a60
test rax, rax
je 0x1800505a9
movsxd r8, dword [rsp + 0x28]
mov rdx, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
shr r8, 1
call rax
lea rcx, [rsp + 0x20]
call fcn.180041cb0
mov r14, qword [rsp + 0x650]
mov r13, qword [rsp + 0x658]
cmp word [rax], 0x5c
mov r12, qword [rsp + 0x660]
mov rdi, qword [rsp + 0x698]
mov rsi, qword [rsp + 0x690]
mov rbx, qword [rsp + 0x688]
je 0x1800505f8
lea rcx, [rsp + 0x20]
mov edx, 0x5c
call fcn.180041b60
mov rcx, qword [0x180096dd0]
mov rdx, qword [rsp + 0x20]
add rcx, 8
call fcn.180042fa0
lea rcx, [rsp + 0x20]
call fcn.180040e20
lea rcx, [rsp + 0x30]
call fcn.180040e20
lea rcx, [rsp + 0x40]
call fcn.180040e20
mov rdx, qword [0x180096dd0]
mov rcx, r15
add rdx, 8
call fcn.180042f70
mov rax, r15
add rsp, 0x668
pop r15
pop rbp
ret