Function at 0x1400281a0
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using djb2
Hash data using fnv
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push rbx
push rdi
push r15
sub rsp, 0x20
mov edi, ecx
mov ecx, 0xf2fa80f0
call fcn.140028d90
mov r15, rax
test rax, rax
jne 0x140028282
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 0x140028257
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140028257
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xe25df2f
lea rcx, [rdi + r9*4]
mov ecx, dword [rcx + r10]
add rcx, r10
movzx edx, byte [rcx]
inc rcx
test dl, dl
je 0x140028252
nop
movsx edx, dl
lea rcx, [rcx + 1]
xor edx, r8d
imul r8d, edx, 0x1000193
movzx edx, byte [rcx - 1]
test dl, dl
jne 0x140028230
cmp r8d, 0xf2d2b318
je 0x14002825c
test r9d, r9d
jne 0x140028210
mov rax, qword [rax]
jmp 0x1400281e0
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
xor eax, eax
add rsp, 0x20
pop r15
pop rdi
pop rbx
ret
mov eax, 0x5a4d
cmp word [r15], ax
je 0x140028353
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 0x140028327
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140028327
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xd1475193
lea rcx, [rdi + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140028322
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x140028300
cmp r8d, 0x709f3f24
je 0x14002832c
test r9d, r9d
jne 0x1400282e0
mov rax, qword [rax]
jmp 0x1400282b0
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 rcx, r15
add rax, r10
call rax
xor eax, eax
add rsp, 0x20
pop r15
pop rdi
pop rbx
ret
movsxd rax, dword [r15 + 0x3c]
add rax, r15
je 0x1400286e4
cmp dword [rax], 0x4550
jne 0x1400286e4
mov eax, dword [rax + 0x88]
lea rcx, [rax + r15]
test rax, rax
jne 0x140028410
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov ebx, dword [rcx + r10 + 0x88]
add rbx, r10
cmp rbx, r10
je 0x14002840b
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14002840b
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xd1e38246
lea rcx, [rdi + r9*4]
mov edx, dword [rcx + r10]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140028406
nop
movsx ecx, cl
lea rdx, [rdx + 1]
xor ecx, r8d
imul r8d, ecx, 0x1000193
movzx ecx, byte [rdx - 1]
test cl, cl
jne 0x1400283e0
cmp r8d, 0xd448366f
je 0x14002832c
test r9d, r9d
jne 0x1400283c0
mov rax, qword [rax]
jmp 0x140028390
mov r8d, dword [rcx + 0x20]
xor ebx, ebx
mov r9d, dword [rcx + 0x18]
add r8, r15
mov qword [rsp + 0x40], rbp
mov ebp, dword [rcx + 0x24]
mov qword [rsp + 0x50], rsi
add rbp, r15
mov esi, dword [rcx + 0x1c]
add rsi, r15
test r9, r9
je 0x140028481
nop dword [rax + rax]
mov eax, dword [r8 + rbx*4]
add rax, r15
jne 0x14002844d
xor ecx, ecx
jmp 0x140028471
movsx edx, byte [rax]
mov ecx, 0x1505
inc rax
test edx, edx
je 0x140028471
nop dword [rax]
imul ecx, ecx, 0x21
lea rax, [rax + 1]
add ecx, edx
movsx edx, byte [rax - 1]
test edx, edx
jne 0x140028460
cmp ecx, edi
je 0x140028520
inc rbx
cmp rbx, r9
jb 0x140028440
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 0x14002851b
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14002851b
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x7405eab
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rdi]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140028516
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 0x1400284f0
cmp r8d, 0x7aaff7c
je 0x1400286c1
test r9d, r9d
jne 0x1400284d0
mov rax, qword [rax]
jmp 0x1400284a0
mov ecx, 0xf2fa80f0
mov qword [rsp + 0x58], r14
call fcn.140028780
mov r14, rax
test rax, rax
jne 0x140028602
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 0x1400285c7
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x1400285c7
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0x86ac3712
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rdi]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x1400285c2
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 0x1400285a0
cmp r8d, 0x4d0b75e3
je 0x1400285cc
test r9d, r9d
jne 0x140028580
mov rax, qword [rax]
jmp 0x140028550
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 rcx, r15
add rax, r10
call rax
xor eax, eax
mov r14, qword [rsp + 0x58]
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x50]
add rsp, 0x20
pop r15
pop rdi
pop rbx
ret
movzx eax, word [rbp + rbx*2]
mov esi, dword [rsi + rax*4]
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 0x140028697
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140028697
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xc541ed68
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rdi]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140028692
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 0x140028670
cmp r8d, 0x277b96a9
je 0x14002869c
test r9d, r9d
jne 0x140028650
mov rax, qword [rax]
jmp 0x140028620
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 rcx, r15
add rax, r10
call rax
lea rax, [r14 + rsi]
jmp 0x1400285ea
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 rcx, r15
add rax, r10
call rax
xor eax, eax
jmp 0x1400285ef
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 0x14002877b
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x14002877b
mov edi, dword [rbx + 0x20]
nop dword [rax]
nop dword [rax + rax]
dec r9d
mov r8d, 0xfa24688e
lea rcx, [r10 + r9*4]
mov edx, dword [rcx + rdi]
add rdx, r10
movzx ecx, byte [rdx]
inc rdx
test cl, cl
je 0x140028776
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 0x140028750
cmp r8d, 0x991f2057
je 0x14002832c
test r9d, r9d
jne 0x140028730
mov rax, qword [rax]
jmp 0x140028700