Function at 0x140228f9c
Capabilities:
Access peb ldr_data
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x60
xor ebx, ebx
mov edi, 0xc772a28e
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov r13d, 0x4764996c
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test ebx, ebx
je 0x140229028
psrldq xmm0, 8
movq r8, xmm0
movzx ecx, cx
shr rcx, 1
lea r10, [r8 + rcx*2]
mov r9d, 0xb0443412
jmp 0x14022901a
movsx edx, byte [r8]
mov ecx, edx
imul ecx, edx
add ecx, 0x31
xor ecx, r13d
xor edx, r9d
mov r9d, ecx
imul r9d, edx
add r8, 2
cmp r8, r10
jne 0x140228ffd
cmp r9d, ebx
jne 0x140229124
mov r9, qword [rax + 0x30]
movsxd rcx, dword [r9 + 0x3c]
mov rcx, qword [rcx + r9 + 0x88]
mov r11d, ecx
add r11, r9
shr rcx, 0x20
cmp r11, r9
je 0x140229124
mov esi, dword [r11 + 0x18]
test esi, esi
je 0x140229124
mov r12d, dword [r11 + 0x20]
dec esi
lea rdx, [r12 + rsi*4]
mov r10d, dword [rdx + r9]
add r10, r9
mov r14d, 0xb0443412
jmp 0x14022908b
movsx r8d, dl
mov edx, r8d
imul edx, r8d
add edx, 0x31
xor edx, r13d
xor r8d, r14d
mov r14d, edx
imul r14d, r8d
mov dl, byte [r10]
inc r10
test dl, dl
jne 0x140229070
cmp r14d, edi
je 0x1402290a3
test esi, esi
jne 0x14022905b
jmp 0x140229124
mov edx, dword [r11 + 0x1c]
add rdx, r9
mov eax, dword [r11 + 0x24]
add rax, r9
movzx eax, word [rax + rsi*2]
mov r8d, dword [rdx + rax*4]
add r8, r9
cmp r8, r11
jbe 0x14022912c
lea rax, [rcx + r11]
cmp r8, rax
jae 0x14022912c
mov ebx, 0xb0443412
mov edi, ebx
jmp 0x1402290eb
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r13d
xor ecx, ebx
mov ebx, eax
imul ebx, ecx
inc r8
mov al, byte [r8]
cmp al, 0x2e
jne 0x1402290d3
jmp 0x140229109
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, r13d
xor ecx, edi
mov edi, eax
imul edi, ecx
inc r8
mov al, byte [r8]
test al, al
jne 0x1402290f4
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x140228fd1
and dword [rbp + 0x48], 0
mov dword [rbp + 0x48], 0xbebd4ad6
mov eax, 0x3ce90b23
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
xor eax, 0xbf5c1a2b
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0xa780ba2e
add eax, ecx
xor eax, 0x53e1abce
sub eax, 0x11e24df9
xor eax, 0x39e64246
lea edx, [rcx - 0x2c951015]
add edx, eax
not edx
mov eax, dword [0x14035f038]
xor eax, 0xc33c082a
sub edx, eax
mov ecx, dword [0x14035f030]
xor ecx, 0x3cc3f7d5
add ecx, 0xe6dade2f
add ecx, edx
xor ecx, 0x6cd150f2
mov dword [rbp + 0x48], ecx
movsxd rcx, ecx
call r8
mov qword [rbp + 0x58], rax
and dword [rbp + 0x48], 0
movabs rdi, 0x66c4695b5cba0365
movabs rax, 0x8c3e39b9b1a00000
movabs r11, 0xf875fc550cf70612
mov r14, qword [0x14035f070]
imul r14, rax
movabs rax, 0x9dcd55e212d00000
xor r14, rax
mov r13, r14
imul r13, rdi
movabs r10, 0xaaaaaaaaaaaaaaab
mov rax, r10
mul r13
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r13
sub rcx, rax
lea r12, [0x14035f060]
mov r9, r14
and r9, rdi
imul r9, qword [r12 + rcx*8]
movabs rax, 0x1234cfb2b8992084
imul r9, rax
shr r9, 3
movabs rax, 0xe834518f886040a1
xor r9, rax
movabs rax, 0xffffff57c1325001
mov rsi, r14
imul rsi, rax
sub rsi, 0xb572b4e
xor rsi, r9
xor rsi, qword [0x14035f060]
mov rax, r9
imul rax, qword [0x14035f070]
movabs rcx, 0xb9de928bc881ef20
imul rax, rcx
not rax
and rsi, rax
ror rsi, 0x34
shr rsi, 8
movabs r8, 0x993b96a4a345fc9b
lea rcx, [r14 + r8]
xor rcx, 0xfffffffff60fe42d
mov rax, r10
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rax, 0x8bbec03942d46ac0
mov rbx, qword [r12 + rcx*8]
imul rbx, rax
add rbx, rdi
movabs rcx, 0x3829230f8e6e6c68
mov rax, r9
imul rax, rcx
xor rbx, rax
shr rbx, 0x1f
not rbx
mov r15, rbx
xor r15, r14
lea rcx, [rbx + r8]
mov rax, r10
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movzx eax, bl
movzx ecx, byte [r12 + rcx*8]
imul ecx, eax
movzx ecx, cl
xor ecx, 0x31
and ecx, 0x8000003f
jge 0x140229321
dec ecx
or ecx, 0xffffffc0
inc ecx
ror r15, cl
not r15
imul r15, r9
imul r12, r15, 0xfffffffff4a8d4b2
add r8, r12
mov r10, rbx
imul r10, rsi
sub r10, r8
xor r10, r11
mov cl, r8b
xor cl, 0xfe
and cl, 0xf
rol r10, cl
mov rax, r8
sub rax, qword [0x14035f078]
xor r10, rax
movabs rax, 0xf76d0c3a026e003a
imul r15, rax
movabs rax, 0x53457d6786cf85d9
sub r15, rax
xor r10, r15
xor r10, r9
xor r10, r14
mov rax, r10
and eax, 1
mov r15b, 0x3f
xor rax, 2
je 0x1402296c4
sub rax, 1
je 0x140229598
sub rax, 1
je 0x1402294a3
cmp rax, 1
jne 0x140229774
mov r11, r8
imul r11, rbx
movabs rax, 0xc6345084dad7369b
add rax, r10
xor r11, rax
ror r11, 0xe
shr r11, 0xc
xor r11, r14
not r11
movabs rcx, 0x83572a70e126
mov rdx, qword [0x14035f088]
add rdx, rcx
movabs rax, 0x99b913dcc22e3d3b
xor rdx, rax
movzx eax, r11b
movzx ecx, r10b
imul ecx, eax
and cl, r15b
ror rdx, cl
shl rdx, 0xf
movabs rax, 0xf7ca7db972900dd9
sub rax, rbx
mov rbx, rdx
xor rbx, rax
mov rcx, rbx
imul rcx, rdi
mov eax, 0xa34bdf33
add rcx, rax
movabs r15, 0xaaaaaaaaaaaaaaab
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
lea r13, [0x14035f060]
mov cl, byte [r13 + rcx*8]
and cl, 0xf
movabs rdi, 0x67f41166c121374e
sub rdi, r11
shr rdi, cl
movabs rcx, 0x9943bb2cf515ac9b
add rcx, r12
mov rax, r15
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov rax, r10
imul rax, qword [r13 + rcx*8]
imul rax, r10
sub rax, rsi
xor rdi, rax
jmp 0x140229774
movabs rax, 0xaaaaaa1aa352220d
mov rcx, r10
xor rcx, rax
movabs rax, 0x1206ed615ffe41
imul rcx, rax
movabs rdx, 0xfff17ca874301471
mov rax, r9
xor rax, rdx
sub rcx, rax
movabs rax, 0xffff7e8a854210d1
imul r12, rax
movabs rbx, 0xabc8aefdd824fb5c
add rbx, rcx
add rbx, r12
movabs rax, 0x277cd7be7182f56d
mov rcx, rbx
xor rcx, rax
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
mov r8, rbx
not r8
lea rdx, [0x14035f060]
imul r8, qword [rdx + rcx*8]
xor r8, 0xfffffffff607f4dd
lea ecx, [r10 + 0xf]
and cl, r15b
rol r8, cl
movabs rax, 0xdfe59f3de0ff0193
xor r13, rax
movabs rax, 0x7c7a7dc69f00fe6c
and r13, rax
imul r8, r13
mov rcx, r8
ror rcx, 2
not rcx
movabs rax, 0x9b2de6b2f9b9dd28
imul rcx, rax
mov rax, rbx
sub rax, r8
lea rdx, [rcx + rax*4]
mov cl, sil
and cl, r15b
ror rdx, cl
mov rax, rdi
mov rdi, rdx
imul rdi, rax
jmp 0x140229774
movabs rax, 0xb555bddf43eda70d
imul r10, rax
movabs rax, 0xd79435e50d79435f
mul r10
shr rdx, 4
movzx eax, dl
imul edx, eax, 0x13
mov cl, r10b
sub cl, dl
movabs rdx, 0x993b96a4a345fc9a
mov rax, r14
imul rax, rdx
xor rax, r11
not rax
shl rax, cl
xor r9, rax
mov cl, r8b
and cl, r15b
rol r9, cl
movabs rcx, 0x993b96a4a345fc9b
add rcx, r10
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub rcx, rax
movabs rdx, 0xffffe95b5cba0365
lea rax, [0x14035f060]
mov rax, qword [rax + rcx*8]
imul rax, rdx
xor r9, rax
movabs rax, 0xffffc7a7ff965420
or r9, rax
mov rdi, qword [0x14035f070]
imul rdi, r11
sub rdi, r8
mov rax, rsi
sub rax, r9
xor rdi, rax
movabs rax, 0xc7a7c6a6ae9e542d
xor rdi, rax
movabs rax, 0xcccccccccccccccd
mul r14
shr rdx, 3
lea rax, [rdx + rdx*4]
add rax, rax
mov rcx, r14
sub rcx, rax
or rcx, 1
xor edx, edx
mov rax, rdi
div rcx
mov rcx, rdx
mov rdx, r10
imul rdx, r8
imul rdx, rdi
shr rdx, cl
mov rax, rbx
sub rax, rdx
sub rax, r14
movabs r14, 0x789589461cc1837
add r14, rax
xor r14, rsi
mov cl, bl
shl cl, 3
and cl, r15b
rol r14, cl
not r14
jmp 0x140229774
movabs rax, 0xaaaaaaaaaaaaaaab
mul r9
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
mov rcx, r9
sub rcx, rax
mov rax, r10
imul rax, qword [0x14035f080]
lea rdx, [0x14035f060]
mov rdx, qword [rdx + rcx*8]
and rdx, rax
xor rdx, r9
and r9b, r15b
mov cl, r9b
mov r9, rdx
ror r9, cl
imul r9, r8
not rsi
imul rsi, rbx
movabs rax, 0x7cd8a7de736f05cc
imul rsi, rax
mov rax, r9
imul rax, r14
mov r14, rsi
xor r14, rax
imul rsi, qword [0x14035f060], 0xfffffffff4a8d4b2
mov rdx, qword [0x14035f068]
sub rsi, rdx
mov al, r14b
not al
movzx ecx, al
movzx eax, dl
xor ecx, eax
and ecx, 0x8000003f
jge 0x140229761
dec ecx
or ecx, 0xffffffc0
inc ecx
ror rsi, cl
movabs rax, 0x993b96a4a345fc9b
add rsi, rax
add rsi, r12
movabs rcx, 0xff055d7b83240f01
xor r11, rcx
movabs rax, 0xaaaaaaaaaaaaaaab
mul r11
shr rdx, 2
lea rax, [rdx + rdx*2]
add rax, rax
sub r11, rax
xor r9, r14
lea rax, [0x14035f060]
imul r9, qword [rax + r11*8]
not r8
imul r8, r10
imul r8, rsi
imul r8, rdi
movabs rcx, 0xf5ed7e87849745dd
xor rcx, rbx
not rcx
xor rcx, r8
sub rcx, r9
call fcn.1401c7a90
mov qword [0x14036d9b0], rax
movdqa xmm0, xmmword [0x140338380]
movdqu xmmword [rbp - 0x30], xmm0
movdqa xmm1, xmmword [0x140338330]
movdqu xmmword [rbp - 0x20], xmm1
mov dword [rbp - 0x10], 0x88e5afa9
mov word [rbp - 0xc], 0xb7e0
xor r15d, r15d
mov r12, qword [0x14035f040]
xor edx, edx
mov rax, r15
movabs rcx, 0x13cce94adb96c2c4
div rcx
add dl, 0x30
mov r14b, dl
sar r14b, 7
or r14b, dl
mov sil, r14b
shl sil, 6
mov al, r14b
sar al, 2
or sil, al
mov r8b, r14b
sar r8b, 5
mov al, r14b
shl al, 3
or r8b, al
mov r10b, r14b
sar r10b, 3
mov al, r14b
shl al, 5
or r10b, al
mov dl, r14b
sar dl, 4
mov al, r14b
shl al, 4
or dl, al
mov r9b, r14b
add r9b, r9b
mov r11b, r14b
sar r11b, 7
mov bl, r14b
not bl
mov dil, byte [rbp + r15 - 0x30]
sub dil, sil
sub dil, 2
mov eax, 4
sub al, sil
xor dil, al
mov cl, r14b
shl cl, 7
mov al, r14b
sar al, 1
or cl, al
sub dil, cl
sub dil, byte [0x14035f050]
sub dil, byte [0x14035f058]
sub dil, 0x3f
add dil, sil
add dil, r14b
lea eax, [rsi + 7]
add al, r14b
xor dil, al
sub dil, r8b
sub dil, r14b
sub dil, byte [0x14035f048]
sub dil, 0x50
add dil, sil
add dil, r12b
mov al, dl
sub al, r8b
add al, sil
add al, r14b
xor dil, al
mov al, r14b
sub al, dl
xor al, r14b
sub dil, al
sub dil, r10b
add dil, 0x30
add dil, r14b
mov al, r11b
or al, r9b
sub al, 0x50
add al, r10b
xor dil, al
add sil, sil
add dil, sil
sub dil, r9b
add dil, 0x51
add dil, r12b
not dil
mov al, bl
xor al, byte [0x14035f038]
sub dil, al
or r11b, r14b
sub dil, r11b
mov al, r14b
xor al, byte [0x14035f030]
add dil, al
mov al, r14b
xor al, 0x40
sub dil, al
movsx eax, r14b
movsx ecx, bl
imul ecx, eax
xor cl, dil
mov byte [rbp + r15 - 0x30], cl
inc r15
cmp r15, 0x26
jb 0x14022980d
lea rax, [rbp - 0x30]
mov qword [rbp - 0x40], rax
mov qword [rbp - 0x38], 0x26
and dword [rbp + 0x48], 0
mov dword [rbp + 0x48], 0xa4e46f95
mov eax, 0xfccfa8ee
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
xor eax, 0x6dfcb522
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0xffab1325
add eax, ecx
xor eax, 0xb58a3a56
add eax, 0x10b507f8
xor eax, 0xea32d286
lea edx, [rcx - 0x3b7f30d8]
add edx, eax
not edx
mov eax, dword [0x14035f038]
xor eax, 0xacdb09b8
sub edx, eax
mov ecx, dword [0x14035f030]
xor ecx, 0x5324f647
add ecx, 0x8fbd75a6
add ecx, edx
xor ecx, 0x71f68208
mov dword [rbp + 0x48], ecx
movsxd rdx, ecx
lea r8, [rbp - 0x30]
mov rcx, qword [rbp + 0x58]
call fcn.140053908
nop
and dword [rbp + 0x48], 0
xor eax, eax
and dword [rbp + 0x50], eax
mov dword [rbp + 0x50], 0xdb763c8d
mov eax, 0xc3a36c78
sub eax, dword [0x14035f058]
sub eax, dword [0x14035f050]
xor eax, 0xda1adde3
sub eax, dword [0x14035f048]
mov rcx, qword [0x14035f040]
add eax, 0xcb3fb0ff
add eax, ecx
xor eax, 0x71eb1d46
sub eax, 0x29d15b21
xor eax, 0xb711cbf2
lea edx, [rcx - 0x12f7f817]
add edx, eax
not edx
mov eax, dword [0x14035f038]
xor eax, 0xc2d2b272
sub edx, eax
mov ecx, dword [0x14035f030]
xor ecx, 0x3d2d4d8d
add ecx, 0x7d5dd7f6
add ecx, edx
xor ecx, 0x35c292ca
mov dword [rbp + 0x50], ecx
call fcn.1402ae5b0
mov rdx, rax
mov rcx, qword [rbp + 0x58]
call fcn.1402ae744
nop
and dword [rbp + 0x50], 0
xor edi, edi
mov esi, 0x582769aa
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
movups xmm0, xmmword [rax + 0x58]
movd ecx, xmm0
sub cx, 8
test edi, edi
je 0x140229b07
psrldq xmm0, 8
movq r9, xmm0
movzx ecx, cx
shr rcx, 1
lea r11, [r9 + rcx*2]
mov r10d, 0xdd2ee822
jmp 0x140229af9
movsx edx, byte [r9]
mov r8d, edx
imul r8d, edx
add r8d, 0x31
xor r8d, 0x4764996c
mov ecx, r10d
xor ecx, edx
mov r10d, r8d
imul r10d, ecx
add r9, 2
cmp r9, r11
jne 0x140229ad3
cmp r10d, edi
jne 0x140229c10
mov r10, qword [rax + 0x30]
movsxd rcx, dword [r10 + 0x3c]
mov rcx, qword [rcx + r10 + 0x88]
mov ebx, ecx
add rbx, r10
shr rcx, 0x20
cmp rbx, r10
je 0x140229c10
mov r14d, dword [rbx + 0x18]
test r14d, r14d
je 0x140229c10
mov r13d, dword [rbx + 0x20]
dec r14d
lea rdx, [r10 + r14*4]
mov r11d, dword [rdx + r13]
add r11, r10
mov r15d, 0xdd2ee822
jmp 0x140229b73
movsx r8d, dl
mov r9d, r8d
imul r9d, r8d
add r9d, 0x31
xor r9d, 0x4764996c
mov edx, r15d
xor edx, r8d
mov r15d, r9d
imul r15d, edx
mov dl, byte [r11]
inc r11
test dl, dl
jne 0x140229b50
cmp r15d, esi
je 0x140229b8c
test r14d, r14d
jne 0x140229b3a
jmp 0x140229c10
mov edx, dword [rbx + 0x24]
add rdx, r10
movzx r8d, word [rdx + r14*2]
mov edx, dword [rbx + 0x1c]
add rdx, r10
mov r9d, dword [rdx + r8*4]
add r9, r10
cmp r9, rbx
jbe 0x140229c18
lea rax, [rbx + rcx]
cmp r9, rax
jae 0x140229c18
mov edi, 0xdd2ee822
mov esi, edi
jmp 0x140229bd5
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, 0x4764996c
xor ecx, edi
mov edi, eax
imul edi, ecx
inc r9
mov al, byte [r9]
cmp al, 0x2e
jne 0x140229bbb
jmp 0x140229bf5
movsx ecx, al
mov eax, ecx
imul eax, ecx
add eax, 0x31
xor eax, 0x4764996c
xor ecx, esi
mov esi, eax
imul esi, ecx
inc r9
mov al, byte [r9]
test al, al
jne 0x140229bde
mov rax, qword gs:[0x60]
mov rax, qword [rax + 0x18]
mov rax, qword [rax + 0x10]
mov rax, qword [rax]
jmp 0x140229aa7
mov rcx, qword [rbp + 0x58]
mov rbx, qword [rsp + 0xa0]
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
jmp r9