Function at 0x1800043d0
Capabilities:
Access peb ldr_data
Encode data using xor
Get ntdll base address
Resolve function by parsing pe exports

Disassembly:
push rsi
sub rsp, 0x40
cmp dword [0x18005aac0], 0
jne 0x18000465f
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 0x18000466a
nop dword [rax]
nop word [rax + rax]
mov rsi, rax
movsxd rax, dword [rax + 0x3c]
mov ecx, dword [rax + rsi + 0x88]
test ecx, ecx
je 0x180004449
lea rdx, [rsi + rcx]
mov ecx, dword [rsi + rcx + 0xc]
mov eax, dword [rcx + rsi]
or eax, 0x20202020
cmp eax, 0x6c64746e
jne 0x180004449
mov eax, dword [rcx + rsi + 4]
or eax, 0x20202020
cmp eax, 0x6c642e6c
je 0x180004455
mov r8, qword [r8]
mov rax, qword [r8 + 0x30]
test rax, rax
jne 0x180004410
test rdx, rdx
je 0x18000466a
mov qword [rsp + 0x58], rbx
mov qword [rsp + 0x60], rbp
mov ebp, dword [rdx + 0x18]
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x38], r12
mov r12d, dword [rdx + 0x24]
mov qword [rsp + 0x30], r13
add r12, rsi
mov qword [rsp + 0x28], r14
lea r13, [0x18005aac0]
mov r14d, dword [rdx + 0x20]
mov qword [rsp + 0x20], r15
add r14, rsi
mov r15d, dword [rdx + 0x1c]
mov edx, 0x775a
add r15, rsi
xor edi, edi
nop word [rax + rax]
lea eax, [rbp - 1]
mov r9d, dword [r14 + rax*4]
add r9, rsi
cmp word [r9], dx
jne 0x1800045a1
xor edx, edx
mov r8d, 0xf94a8a0e
mov rax, r9
nop
movzx eax, word [rax]
mov ecx, r8d
ror ecx, 8
inc edx
add ecx, eax
mov eax, edx
add rax, r9
xor r8d, ecx
cmp byte [rax], 0
jne 0x1800044d0
mov edx, edi
lea eax, [rbp - 1]
add rdx, rdx
mov word [rsp + 0x50], 0x50f
movzx r9d, word [rsp + 0x50]
mov r10b, 0xc3
mov dword [r13 + rdx*8 + 8], r8d
movzx eax, word [r12 + rax*2]
mov ecx, dword [r15 + rax*4]
mov dword [r13 + rdx*8 + 0xc], ecx
lea r8, [rsi + rcx]
cmp r9w, word [r8 + 0x12]
lea rbx, [r8 + 0x12]
jne 0x18000453b
cmp r10b, byte [rbx + 2]
jne 0x18000453b
mov rdx, rbx
lea rcx, str.Found_Syscall_Opcodes_at_address_0x_p_n
call fcn.1800042b0
jmp 0x180004588
mov ecx, 1
mov eax, ecx
shl eax, 5
mov edx, eax
lea rbx, [rax + 0x12]
add rbx, r8
cmp r9w, word [rbx]
jne 0x18000455a
cmp r10b, byte [rbx + 2]
je 0x18000452a
mov rbx, r8
sub rbx, rdx
add rbx, 0x12
cmp r9w, word [rbx]
jne 0x180004570
cmp r10b, byte [rbx + 2]
je 0x18000452a
inc ecx
cmp ecx, 0x200
jb 0x180004540
lea rcx, str.Syscall_Opcodes_not_found__n
call fcn.1800042b0
xor ebx, ebx
mov eax, edi
inc edi
add rax, rax
mov qword [r13 + rax*8 + 0x10], rbx
cmp edi, 0x258
je 0x1800045aa
mov edx, 0x775a
add ebp, 0xffffffff
jne 0x1800044b0
mov r15, qword [rsp + 0x20]
lea eax, [rdi - 1]
mov r14, qword [rsp + 0x28]
xor r11d, r11d
mov r12, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x60]
mov dword [0x18005aac0], edi
test eax, eax
je 0x180004650
mov eax, edi
xor ecx, ecx
sub eax, r11d
cmp eax, 1
je 0x180004645
nop
lea r10d, [rcx + 1]
mov r9d, ecx
add r9, r9
mov r8d, r10d
add r8, r8
mov esi, dword [r13 + r9*8 + 0xc]
mov ebx, dword [r13 + r8*8 + 0xc]
cmp esi, ebx
jbe 0x180004636
mov eax, dword [r13 + r8*8 + 8]
mov edx, dword [r13 + r9*8 + 8]
mov rcx, qword [r13 + r9*8 + 0x10]
mov dword [r13 + r9*8 + 8], eax
mov rax, qword [r13 + r8*8 + 0x10]
mov qword [r13 + r9*8 + 0x10], rax
mov dword [r13 + r9*8 + 0xc], ebx
mov dword [r13 + r8*8 + 8], edx
mov dword [r13 + r8*8 + 0xc], esi
mov qword [r13 + r8*8 + 0x10], rcx
mov edi, dword [0x18005aac0]
mov eax, edi
mov ecx, r10d
sub eax, r11d
dec eax
cmp r10d, eax
jb 0x1800045e0
inc r11d
lea eax, [rdi - 1]
cmp r11d, eax
jb 0x1800045d2
mov rdi, qword [rsp + 0x68]
mov rbx, qword [rsp + 0x58]
mov r13, qword [rsp + 0x30]
mov eax, 1
add rsp, 0x40
pop rsi
ret
xor eax, eax
add rsp, 0x40
pop rsi
ret