Function at 0x180021140
Capabilities:
Access peb ldr_data
Resolve function by parsing pe exports

Disassembly:
sub rsp, 0x48
cmp dword [0x18009a500], 0
je 0x180021157
mov eax, 1
add rsp, 0x48
ret
mov rax, qword gs:[0x60]
mov qword [rsp + 0x50], rbx
mov qword [rsp + 0x58], rbp
mov rcx, qword [rax + 0x18]
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x40], rdi
mov rbp, qword [rcx + 0x10]
xor edi, edi
mov rax, qword [rbp + 0x30]
test rax, rax
je 0x1800216b9
nop dword [rax + rax]
mov rsi, rax
movsxd rax, dword [rax + 0x3c]
mov ecx, dword [rax + rsi + 0x88]
test ecx, ecx
je 0x1800211cd
lea rdi, [rsi + rcx]
mov ecx, dword [rsi + rcx + 0xc]
mov eax, dword [rcx + rsi]
or eax, 0x20202020
cmp eax, 0x6c64746e
jne 0x1800211cd
mov eax, dword [rcx + rsi + 4]
or eax, 0x20202020
cmp eax, 0x6c642e6c
je 0x18002127e
lea rcx, str.8893
call fcn.1800237d4
lea rcx, str.6754
movsxd rbx, eax
call fcn.1800237d4
movsxd rcx, eax
sub rbx, rcx
lea rcx, str.8996
call fcn.1800237d4
movsxd rcx, eax
sub rbx, rcx
lea rcx, [0x18004bad8]
call fcn.1800237d4
movsxd rcx, eax
sub rbx, rcx
lea rcx, str._693
call fcn.1800237d4
movsxd rcx, eax
sub rbx, rcx
lea rcx, [0x18004baf0]
call fcn.1800237d4
movsxd rcx, eax
add rbx, rcx
lea rcx, [0x18004baf8]
call fcn.1800237d4
movsxd rcx, eax
add rbx, rcx
lea rcx, str.4482
call fcn.1800237d4
movsxd rcx, eax
add rbx, rcx
lea rcx, str.2234
call fcn.1800237d4
movsxd rcx, eax
add rcx, rbx
mov rbp, qword [rbp + rcx*8]
mov rax, qword [rbp + 0x30]
test rax, rax
jne 0x180021190
test rdi, rdi
je 0x1800216b9
mov ebp, dword [rdi + 0x18]
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x30], r13
mov r13d, dword [rdi + 0x20]
mov qword [rsp + 0x28], r14
mov r14d, dword [rdi + 0x1c]
mov qword [rsp + 0x20], r15
mov r15d, dword [rdi + 0x24]
add r14, rsi
add r13, rsi
add r15, rsi
lea r12, [0x18009a504]
xor edi, edi
nop dword [rax]
lea rcx, str.6754
call fcn.1800237d4
lea rcx, str.8996
mov ebx, ebp
sub ebx, eax
call fcn.1800237d4
lea rcx, [0x18004bad8]
sub ebx, eax
call fcn.1800237d4
lea rcx, str._693
sub ebx, eax
call fcn.1800237d4
lea rcx, [0x18004baf0]
sub ebx, eax
dec ebx
call fcn.1800237d4
lea rcx, [0x18004baf8]
add ebx, eax
call fcn.1800237d4
lea rcx, str.4482
add ebx, eax
call fcn.1800237d4
lea rcx, str.2234
add ebx, eax
call fcn.1800237d4
lea rcx, str.8893
add ebx, eax
call fcn.1800237d4
add eax, ebx
mov ecx, dword [r13 + rax*4]
mov eax, 0x775a
add rcx, rsi
cmp word [rcx], ax
jne 0x1800213ff
call fcn.180020fd0
lea rcx, str.8893
mov dword [r12], eax
call fcn.1800237d4
lea rcx, str.2234
mov ebx, ebp
sub ebx, eax
call fcn.1800237d4
lea rcx, str.4482
sub ebx, eax
call fcn.1800237d4
lea rcx, [0x18004baf8]
sub ebx, eax
call fcn.1800237d4
lea rcx, [0x18004baf0]
sub ebx, eax
call fcn.1800237d4
lea rcx, str._693
sub ebx, eax
dec ebx
call fcn.1800237d4
lea rcx, [0x18004bad8]
add ebx, eax
call fcn.1800237d4
lea rcx, str.8996
add ebx, eax
call fcn.1800237d4
lea rcx, str.6754
add ebx, eax
call fcn.1800237d4
inc edi
add eax, ebx
add r12, 8
movzx ecx, word [r15 + rax*2]
mov eax, dword [r14 + rcx*4]
mov dword [r12 - 4], eax
cmp edi, 0x1f4
je 0x180021408
add ebp, 0xffffffff
jne 0x1800212c0
lea eax, [rdi - 1]
xor r12d, r12d
mov dword [0x18009a500], edi
test eax, eax
je 0x18002169e
lea r15, [0x18009a508]
lea r14, [0x18009a500]
nop word [rax + rax]
mov eax, edi
xor esi, esi
sub eax, r12d
cmp eax, 1
je 0x18002168f
mov rbp, r15
lea rcx, str.6754
call fcn.1800237d4
lea rcx, str.8996
mov ebx, esi
sub ebx, eax
call fcn.1800237d4
lea rcx, [0x18004bad8]
sub ebx, eax
call fcn.1800237d4
lea rcx, str._693
sub ebx, eax
call fcn.1800237d4
lea rcx, [0x18004baf0]
sub ebx, eax
call fcn.1800237d4
lea rcx, [0x18004baf8]
add ebx, eax
call fcn.1800237d4
lea rcx, str.4482
add ebx, eax
call fcn.1800237d4
lea rcx, str.2234
add ebx, eax
call fcn.1800237d4
mov r13d, dword [rbp]
lea rcx, str.8893
add ebx, eax
call fcn.1800237d4
lea ecx, [rax + rbx + 1]
cmp r13d, dword [r14 + rcx*8 + 8]
jbe 0x180021674
mov edi, dword [rbp - 4]
lea rcx, str.6754
call fcn.1800237d4
lea rcx, str.8996
mov ebx, esi
sub ebx, eax
call fcn.1800237d4
lea rcx, [0x18004bad8]
sub ebx, eax
call fcn.1800237d4
lea rcx, str._693
sub ebx, eax
call fcn.1800237d4
lea rcx, [0x18004baf0]
sub ebx, eax
call fcn.1800237d4
lea rcx, [0x18004baf8]
add ebx, eax
call fcn.1800237d4
lea rcx, str.4482
add ebx, eax
call fcn.1800237d4
lea rcx, str.2234
add ebx, eax
call fcn.1800237d4
lea rcx, str.8893
add ebx, eax
call fcn.1800237d4
lea ecx, [rax + rbx + 1]
mov eax, dword [r14 + rcx*8 + 4]
lea rcx, str.8893
mov dword [rbp - 4], eax
call fcn.1800237d4
lea rcx, str.2234
mov ebx, esi
sub ebx, eax
call fcn.1800237d4
lea rcx, str.4482
sub ebx, eax
call fcn.1800237d4
lea rcx, [0x18004baf8]
sub ebx, eax
call fcn.1800237d4
lea rcx, [0x18004baf0]
sub ebx, eax
call fcn.1800237d4
lea rcx, str._693
sub ebx, eax
call fcn.1800237d4
lea rcx, [0x18004bad8]
add ebx, eax
call fcn.1800237d4
lea rcx, str.8996
add ebx, eax
call fcn.1800237d4
lea rcx, str.6754
add ebx, eax
call fcn.1800237d4
lea ecx, [rbx + rax]
mov eax, dword [rbp + 8]
mov dword [r14 + rcx*8 + 8], eax
lea rcx, str.8893
mov dword [rbp + 4], edi
call fcn.1800237d4
lea rcx, str.2234
mov ebx, esi
sub ebx, eax
call fcn.1800237d4
lea rcx, str.4482
sub ebx, eax
call fcn.1800237d4
lea rcx, [0x18004baf8]
sub ebx, eax
call fcn.1800237d4
lea rcx, [0x18004baf0]
sub ebx, eax
call fcn.1800237d4
lea rcx, str._693
sub ebx, eax
call fcn.1800237d4
add ebx, eax
lea rcx, [0x18004bad8]
call fcn.1800237d4
lea rcx, str.8996
add ebx, eax
call fcn.1800237d4
lea rcx, str.6754
add ebx, eax
call fcn.1800237d4
lea ecx, [rax + rbx + 1]
mov dword [r14 + rcx*8 + 8], r13d
mov edi, dword [0x18009a500]
inc esi
add rbp, 8
mov eax, edi
sub eax, r12d
dec eax
cmp esi, eax
jb 0x180021443
lea eax, [rdi - 1]
inc r12d
cmp r12d, eax
jb 0x180021430
mov r15, qword [rsp + 0x20]
mov r14, qword [rsp + 0x28]
mov r13, qword [rsp + 0x30]
mov r12, qword [rsp + 0x38]
mov eax, 1
jmp 0x1800216bb
xor eax, eax
mov rsi, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x40]
add rsp, 0x48
ret