Function at 0x18004f940
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.18004eb60
lea rcx, [rsp + 0x30]
mov edx, 0x200
call fcn.180041040
mov r11, qword [0x180092db8]
xor esi, esi
movabs rax, 0x41821ee8e53ac33
movabs rbx, 0x4b873568d1e0b188
lea r15d, [rsi + 0xf]
cmp r11, rax
cmove r11, rsi
mov qword [0x180092db8], r11
test r11, r11
je 0x18004fa0a
nop dword [rax]
mov edx, esi
mov rcx, rsi
lea rax, [r11 + 0x10]
nop dword [rax]
cmp dword [rax], 0x677ba31
je 0x18004f9f5
inc rcx
inc edx
add rax, 0x28
cmp rcx, 0x10
jl 0x18004f9d0
mov r11, qword [r11 + 0x280]
test r11, r11
jne 0x18004f9c0
jmp 0x18004fa0a
movsxd rax, edx
lea rcx, [rax + rax*4]
mov rdi, qword [r11 + rcx*8 + 0x20]
test rdi, rdi
jne 0x18004ffc4
mov r8, qword [0x180092db0]
cmp r8, rbx
cmove r8, rsi
mov qword [0x180092db0], r8
test r8, r8
je 0x18004fa67
nop word [rax + rax]
mov edx, esi
mov rcx, rsi
lea rax, [r8 + 0x10]
nop dword [rax]
cmp dword [rax], 0x89a17f76
je 0x18004fb37
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x18004fa40
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x18004fa30
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 0x18004facb
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 0x18004facb
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x18004fab0
mov r9d, esi
cmp si, word [rbx + 0x58]
jae 0x18004fb0b
lea r8, [rbp + 0x120]
nop dword [rax + rax]
movzx ecx, byte [r10]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x18004faee
add cl, 0xe0
mov byte [r8], cl
test cl, cl
je 0x18004fb0b
movzx eax, word [rbx + 0x58]
inc r9d
inc r11d
add r10, 2
inc r8
cmp r9d, eax
jl 0x18004fae0
lea rcx, [rbp + 0x120]
mov edx, r11d
call fcn.180063bd0
xor eax, 0x102a2c68
cmp eax, 0x89a17f76
je 0x18004fb48
cmp rbx, rdi
je 0x18004fcc4
mov rbx, qword [rbx]
jmp 0x18004fa90
movsxd rax, edx
shl rax, 5
mov r13, qword [rax + r8 + 0x18]
jmp 0x18004fcce
mov r13, qword [rbx + 0x30]
test r13, r13
je 0x18004fcc4
cmp byte [0x1800930b0], sil
jne 0x18004fcc4
mov rdi, qword [0x180092db0]
test rdi, rdi
jne 0x18004fbed
mov ecx, 0x208
mov byte [0x1800930b0], 1
call fcn.180046860
mov rdi, rax
test rax, rax
je 0x18004fbc4
mov esi, r15d
lea rbx, [rax + 0x18]
xor r14d, r14d
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041040
mov dword [rbx - 8], r14d
mov qword [rbx], r14
add rbx, 0x20
dec esi
jns 0x18004fb91
mov r14, qword [rbp + 0x5e8]
xor esi, esi
mov qword [rdi + 0x200], rsi
mov qword [0x180092db0], rdi
jmp 0x18004fbce
mov rdi, rsi
mov qword [0x180092db0], rsi
mov edx, 0xdae1905e
mov ecx, 0x701ac3f9
call fcn.180048dc0
mov byte [0x1800930b0], 0
mov qword [0x180092da8], rax
jmp 0x18004fc0f
mov rax, qword [rdi + 0x200]
test rax, rax
je 0x18004fc0f
nop dword [rax]
mov rdi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x18004fc00
mov edx, esi
mov rcx, rsi
lea rax, [rdi + 0x10]
nop dword [rax + rax]
cmp dword [rax], 0
je 0x18004fca3
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x18004fc20
mov ecx, 0x208
call fcn.180046860
mov rsi, rax
test rax, rax
je 0x18004fc7f
mov r12d, r15d
lea rbx, [rax + 0x18]
xor r14d, r14d
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041040
mov dword [rbx - 8], r14d
mov qword [rbx], r14
add rbx, 0x20
dec r12d
jns 0x18004fc54
mov qword [rsi + 0x200], r14
mov r14, qword [rbp + 0x5e8]
jmp 0x18004fc81
xor esi, esi
lea rdx, [rbp + 0x20]
mov rcx, rsi
mov qword [rsi + 0x18], r13
call fcn.180042540
mov dword [rsi + 0x10], 0x89a17f76
mov qword [rdi + 0x200], rsi
xor esi, esi
jmp 0x18004fcc4
movsxd rbx, edx
lea rdx, [rbp + 0x20]
shl rbx, 5
add rbx, rdi
mov rcx, rbx
mov qword [rbx + 0x18], r13
call fcn.180042540
mov dword [rbx + 0x10], 0x89a17f76
movabs rbx, 0x4b873568d1e0b188
test r13, r13
jne 0x18004ffaf
mov ecx, 0x89a17f76
call fcn.180048ac0
test al, al
je 0x18004fff9
mov r8, qword [0x180092db0]
cmp r8, rbx
cmove r8, rsi
mov qword [0x180092db0], r8
test r8, r8
je 0x18004fd47
nop word [rax + rax]
mov edx, esi
mov rcx, rsi
lea rax, [r8 + 0x10]
nop dword [rax]
cmp dword [rax], 0x89a17f76
je 0x18004fe14
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x18004fd20
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x18004fd10
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 0x18004fdae
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 0x18004fdae
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x18004fd93
mov r9d, esi
cmp si, word [rbx + 0x58]
jae 0x18004fdeb
lea r8, [rbp - 0x60]
nop dword [rax + rax]
movzx ecx, byte [r10]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x18004fdce
add cl, 0xe0
mov byte [r8], cl
test cl, cl
je 0x18004fdeb
movzx eax, word [rbx + 0x58]
inc r9d
inc r11d
add r10, 2
inc r8
cmp r9d, eax
jl 0x18004fdc0
lea rcx, [rbp - 0x60]
mov edx, r11d
call fcn.180063bd0
xor eax, 0x102a2c68
cmp eax, 0x89a17f76
je 0x18004fe25
cmp rbx, rdi
je 0x18004ffaa
mov rbx, qword [rbx]
jmp 0x18004fd70
movsxd rax, edx
shl rax, 5
mov r13, qword [rax + r8 + 0x18]
jmp 0x18004ffaa
mov r13, qword [rbx + 0x30]
test r13, r13
je 0x18004fff9
cmp byte [0x1800930b0], 0
jne 0x18004ffaa
mov rdi, qword [0x180092db0]
test rdi, rdi
jne 0x18004fece
mov ecx, 0x208
mov byte [0x1800930b0], 1
call fcn.180046860
mov rdi, rax
test rax, rax
je 0x18004fea5
mov esi, r15d
lea rbx, [rax + 0x18]
xor r14d, r14d
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041040
mov dword [rbx - 8], r14d
mov qword [rbx], r14
add rbx, 0x20
dec esi
jns 0x18004fe72
mov r14, qword [rbp + 0x5e8]
xor esi, esi
mov qword [rdi + 0x200], rsi
mov qword [0x180092db0], rdi
jmp 0x18004feaf
mov rdi, rsi
mov qword [0x180092db0], rsi
mov edx, 0xdae1905e
mov ecx, 0x701ac3f9
call fcn.180048dc0
mov byte [0x1800930b0], 0
mov qword [0x180092da8], rax
jmp 0x18004feef
mov rax, qword [rdi + 0x200]
test rax, rax
je 0x18004feef
nop word [rax + rax]
mov rdi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x18004fee0
mov edx, esi
mov rcx, rsi
lea rax, [rdi + 0x10]
nop dword [rax + rax]
cmp dword [rax], 0
je 0x18004ff86
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x18004ff00
mov ecx, 0x208
call fcn.180046860
mov rsi, rax
test rax, rax
je 0x18004ff5f
mov r12d, r15d
lea rbx, [rax + 0x18]
xor r14d, r14d
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041040
mov dword [rbx - 8], r14d
mov qword [rbx], r14
add rbx, 0x20
dec r12d
jns 0x18004ff34
mov qword [rsi + 0x200], r14
mov r14, qword [rbp + 0x5e8]
jmp 0x18004ff61
xor esi, esi
lea rdx, [rbp + 0x1a0]
mov rcx, rsi
mov qword [rsi + 0x18], r13
call fcn.180042540
mov dword [rsi + 0x10], 0x89a17f76
mov qword [rdi + 0x200], rsi
xor esi, esi
jmp 0x18004ffaa
movsxd rbx, edx
lea rdx, [rbp + 0x1a0]
shl rbx, 5
add rbx, rdi
mov rcx, rbx
mov qword [rbx + 0x18], r13
call fcn.180042540
mov dword [rbx + 0x10], 0x89a17f76
test r13, r13
je 0x18004fff9
mov edx, 0x677ba31
mov rcx, r13
call fcn.180047fb0
mov rdi, rax
test rax, rax
je 0x18004fff9
mov rbx, qword [rsp + 0x30]
mov r9d, 4
lea rcx, [rsp + 0x50]
lea r8d, [r9 - 3]
mov dl, 7
call fcn.180043390
mov rcx, qword [rsp + 0x40]
mov r9, rbx
mov rdx, qword [rax]
xor r8d, r8d
call rdi
lea rcx, [rsp + 0x50]
call fcn.1800403c0
test r14, r14
je 0x18005008c
lea rcx, [rsp + 0x30]
call fcn.18005d520
lea rdx, [rsp + 0x60]
lea rcx, [rsp + 0x30]
mov r8d, 0x2e
call fcn.180042c60
lea rcx, [rsp + 0x30]
mov rdx, qword [rax]
call fcn.180042540
lea rcx, [rsp + 0x60]
call fcn.1800403c0
lea rcx, [rsp + 0x30]
mov edx, 0x2e
call fcn.180041110
xor r8d, r8d
mov rdx, r14
mov rcx, rax
call fcn.180041060
mov rdx, qword [rsp + 0x30]
xor r9d, r9d
lea rcx, [rsp + 0x70]
lea r8d, [r9 + 4]
mov dword [rsp + 0x20], 0x80
call fcn.18005df40
cmp byte [rbp - 0x70], 0
je 0x180050082
lea rcx, [rbp - 0x78]
call fcn.180046c90
lea rcx, [rsp + 0x70]
call fcn.1800403c0
mov r12, qword [rbp + 0x5e0]
mov edx, 0x200
mov rcx, r12
call fcn.180041040
mov r11, qword [0x180092db8]
movabs rax, 0x41821ee8e53ac33
cmp r11, rax
cmove r11, rsi
mov qword [0x180092db8], r11
test r11, r11
je 0x18005011a
nop word [rax + rax]
mov edx, esi
mov rcx, rsi
lea rax, [r11 + 0x10]
nop dword [rax]
cmp dword [rax], 0x3cd91c3c
je 0x180050105
inc rcx
inc edx
add rax, 0x28
cmp rcx, 0x10
jl 0x1800500e0
mov r11, qword [r11 + 0x280]
test r11, r11
jne 0x1800500d0
jmp 0x18005011a
movsxd rax, edx
lea rcx, [rax + rax*4]
mov rax, qword [r11 + rcx*8 + 0x20]
test rax, rax
jne 0x1800506cb
mov r8, qword [0x180092db0]
movabs r14, 0x4b873568d1e0b188
cmp r8, r14
cmove r8, rsi
mov qword [0x180092db0], r8
test r8, r8
je 0x180050177
nop
mov edx, esi
mov rcx, rsi
lea rax, [r8 + 0x10]
nop dword [rax]
cmp dword [rax], 0x89a17f76
je 0x180050247
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180050150
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x180050140
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 0x1800501de
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 0x1800501de
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x1800501c3
mov r9d, esi
cmp si, word [rbx + 0x58]
jae 0x18005021b
lea r8, [rbp + 0x420]
nop
movzx ecx, byte [r10]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x1800501fe
add cl, 0xe0
mov byte [r8], cl
test cl, cl
je 0x18005021b
movzx eax, word [rbx + 0x58]
inc r9d
inc r11d
add r10, 2
inc r8
cmp r9d, eax
jl 0x1800501f0
lea rcx, [rbp + 0x420]
mov edx, r11d
call fcn.180063bd0
xor eax, 0x102a2c68
cmp eax, 0x89a17f76
je 0x180050258
cmp rbx, rdi
je 0x1800503e0
mov rbx, qword [rbx]
jmp 0x1800501a0
movsxd rax, edx
shl rax, 5
mov r13, qword [rax + r8 + 0x18]
jmp 0x1800503e0
mov r13, qword [rbx + 0x30]
test r13, r13
je 0x1800503e9
cmp byte [0x1800930b0], 0
jne 0x1800503e0
mov rdi, qword [0x180092db0]
test rdi, rdi
jne 0x1800502fd
mov ecx, 0x208
mov byte [0x1800930b0], 1
call fcn.180046860
mov rdi, rax
test rax, rax
je 0x1800502d4
mov esi, r15d
lea rbx, [rax + 0x18]
xor r12d, r12d
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041040
mov dword [rbx - 8], r12d
mov qword [rbx], r12
add rbx, 0x20
dec esi
jns 0x1800502a1
mov r12, qword [rbp + 0x5e0]
xor esi, esi
mov qword [rdi + 0x200], rsi
mov qword [0x180092db0], rdi
jmp 0x1800502de
mov rdi, rsi
mov qword [0x180092db0], rsi
mov edx, 0xdae1905e
mov ecx, 0x701ac3f9
call fcn.180048dc0
mov byte [0x1800930b0], 0
mov qword [0x180092da8], rax
jmp 0x18005031f
mov rax, qword [rdi + 0x200]
test rax, rax
je 0x18005031f
nop dword [rax]
mov rdi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x180050310
mov edx, esi
mov rcx, rsi
lea rax, [rdi + 0x10]
nop dword [rax + rax]
cmp dword [rax], 0
je 0x1800503bc
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180050330
mov ecx, 0x208
call fcn.180046860
mov rsi, rax
test rax, rax
je 0x180050395
mov r12d, r15d
lea rbx, [rax + 0x18]
xor r15d, r15d
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041040
mov dword [rbx - 8], r15d
mov qword [rbx], r15
add rbx, 0x20
dec r12d
jns 0x180050364
mov r12, qword [rbp + 0x5e0]
mov qword [rsi + 0x200], r15
mov r15d, 0xf
jmp 0x180050397
xor esi, esi
lea rdx, [rbp + 0x320]
mov rcx, rsi
mov qword [rsi + 0x18], r13
call fcn.180042540
mov dword [rsi + 0x10], 0x89a17f76
mov qword [rdi + 0x200], rsi
xor esi, esi
jmp 0x1800503e0
movsxd rbx, edx
lea rdx, [rbp + 0x320]
shl rbx, 5
add rbx, rdi
mov rcx, rbx
mov qword [rbx + 0x18], r13
call fcn.180042540
mov dword [rbx + 0x10], 0x89a17f76
test r13, r13
jne 0x1800506b9
mov ecx, 0x89a17f76
call fcn.180048ac0
test al, al
je 0x1800506de
mov r8, qword [0x180092db0]
cmp r8, r14
cmove r8, rsi
mov qword [0x180092db0], r8
test r8, r8
je 0x180050457
nop word [rax + rax]
mov edx, esi
mov rcx, rsi
lea rax, [r8 + 0x10]
nop dword [rax]
cmp dword [rax], 0x89a17f76
je 0x180050527
inc rcx
inc edx
add rax, 0x20
cmp rcx, 0x10
jl 0x180050430
mov r8, qword [r8 + 0x200]
test r8, r8
jne 0x180050420
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 0x1800504be
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 0x1800504be
movzx eax, word [rbx + 0x58]
inc edx
add rcx, 2
cmp edx, eax
jle 0x1800504a3
mov r9d, esi
cmp si, word [rbx + 0x58]
jae 0x1800504fb
lea r8, [rbp + 0x2a0]
nop
movzx ecx, byte [r10]
lea eax, [rcx - 0x61]
cmp al, 0x19
ja 0x1800504de
add cl, 0xe0
mov byte [r8], cl
test cl, cl
je 0x1800504fb
movzx eax, word [rbx + 0x58]
inc r9d
inc r11d
add r10, 2
inc r8
cmp r9d, eax
jl 0x1800504d0
lea rcx, [rbp + 0x2a0]
mov edx, r11d
call fcn.180063bd0
xor eax, 0x102a2c68
cmp eax, 0x89a17f76
je 0x180050538
cmp rbx, rdi
je 0x1800506b4
mov rbx, qword [rbx]
jmp 0x180050480
movsxd rax, edx
shl rax, 5
mov r13, qword [rax + r8 + 0x18]
jmp 0x1800506b4
mov r13, qword [rbx + 0x30]
test r13, r13
je 0x1800506de
cmp byte [0x1800930b0], 0
jne 0x1800506b4
mov rdi, qword [0x180092db0]
test rdi, rdi
jne 0x1800505dd
mov ecx, 0x208
mov byte [0x1800930b0], 1
call fcn.180046860
mov rdi, rax
test rax, rax
je 0x1800505b4
mov esi, r15d
lea rbx, [rax + 0x18]
xor r12d, r12d
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041040
mov dword [rbx - 8], r12d
mov qword [rbx], r12
add rbx, 0x20
dec esi
jns 0x180050581
mov r12, qword [rbp + 0x5e0]
xor esi, esi
mov qword [rdi + 0x200], rsi
mov qword [0x180092db0], rdi
jmp 0x1800505be
mov rdi, rsi
mov qword [0x180092db0], rsi
mov edx, 0xdae1905e
mov ecx, 0x701ac3f9
call fcn.180048dc0
mov byte [0x1800930b0], 0
mov qword [0x180092da8], rax
jmp 0x1800505ff
mov rax, qword [rdi + 0x200]
test rax, rax
je 0x1800505ff
nop dword [rax]
mov rdi, rax
mov rax, qword [rax + 0x200]
test rax, rax
jne 0x1800505f0
mov r8d, esi
mov rdx, rsi
lea rax, [rdi + 0x10]
nop dword [rax]
cmp dword [rax], 0
je 0x180050690
inc rdx
inc r8d
add rax, 0x20
cmp rdx, 0x10
jl 0x180050610
mov ecx, 0x208
call fcn.180046860
mov rsi, rax
test rax, rax
je 0x18005066b
lea rbx, [rax + 0x18]
xor r12d, r12d
nop
lea rcx, [rbx - 0x18]
xor edx, edx
call fcn.180041040
mov dword [rbx - 8], r12d
mov qword [rbx], r12
add rbx, 0x20
dec r15d
jns 0x180050640
mov qword [rsi + 0x200], r12
mov r12, qword [rbp + 0x5e0]
jmp 0x18005066d
xor esi, esi
lea rdx, [rbp + 0x4a0]
mov rcx, rsi
mov qword [rsi + 0x18], r13
call fcn.180042540
mov dword [rsi + 0x10], 0x89a17f76
mov qword [rdi + 0x200], rsi
jmp 0x1800506b4
movsxd rbx, r8d
lea rdx, [rbp + 0x4a0]
shl rbx, 5
add rbx, rdi
mov rcx, rbx
mov qword [rbx + 0x18], r13
call fcn.180042540
mov dword [rbx + 0x10], 0x89a17f76
test r13, r13
je 0x1800506de
mov edx, 0x3cd91c3c
mov rcx, r13
call fcn.180047fb0
test rax, rax
je 0x1800506de
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.1800403c0
lea rcx, [rsp + 0x40]
call fcn.1800403c0
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