Function at 0x140055880
Capabilities:
Access peb ldr_data
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, 0x20
mov ecx, dword [0x140850a58]
xor ebp, ebp
mov edx, dword [0x140850e00]
mov eax, ebp
movzx r8d, byte [0x140850e04]
movzx r9d, byte [0x140850df8]
movzx r10d, byte [0x140850e0c]
movzx r11d, byte [0x140850df0]
mov ebx, dword [0x140850df4]
mov edi, dword [0x140850de0]
mov esi, dword [0x140850e08]
cmp ecx, 6
jne 0x140055bb0
cmp edx, 0xd92
jne 0x140055b10
inc ebp
test r8b, r8b
je 0x140055a70
inc ebp
test r9b, r9b
je 0x1400559d0
test r10b, r10b
je 0x1400559d0
test r11b, r11b
je 0x1400559d0
inc ebp
cmp ebx, 0xd1
jne 0x140055937
cmp edi, 0x95
jne 0x140055937
cmp esi, 0x7d
jne 0x140055937
inc ebp
inc eax
cmp eax, ecx
jl 0x1400558d6
jmp 0x140055c6a
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 0x1400559cb
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x1400559cb
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 0x1400559c6
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1400559a0
cmp r8d, 0xcded1a85
je 0x140055c4c
test r9d, r9d
jne 0x140055980
mov rax, qword [rax]
jmp 0x140055950
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 0x140055a6b
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140055a6b
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 0x140055a66
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x140055a40
cmp r8d, 0xcded1a85
je 0x140055c4c
test r9d, r9d
jne 0x140055a20
mov rax, qword [rax]
jmp 0x1400559f0
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 0x140055b0b
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140055b0b
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 0x140055b06
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x140055ae0
cmp r8d, 0xcded1a85
je 0x140055c4c
test r9d, r9d
jne 0x140055ac0
mov rax, qword [rax]
jmp 0x140055a90
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 0x140055bab
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140055bab
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 0x140055ba6
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x140055b80
cmp r8d, 0xcded1a85
je 0x140055c4c
test r9d, r9d
jne 0x140055b60
mov rax, qword [rax]
jmp 0x140055b30
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 0x140055c47
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140055c47
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 0x140055c42
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x140055c20
cmp r8d, 0xcded1a85
je 0x140055c4c
test r9d, r9d
jne 0x140055c00
mov rax, qword [rax]
jmp 0x140055bd0
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]
mov ecx, 2
add rax, r10
call rax
cmp ebp, 0x18
je 0x140055d2b
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
nop dword [rax]
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 0x140055d07
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140055d07
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x811c9dc5
lea rcx, [rdi + r9*4]
mov ecx, dword [rcx + r10]
add rcx, r10
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x140055d02
nop
movsx edx, dl
lea rcx, [rcx + 1]
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx - 1]
test dl, dl
jne 0x140055ce0
cmp r8d, 0xcded1a85
je 0x140055d0c
test r9d, r9d
jne 0x140055cc0
mov rax, qword [rax]
jmp 0x140055c90
mov edx, dword [rbx + 0x24]
mov ecx, 2
add rdx, r10
movzx r8d, word [rdx + r9*2]
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov eax, dword [rdx + r8*4]
add rax, r10
call rax
mov rbx, qword [rsp + 0x30]
mov al, 1
mov rbp, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x40]
add rsp, 0x20
pop rdi
ret