Function at 0x180043758
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 byte [rsp + 0x18], r8b
mov qword [rsp + 0x10], rdx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
xor r15d, r15d
xor r13d, r13d
xor r9b, r9b
mov qword [rsp + 0x38], r15
xor ebx, ebx
xor ebp, ebp
xor esi, esi
mov r12b, r8b
mov r14, rdx
mov rdi, rcx
cmp qword [rdx + 0x10], rbx
jbe 0x180043d99
lea r10, [0x1800b1e40]
cmp qword [r14 + 0x18], 0x10
mov rcx, r14
jb 0x1800437b1
mov rcx, qword [r14]
movzx eax, byte [rcx + r15]
movzx edx, byte [rcx + r15]
movzx r8d, byte [rax + r10]
test r9b, r9b
je 0x1800437d6
mov eax, r13d
and edx, 0x3f
shl eax, 6
mov r13d, edx
or r13d, eax
jmp 0x1800437e5
mov cl, r8b
mov r13d, 0xff
shr r13d, cl
and r13d, edx
movzx ecx, r9b
shl rcx, 4
add rcx, r8
mov dword [rsp + 0x30], r13d
movzx r9d, byte [rcx + r10 + 0x100]
mov byte [rsp + 0x98], r9b
test r9b, r9b
je 0x180043998
cmp r9d, 1
je 0x18004383a
test r12b, r12b
jne 0x180043832
cmp qword [r14 + 0x18], 0x10
mov rax, r14
jb 0x180043827
mov rax, qword [r14]
mov al, byte [rax + r15]
mov byte [rbx + rdi + 0x5a], al
inc rbx
inc rsi
jmp 0x180043c61
mov edx, dword [rdi + 0x280]
mov ecx, edx
test edx, edx
je 0x18004385d
sub ecx, 1
je 0x18004391f
cmp ecx, 1
je 0x18004391f
jmp 0x180043c61
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r8, qword [rax + 0x30]
movsxd rcx, dword [r8 + 0x3c]
mov r10d, dword [rcx + r8 + 0x88]
add r10, r8
cmp r10, r8
je 0x1800438e4
mov r11d, dword [r10 + 0x18]
test r11d, r11d
je 0x1800438e4
mov r12d, dword [r10 + 0x20]
dec r11d
mov r14d, 0x53e3a307
lea rcx, [r8 + r11*4]
mov r9d, dword [rcx + r12]
add r9, r8
mov bl, byte [r9]
inc r9
test bl, bl
je 0x1800438df
movsx ecx, bl
sub bl, 0x41
mov edx, ecx
or edx, 0x20
cmp bl, 0x19
mov bl, byte [r9]
cmova edx, ecx
inc r9
xor edx, r14d
imul r14d, edx, 0x1000193
test bl, bl
jne 0x1800438b1
cmp r14d, 0x9faa937b
je 0x1800438e9
test r11d, r11d
jne 0x180043893
mov rax, qword [rax]
jmp 0x18004386e
mov ecx, dword [r10 + 0x24]
add rcx, r8
movzx edx, word [rcx + r11*2]
mov ecx, dword [r10 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
add rax, r8
call rax
mov edx, dword [rdi + 0x280]
mov r14, qword [rsp + 0x88]
mov r15, qword [rsp + 0x38]
mov r12b, byte [rsp + 0x90]
test rsi, rsi
lea rax, [r15 - 1]
mov rbx, rbp
cmove rax, r15
mov r15, rax
cmp edx, 1
jne 0x18004398e
lea rbx, [rbp + 1]
test r12b, r12b
je 0x180043956
mov byte [rdi + rbp + 0x5a], 0x5c
mov dword [rbx + rdi + 0x5a], 0x66666675
add rbx, 4
mov byte [rbx + rdi + 0x5a], 0x64
jmp 0x180043968
mov byte [rdi + rbp + 0x5a], 0xef
mov byte [rbx + rdi + 0x5a], 0xbf
inc rbx
mov byte [rbx + rdi + 0x5a], 0xbd
inc rbx
mov eax, 0x200
sub rax, rbx
cmp rax, 0xd
jae 0x18004398b
mov rcx, qword [rdi]
lea rdx, [rdi + 0x5a]
mov r8, rbx
mov rax, qword [rcx]
call qword [rax + 8]
xor ebx, ebx
mov rbp, rbx
xor esi, esi
xor r9b, r9b
jmp 0x180043c5a
mov eax, r13d
sub eax, 8
je 0x180043c22
sub eax, 1
je 0x180043c19
sub eax, 1
je 0x180043c10
sub eax, 2
je 0x180043c07
sub eax, 1
je 0x180043bfe
sub eax, 0x15
je 0x180043bf5
cmp eax, 0x3a
je 0x180043bec
cmp r13d, 0x1f
jbe 0x180043a08
test r12b, r12b
je 0x1800439eb
cmp r13d, 0x7f
jae 0x180043a08
cmp qword [r14 + 0x18], 0x10
mov rax, r14
jb 0x1800439f8
mov rax, qword [r14]
mov al, byte [rax + r15]
mov byte [rbx + rdi + 0x5a], al
inc rbx
jmp 0x180043c2d
mov rax, qword gs:[0x60]
lea r12, [rdi + 0x5a]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
cmp r13d, 0xffff
ja 0x180043ae0
mov r9, qword [rax + 0x30]
movsxd rcx, dword [r9 + 0x3c]
mov r11d, dword [rcx + r9 + 0x88]
add r11, r9
cmp r11, r9
je 0x180043aa1
mov r10d, dword [r11 + 0x18]
test r10d, r10d
je 0x180043aa1
mov r15d, dword [r11 + 0x20]
dec r10d
mov ebp, 0x26ee0b8a
lea rcx, [r15 + r10*4]
mov r8d, dword [rcx + r9]
add r8, r9
mov sil, byte [r8]
inc r8
test sil, sil
je 0x180043a9c
movsx ecx, sil
sub sil, 0x41
mov edx, ecx
or edx, 0x20
cmp sil, 0x19
mov sil, byte [r8]
cmova edx, ecx
inc r8
xor edx, ebp
imul ebp, edx, 0x1000193
test sil, sil
jne 0x180043a6d
cmp ebp, 0x50086e10
je 0x180043aa6
test r10d, r10d
jne 0x180043a4f
mov rax, qword [rax]
jmp 0x180043a2a
mov edx, dword [r11 + 0x24]
lea rcx, [r12 + rbx]
add rdx, r9
movzx r8d, word [rdx + r10*2]
mov edx, dword [r11 + 0x1c]
add rdx, r9
mov eax, dword [rdx + r8*4]
lea r8, str.u_04x
add rax, r9
mov edx, 7
movzx r9d, r13w
call rax
mov eax, 6
jmp 0x180043bd2
mov ecx, 0x3ff
movzx r14d, r13w
and r14w, cx
mov r15d, r13d
mov ecx, 0x2400
shr r15d, 0xa
sub r14w, cx
mov ecx, 0x2840
sub r15w, cx
mov r8, qword [rax + 0x30]
movsxd rcx, dword [r8 + 0x3c]
mov r11d, dword [rcx + r8 + 0x88]
add r11, r8
cmp r11, r8
je 0x180043b84
mov r10d, dword [r11 + 0x18]
test r10d, r10d
je 0x180043b84
mov r13d, dword [r11 + 0x20]
dec r10d
mov ebp, 0xa2b07f19
lea rcx, [r10*4]
add rcx, r13
mov r9d, dword [rcx + r8]
add r9, r8
mov sil, byte [r9]
inc r9
test sil, sil
je 0x180043b7f
movsx ecx, sil
sub sil, 0x41
mov edx, ecx
or edx, 0x20
cmp sil, 0x19
mov sil, byte [r9]
cmova edx, ecx
inc r9
xor edx, ebp
imul ebp, edx, 0x1000193
test sil, sil
jne 0x180043b50
cmp ebp, 0x6a36e983
je 0x180043b8c
test r10d, r10d
jne 0x180043b2b
mov rax, qword [rax]
jmp 0x180043b06
mov ecx, dword [r11 + 0x24]
add rcx, r8
movzx eax, r14w
movzx r9d, r15w
mov dword [rsp + 0x20], eax
movzx edx, word [rcx + r10*2]
mov ecx, dword [r11 + 0x1c]
add rcx, r8
mov r10d, dword [rcx + rdx*4]
lea rcx, [rdi + 0x5a]
add r10, r8
add rcx, rbx
lea r8, str.u_04xu_04x
mov edx, 0xd
call r10
mov r13d, dword [rsp + 0x30]
mov eax, 0xc
mov r14, qword [rsp + 0x88]
add rbx, rax
mov r15, qword [rsp + 0x38]
mov r12b, byte [rsp + 0x90]
jmp 0x180043c2d
mov word [rbx + rdi + 0x5a], 0x5c5c
jmp 0x180043c29
mov word [rbx + rdi + 0x5a], 0x225c
jmp 0x180043c29
mov word [rbx + rdi + 0x5a], 0x725c
jmp 0x180043c29
mov word [rbx + rdi + 0x5a], 0x665c
jmp 0x180043c29
mov word [rbx + rdi + 0x5a], 0x6e5c
jmp 0x180043c29
mov word [rbx + rdi + 0x5a], 0x745c
jmp 0x180043c29
mov word [rbx + rdi + 0x5a], 0x625c
add rbx, 2
mov eax, 0x200
sub rax, rbx
cmp rax, 0xd
jae 0x180043c4d
mov rcx, qword [rdi]
lea rdx, [rdi + 0x5a]
mov r8, rbx
mov rax, qword [rcx]
call qword [rax + 8]
xor ebx, ebx
mov r9b, byte [rsp + 0x98]
mov rbp, rbx
xor esi, esi
lea r10, [0x1800b1e40]
inc r15
mov qword [rsp + 0x38], r15
cmp r15, qword [r14 + 0x10]
jb 0x1800437a4
test r9b, r9b
jne 0x180043c89
test rbx, rbx
je 0x180043d99
mov r8, rbx
jmp 0x180043d8c
mov ecx, dword [rdi + 0x280]
test ecx, ecx
je 0x180043ce5
sub ecx, 1
je 0x180043ca6
cmp ecx, 1
je 0x180043d89
jmp 0x180043d99
mov rcx, qword [rdi]
lea rdx, [rdi + 0x5a]
mov r8, rbp
mov rax, qword [rcx]
call qword [rax + 8]
mov rcx, qword [rdi]
mov rax, qword [rcx]
test r12b, r12b
je 0x180043cd3
mov r8d, 6
lea rdx, str.ufffd
jmp 0x180043d96
mov r8d, 3
lea rdx, [0x1800b1e38]
jmp 0x180043d96
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r8, qword [rax + 0x30]
movsxd rcx, dword [r8 + 0x3c]
mov r10d, dword [rcx + r8 + 0x88]
add r10, r8
cmp r10, r8
je 0x180043d6a
mov ebx, dword [r10 + 0x18]
test ebx, ebx
je 0x180043d6a
mov r15d, dword [r10 + 0x20]
dec ebx
mov esi, 0x1422c6e8
lea rcx, [r15 + rbx*4]
mov r9d, dword [rcx + r8]
add r9, r8
mov r11b, byte [r9]
inc r9
test r11b, r11b
je 0x180043d66
movsx ecx, r11b
sub r11b, 0x41
mov edx, ecx
or edx, 0x20
cmp r11b, 0x19
mov r11b, byte [r9]
cmova edx, ecx
inc r9
xor edx, esi
imul esi, edx, 0x1000193
test r11b, r11b
jne 0x180043d37
cmp esi, 0x4b274caa
je 0x180043d6f
test ebx, ebx
jne 0x180043d1a
mov rax, qword [rax]
jmp 0x180043cf6
mov ecx, dword [r10 + 0x24]
add rcx, r8
movzx edx, word [rcx + rbx*2]
mov ecx, dword [r10 + 0x1c]
add rcx, r8
mov eax, dword [rcx + rdx*4]
add rax, r8
call rax
mov r8, rbp
mov rcx, qword [rdi]
lea rdx, [rdi + 0x5a]
mov rax, qword [rcx]
call qword [rax + 8]
mov rbx, qword [rsp + 0x80]
add rsp, 0x40
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret