Function at 0x180036960
Capabilities:
Access peb ldr_data
Get process filename
Populate syswhispers2 syscall list
Resolve function by parsing pe exports

Disassembly:
push rbx
push rdi
sub rsp, 0xc8
cmp dword [0x18019d570], 0
je 0x18003697d
mov eax, 1
jmp 0x180036f95
mov rax, qword gs:[0x60]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x18]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x48], 0
lea rcx, str.2047
call fcn.180037ac4
mov ebx, eax
lea rcx, str.1210
call fcn.180037ac4
add ebx, eax
lea rcx, str.1528
call fcn.180037ac4
sub ebx, eax
lea rcx, str.2140
call fcn.180037ac4
add ebx, eax
lea rcx, [0x1800d4460]
call fcn.180037ac4
add ebx, eax
lea rcx, [0x1800d4458]
call fcn.180037ac4
add ebx, eax
lea rcx, str.3742
call fcn.180037ac4
sub ebx, eax
lea rcx, str.1907
call fcn.180037ac4
sub ebx, eax
lea rcx, str.3701
call fcn.180037ac4
sub ebx, eax
lea rcx, str.3656
call fcn.180037ac4
add ebx, eax
lea rcx, str.1841
call fcn.180037ac4
add ebx, eax
lea rcx, [0x1800d4400]
call fcn.180037ac4
add ebx, eax
lea rcx, [0x1800d43f8]
call fcn.180037ac4
sub ebx, eax
lea rcx, [0x1800d43f0]
call fcn.180037ac4
mov r11d, eax
mov eax, ebx
sub eax, r11d
add eax, 1
movsxd rcx, eax
mov rax, qword [rsp + 0x28]
mov rax, qword [rax + rcx*8 + 8]
mov qword [rsp + 0x20], rax
jmp 0x180036a99
mov rax, qword [rsp + 0x20]
mov rax, qword [rax]
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
cmp qword [rax + 0x30], 0
je 0x180036b75
mov rax, qword [rsp + 0x20]
mov rax, qword [rax + 0x30]
mov qword [rsp + 0x48], rax
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x98], rax
mov rax, qword [rsp + 0x98]
movsxd rcx, dword [rax + 0x3c]
mov rax, qword [rsp + 0x48]
add rax, rcx
mov qword [rsp + 0x78], rax
mov rax, qword [rsp + 0x78]
add rax, 0x88
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x90]
mov eax, dword [rax]
mov dword [rsp + 0x80], eax
cmp dword [rsp + 0x80], 0
jne 0x180036b10
jmp 0x180036a8c
mov ecx, dword [rsp + 0x80]
mov rax, qword [rsp + 0x48]
add rax, rcx
mov qword [rsp + 0x68], rax
mov rax, qword [rsp + 0x68]
mov ecx, dword [rax + 0xc]
mov rax, qword [rsp + 0x48]
add rax, rcx
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x88]
mov eax, dword [rax]
or eax, 0x20202020
cmp eax, 0x6c64746e
je 0x180036b57
jmp 0x180036a8c
mov rax, qword [rsp + 0x88]
mov eax, dword [rax + 4]
or eax, 0x20202020
cmp eax, 0x6c642e6c
jne 0x180036b70
jmp 0x180036b75
jmp 0x180036a8c
cmp qword [rsp + 0x68], 0
jne 0x180036b84
xor eax, eax
jmp 0x180036f95
mov rax, qword [rsp + 0x68]
mov eax, dword [rax + 0x18]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x68]
mov ecx, dword [rax + 0x1c]
mov rax, qword [rsp + 0x48]
add rax, rcx
mov qword [rsp + 0x70], rax
mov rax, qword [rsp + 0x68]
mov ecx, dword [rax + 0x20]
mov rax, qword [rsp + 0x48]
add rax, rcx
mov qword [rsp + 0x60], rax
mov rax, qword [rsp + 0x68]
mov ecx, dword [rax + 0x24]
mov rax, qword [rsp + 0x48]
add rax, rcx
mov qword [rsp + 0x38], rax
mov dword [rsp + 0x30], 0
lea rax, [0x18019d574]
mov qword [rsp + 0x58], rax
lea rcx, [0x1800d43e8]
call fcn.180037ac4
mov ebx, eax
lea rcx, [0x1800d43e0]
call fcn.180037ac4
add ebx, eax
lea rcx, str.2632
call fcn.180037ac4
add ebx, eax
lea rcx, str.4038
call fcn.180037ac4
add ebx, eax
lea rcx, str.2122
call fcn.180037ac4
add ebx, eax
lea rcx, str.2856
call fcn.180037ac4
sub ebx, eax
lea rcx, str.7833
call fcn.180037ac4
mov ecx, ebx
sub ecx, eax
mov eax, dword [rsp + 0x40]
lea eax, [rax + rcx - 1]
mov ecx, eax
mov rax, qword [rsp + 0x60]
mov ecx, dword [rax + rcx*4]
mov rax, qword [rsp + 0x48]
add rax, rcx
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0xa0]
movzx eax, word [rax]
cmp eax, 0x775a
jne 0x180036cd8
mov rcx, qword [rsp + 0xa0]
call fcn.1800367e0
mov r11d, eax
mov ecx, dword [rsp + 0x30]
mov rax, qword [rsp + 0x58]
mov dword [rax + rcx*8], r11d
mov eax, dword [rsp + 0x40]
sub eax, 1
mov ecx, eax
mov rax, qword [rsp + 0x38]
movzx r8d, word [rax + rcx*2]
mov edx, dword [rsp + 0x30]
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x70]
mov eax, dword [rax + r8*4]
mov dword [rcx + rdx*8 + 4], eax
mov eax, dword [rsp + 0x30]
add eax, 1
mov dword [rsp + 0x30], eax
cmp dword [rsp + 0x30], 0x1f4
jne 0x180036cd8
jmp 0x180036cee
mov eax, dword [rsp + 0x40]
sub eax, 1
mov dword [rsp + 0x40], eax
cmp dword [rsp + 0x40], 0
jne 0x180036be3
mov eax, dword [rsp + 0x30]
mov dword [0x18019d570], eax
mov dword [rsp + 0x30], 0
jmp 0x180036d0d
mov eax, dword [rsp + 0x30]
add eax, 1
mov dword [rsp + 0x30], eax
mov eax, dword [0x18019d570]
sub eax, 1
cmp dword [rsp + 0x30], eax
jae 0x180036f90
mov dword [rsp + 0xa8], 0
jmp 0x180036d3e
mov eax, dword [rsp + 0xa8]
add eax, 1
mov dword [rsp + 0xa8], eax
mov ecx, dword [rsp + 0x30]
mov eax, dword [0x18019d570]
sub eax, ecx
sub eax, 1
cmp dword [rsp + 0xa8], eax
jae 0x180036f8b
mov edi, dword [rsp + 0xa8]
lea rcx, [0x1800d4388]
call fcn.180037ac4
mov ebx, eax
lea rcx, [0x1800d4380]
call fcn.180037ac4
sub ebx, eax
lea rcx, [0x1800d4378]
call fcn.180037ac4
add ebx, eax
lea rcx, [0x1800d4370]
call fcn.180037ac4
sub ebx, eax
lea rcx, [0x1800d4368]
call fcn.180037ac4
add ebx, eax
lea rcx, [0x1800d4360]
call fcn.180037ac4
mov ecx, ebx
sub ecx, eax
mov eax, dword [rsp + 0xa8]
lea eax, [rax + rcx + 1]
mov edx, eax
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + rdx*8 + 4]
cmp dword [rcx + rdi*8 + 4], eax
jbe 0x180036f86
mov ecx, dword [rsp + 0xa8]
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + rcx*8]
mov dword [rsp + 0xb0], eax
mov ecx, dword [rsp + 0xa8]
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + rcx*8 + 4]
mov dword [rsp + 0xb4], eax
mov edi, dword [rsp + 0xa8]
add edi, 1
lea rcx, str.2673
call fcn.180037ac4
mov ebx, eax
lea rcx, str.1647
call fcn.180037ac4
add ebx, eax
lea rcx, str.1779
call fcn.180037ac4
add ebx, eax
lea rcx, str.1490
call fcn.180037ac4
add ebx, eax
lea rcx, str.1120
call fcn.180037ac4
add ebx, eax
lea rcx, str.1387
call fcn.180037ac4
add ebx, eax
lea rcx, str.2136
call fcn.180037ac4
add ebx, eax
lea rcx, str.1688
call fcn.180037ac4
add ebx, eax
lea rcx, str.13920
call fcn.180037ac4
mov ecx, ebx
sub ecx, eax
mov eax, edi
sub eax, ecx
mov r8d, eax
mov edx, dword [rsp + 0xa8]
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + r8*8]
mov dword [rcx + rdx*8], eax
mov eax, dword [rsp + 0xa8]
add eax, 1
mov r8d, eax
mov edx, dword [rsp + 0xa8]
mov rcx, qword [rsp + 0x58]
mov rax, qword [rsp + 0x58]
mov eax, dword [rax + r8*8 + 4]
mov dword [rcx + rdx*8 + 4], eax
mov edi, dword [rsp + 0xa8]
add edi, 1
lea rcx, str.2401
call fcn.180037ac4
mov ebx, eax
lea rcx, [0x1800d42b8]
call fcn.180037ac4
add ebx, eax
lea rcx, str.2765
call fcn.180037ac4
add ebx, eax
lea rcx, [0x1800d42a0]
call fcn.180037ac4
sub ebx, eax
lea rcx, str.1943
call fcn.180037ac4
add ebx, eax
lea rcx, str.1994
call fcn.180037ac4
add ebx, eax
lea rcx, str.1855
call fcn.180037ac4
add ebx, eax
lea rcx, str.11092
call fcn.180037ac4
mov ecx, ebx
sub ecx, eax
mov eax, edi
sub eax, ecx
mov edx, eax
mov rcx, qword [rsp + 0x58]
mov eax, dword [rsp + 0xb0]
mov dword [rcx + rdx*8], eax
mov eax, dword [rsp + 0xa8]
add eax, 1
mov edx, eax
mov rcx, qword [rsp + 0x58]
mov eax, dword [rsp + 0xb4]
mov dword [rcx + rdx*8 + 4], eax
jmp 0x180036d2d
jmp 0x180036d02
mov eax, 1
add rsp, 0xc8
pop rdi
pop rbx
ret