Function at 0x10002c20
Capabilities:
Access peb ldr_data
Get ntdll base address
Resolve function by parsing pe exports

Disassembly:
push rbx
push rbp
push rsi
push r12
push r13
push r14
push r15
sub rsp, 0x20
cmp dword [0x10100610], 0
je 0x10002c43
mov eax, 1
jmp 0x1000310a
mov rax, qword gs:[0x60]
xor edx, edx
mov rcx, qword [rax + 0x18]
mov r8, qword [rcx + 0x10]
mov rax, qword [r8 + 0x30]
test rax, rax
je 0x10003108
mov r9d, 0x20202020
mov rsi, rax
movsxd rax, dword [rax + 0x3c]
mov ecx, dword [rax + rsi + 0x88]
test ecx, ecx
je 0x10002c9d
lea rdx, [rsi + rcx]
mov ecx, dword [rdx + 0xc]
mov eax, dword [rcx + rsi]
or eax, r9d
cmp eax, 0x6c64746e
jne 0x10002c9d
mov eax, dword [rcx + rsi + 4]
or eax, r9d
cmp eax, 0x6c642e6c
je 0x10002ca9
mov r8, qword [r8]
mov rax, qword [r8 + 0x30]
test rax, rax
jne 0x10002c69
test rdx, rdx
je 0x10003108
mov r14d, dword [rdx + 0x1c]
mov r13d, dword [rdx + 0x20]
mov r15d, dword [rdx + 0x24]
mov r12d, dword [rdx + 0x18]
lea rax, [0x10100614]
add r14, rsi
add r13, rsi
add r15, rsi
xor ebp, ebp
mov qword [rsp + 0x60], rax
lea rcx, str.4015
call fcn.1002bb20
lea rcx, str.2853
mov ebx, r12d
sub ebx, eax
call fcn.1002bb20
lea rcx, str.2086
sub ebx, eax
call fcn.1002bb20
lea rcx, str.2744
sub ebx, eax
call fcn.1002bb20
lea rcx, str.1759
sub ebx, eax
call fcn.1002bb20
lea rcx, str.4510
sub ebx, eax
call fcn.1002bb20
lea rcx, str.2013
sub ebx, eax
call fcn.1002bb20
lea rcx, str.3199
sub ebx, eax
call fcn.1002bb20
lea rcx, str.2175
sub ebx, eax
call fcn.1002bb20
lea rcx, str.2189
sub ebx, eax
call fcn.1002bb20
lea rcx, str.1822
sub ebx, eax
call fcn.1002bb20
lea rcx, str.2224
sub ebx, eax
call fcn.1002bb20
lea rcx, str.4059
sub ebx, eax
call fcn.1002bb20
lea rcx, str.2940
sub ebx, eax
call fcn.1002bb20
lea rcx, str.2358
sub ebx, eax
call fcn.1002bb20
lea rcx, str.4129
sub ebx, eax
call fcn.1002bb20
lea rcx, str.1152
sub ebx, eax
add ebx, 0xffffffff
call fcn.1002bb20
lea rcx, str.3237
add ebx, eax
call fcn.1002bb20
lea rcx, str.2179
add ebx, eax
call fcn.1002bb20
lea rcx, str.4358
add ebx, eax
call fcn.1002bb20
lea rcx, str.3966
add ebx, eax
call fcn.1002bb20
lea rcx, str.3163
add ebx, eax
call fcn.1002bb20
lea rcx, str.4259
add ebx, eax
call fcn.1002bb20
lea rcx, str.2955
add ebx, eax
call fcn.1002bb20
lea rcx, str.1700
add ebx, eax
call fcn.1002bb20
lea rcx, str.2375
add ebx, eax
call fcn.1002bb20
lea rcx, str.2585
add ebx, eax
call fcn.1002bb20
lea rcx, str.3688
add ebx, eax
call fcn.1002bb20
lea rcx, str.4223
add ebx, eax
call fcn.1002bb20
lea rcx, str.2153
add ebx, eax
call fcn.1002bb20
lea rcx, str.3082
add ebx, eax
call fcn.1002bb20
add eax, ebx
mov ecx, dword [r13 + rax*4]
add rcx, rsi
cmp word [rcx], 0x775a
jne 0x1000308d
call fcn.10002868
mov rcx, qword [rsp + 0x60]
mov dword [rcx], eax
lea rcx, str.3082
call fcn.1002bb20
lea rcx, str.2153
mov ebx, r12d
sub ebx, eax
call fcn.1002bb20
lea rcx, str.4223
sub ebx, eax
call fcn.1002bb20
lea rcx, str.3688
sub ebx, eax
call fcn.1002bb20
lea rcx, str.2585
sub ebx, eax
call fcn.1002bb20
lea rcx, str.2375
sub ebx, eax
call fcn.1002bb20
lea rcx, str.1700
sub ebx, eax
call fcn.1002bb20
lea rcx, str.2955
sub ebx, eax
call fcn.1002bb20
lea rcx, str.4259
sub ebx, eax
call fcn.1002bb20
lea rcx, str.3163
sub ebx, eax
call fcn.1002bb20
lea rcx, str.3966
sub ebx, eax
call fcn.1002bb20
lea rcx, str.4358
sub ebx, eax
call fcn.1002bb20
lea rcx, str.2179
sub ebx, eax
call fcn.1002bb20
lea rcx, str.3237
sub ebx, eax
call fcn.1002bb20
lea rcx, str.1152
sub ebx, eax
call fcn.1002bb20
lea rcx, str.4129
sub ebx, eax
add ebx, 0xffffffff
call fcn.1002bb20
lea rcx, str.2358
add ebx, eax
call fcn.1002bb20
lea rcx, str.2940
add ebx, eax
call fcn.1002bb20
lea rcx, str.4059
add ebx, eax
call fcn.1002bb20
lea rcx, str.2224
add ebx, eax
call fcn.1002bb20
lea rcx, str.1822
add ebx, eax
call fcn.1002bb20
lea rcx, str.2189
add ebx, eax
call fcn.1002bb20
lea rcx, str.2175
add ebx, eax
call fcn.1002bb20
lea rcx, str.3199
add ebx, eax
call fcn.1002bb20
lea rcx, str.2013
add ebx, eax
call fcn.1002bb20
lea rcx, str.4510
add ebx, eax
call fcn.1002bb20
lea rcx, str.1759
add ebx, eax
call fcn.1002bb20
lea rcx, str.2744
add ebx, eax
call fcn.1002bb20
lea rcx, str.2086
add ebx, eax
call fcn.1002bb20
lea rcx, str.2853
add ebx, eax
call fcn.1002bb20
lea rcx, str.4015
add ebx, eax
call fcn.1002bb20
add ebp, 1
add eax, ebx
movzx ecx, word [r15 + rax*2]
mov eax, dword [r14 + rcx*4]
mov rcx, qword [rsp + 0x60]
add rcx, 8
cmp ebp, 0x1f4
mov dword [rcx - 4], eax
mov qword [rsp + 0x60], rcx
je 0x10003097
add r12d, 0xffffffff
jne 0x10002cd9
lea eax, [rbp - 1]
xor r8d, r8d
mov dword [0x10100610], ebp
test eax, eax
je 0x10002c39
mov eax, ebp
xor r9d, r9d
sub eax, r8d
cmp eax, 1
je 0x100030f7
lea rdx, [0x10100618]
mov ebx, dword [rdx]
mov r11d, dword [rdx + 8]
cmp ebx, r11d
jbe 0x100030e2
mov ecx, dword [rdx - 4]
mov eax, dword [rdx + 4]
mov dword [rdx], r11d
mov dword [rdx - 4], eax
mov dword [rdx + 4], ecx
mov dword [rdx + 8], ebx
mov ebp, dword [0x10100610]
mov eax, ebp
add r9d, 1
add rdx, 8
sub eax, r8d
sub eax, 1
cmp r9d, eax
jb 0x100030bf
lea eax, [rbp - 1]
add r8d, 1
cmp r8d, eax
jb 0x100030ab
jmp 0x10002c39
xor eax, eax
add rsp, 0x20
pop r15
pop r14
pop r13
pop r12
pop rsi
pop rbp
pop rbx
ret