Function at 0x140033db0
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
mov byte [rsp + 8], cl
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x58
movsx r10d, byte [0x140042b56]
mov r8d, 0x6c
mov r9d, dword [0x140042b7c]
mov r15b, 0x36
mov dword [rsp + 0xa8], 0x56
mov edx, r10d
mov byte [rsp + 0xb0], 0x57
lea ecx, [r8 - 0x1c]
mov dword [rsp + 0x28], 0x52
mov dword [rsp + 0xb8], 0x2f
nop dword [rax]
mov eax, 0xfffffff7
sub eax, edx
add r9d, eax
sub rcx, 1
jne 0x140033e10
movzx ebp, byte [0x140042b82]
mov esi, 0x5ca
movzx r13d, byte [0x140042a87]
movzx r12d, byte [0x140042b48]
movzx eax, r13b
mov edi, dword [0x140042b44]
xor al, 0x2f
mov r11d, dword [0x140042b28]
add bpl, al
mov eax, dword [0x140042b68]
add r12b, 3
sar eax, 0x1a
add r10b, al
mov dword [0x140042b7c], r9d
mov eax, dword [0x140042b34]
xor eax, dword [0x140042a8c]
xor eax, 0x5c
mov byte [0x140042b56], r10b
movzx r10d, byte [0x140042b4c]
mov dword [0x140042a8c], eax
and r10b, 0x37
movzx eax, byte [0x140042b64]
xor al, 9
mov byte [0x140042b82], bpl
add r10b, al
mov eax, dword [0x140042b84]
mov byte [0x140042b67], r10b
lea r14d, [rax*8]
mov eax, 0xaaaaaaab
mul r14d
shr edx, 1
lea eax, [rdx + rdx*2]
movzx edx, byte [0x140042b66]
sub r14d, eax
xor ebx, ebx
nop dword [rax]
nop word [rax + rax]
movzx eax, r15b
mov ecx, ebx
add eax, 0x1a
movzx r15d, r12b
cmp eax, 0x52
sete cl
xor ecx, edi
add r11d, ecx
test bpl, bpl
jne 0x140033f09
xor r8d, 0xfffffffe
mov eax, ebx
test r8b, 0x57
je 0x140033f0e
mov eax, 1
or dl, al
mov r8d, r14d
sub rsi, 1
jne 0x140033ee0
mov r14d, dword [0x140042b2c]
mov byte [0x140042b66], dl
mov dword [0x140042b28], r11d
test r8d, r8d
je 0x140033feb
cmp dword [0x140042b30], 0x57
jbe 0x140033feb
imul esi, dword [0x140042a64], 0x54
mov eax, 0xcccccccd
movsx r8d, byte [0x140042a63]
imul r12d, r8d, 0x2f
mul esi
shr edx, 2
lea ecx, [rdx + rdx*4]
sub esi, ecx
movzx ecx, byte [0x140042b57]
imul eax, ecx, 0x17
mov dword [rsp + 0xa8], esi
movzx ecx, al
mov dword [rsp + 0xb0], eax
and ecx, r11d
and ecx, esi
mov eax, 0xcccccccd
add dword [0x140042b40], ecx
mul r12d
shr edx, 2
lea eax, [rdx + rdx*4]
sub r12d, eax
cmp esi, 0x45
mov dword [rsp + 0xb8], r12d
sete al
add r10b, r8b
xor al, r9b
xor al, 0x1a
and bpl, al
cmp r14d, 0x63
mov byte [0x140042b82], bpl
sete al
test al, 0x63
je 0x140033fdd
mov ecx, dword [0x140042a88]
mov eax, 0x45
sar eax, cl
test eax, eax
mov eax, 1
jne 0x140033fdf
mov eax, ebx
xor r10b, al
mov byte [0x140042b67], r10b
jmp 0x140033ff1
mov r12d, 0x2f
movzx esi, r15b
cmp esi, 0x18
jne 0x140034009
cmp byte [0x140042b65], bl
setne al
and byte [0x140042b81], al
imul edi, r12d
xor r13b, 0x6a
mov eax, 0xaaaaaaab
mov byte [0x140042b83], r13b
mul edi
shr edx, 1
lea eax, [rdx + rdx*2]
sub edi, eax
mov dword [rsp + 0xa0], edi
test r14d, r14d
je 0x14003404b
movzx ecx, bpl
mov edx, 0x5c
mov eax, edi
shl edx, cl
sar eax, 0x1f
cmp edx, eax
mov eax, 1
jne 0x14003404d
mov eax, ebx
and byte [0x140042b88], al
add r10b, 9
and r10b, byte [rsp + 0xb0]
add byte [0x140042a62], r10b
call qword [sym.imp.KERNEL32.dll_GetACP]
cmp dword [rsp + 0xa8], ebx
jne 0x140034082
cmp dword [0x140042a88], ebx
mov ecx, 1
je 0x140034084
mov ecx, ebx
cmp dword [0x140042b84], 8
mov eax, ebx
mov r11d, dword [0x140042b48]
setb al
xor eax, ecx
cmp eax, 0x63
jne 0x1400340c8
test r11d, r11d
je 0x1400340ad
mov eax, 1
test r12d, r12d
jne 0x1400340af
mov eax, ebx
xor byte [0x140042b88], al
mov r10d, dword [0x140042b2c]
dec r10d
mov dword [0x140042b34], r10d
jmp 0x1400340cf
mov r10d, dword [0x140042b34]
mov r9d, dword [0x140042b7c]
mov ebp, 0xf7
mov ecx, dword [0x140042b68]
mov r8d, dword [0x140042b44]
mov r12d, dword [0x140042b6c]
mov r14d, dword [0x140042b5c]
mov r13d, dword [0x140042b3c]
mov edi, dword [rsp + 0xb8]
cmp r10d, 1
je 0x140034129
mov eax, ebx
mov edx, r9d
mov ecx, esi
shr edx, cl
cmp edx, 8
sete al
cmp eax, esi
jne 0x140034127
mov ecx, 1
test r8d, r8d
jne 0x140034129
mov ecx, ebx
movzx eax, byte [0x140042a87]
and eax, 0x35
and r12d, eax
lea eax, [rsi - 0x54]
xor eax, r9d
or r8d, eax
mov eax, ebx
cmp dword [0x140042a88], ebx
setne al
xor r13d, dword [0x140042b84]
xor r14d, eax
lea edx, [r8 - 0x1a]
xor dl, byte [rsp + 0xa8]
mov eax, ebx
xor dl, byte [0x140042a62]
xor dl, byte [rsp + 0xb0]
cmp byte [0x140042a86], al
setne al
add r9d, eax
cmp byte [0x140042b65], bl
je 0x14003418b
test edi, edi
je 0x14003418b
test r15b, r15b
jne 0x140034195
lea eax, [rsi + r11]
test eax, eax
mov eax, ebx
je 0x14003419a
mov eax, 1
add ecx, eax
sub rbp, 1
jne 0x140034104
mov edi, dword [rsp + 0xa0]
mov eax, 0x37
mov r10d, dword [rsp + 0xb8]
mov dword [0x140042b6c], r12d
mov r12d, dword [rsp + 0xb0]
mov dword [0x140042b44], r8d
movzx r8d, r12b
mov dword [0x140042b68], ecx
mov ecx, r8d
shl eax, cl
cmp edi, eax
mov dword [0x140042b7c], r9d
movzx r9d, byte [0x140042b80]
sete al
mov dword [0x140042b5c], r14d
xor al, byte [0x140042a88]
mov byte [0x140042b56], al
lea eax, [rdi + r10]
mov dword [0x140042b3c], r13d
lea ebp, [r9 + 0x17]
mov byte [0x140042a87], bl
mov dword [rsp + 0x38], ebp
test eax, eax
jne 0x14003422a
mov eax, ebx
test r10d, r10d
je 0x14003422f
mov eax, 1
movzx ecx, byte [0x140042b83]
and dl, al
mov esi, dword [rsp + 0xa8]
mov eax, ebx
sar eax, cl
movzx ecx, sil
or r9b, al
mov byte [0x140042b54], dl
cmp byte [0x140042a62], 0x5c
mov byte [0x140042b80], r9b
sete byte [0x140042a63]
shr r8d, cl
and r8d, r10d
movzx ecx, r8b
shl r11b, cl
mov ecx, dword [0x140042a8c]
add ecx, r10d
mov byte [0x140042b65], r11b
cmp ecx, r10d
movzx ecx, byte [0x140042a86]
sete al
xor al, sil
xor al, cl
cmp dword [0x140042b84], ebx
mov byte [0x140042b64], al
je 0x1400342b1
mov dword [0x140042b28], 1
cmp ebp, 0x6a
je 0x1400342b7
mov dword [0x140042b28], ebx
movzx ecx, cl
mov eax, 0xaaaaaaab
imul ecx, ebp
sub dil, r15b
or dil, r14b
or dil, 0x18
mov byte [0x140042a62], dil
mul ecx
mov r14d, edx
shr r14d, 1
call qword [sym.imp.KERNEL32.dll_GetConsoleOutputCP]
mov eax, dword [0x140042b84]
test eax, eax
je 0x1400342fd
movzx r12d, al
mov byte [0x140042a63], bl
mov dword [rsp + 0xb0], r12d
call qword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
movzx ecx, byte [0x140042b83]
mov eax, 0xaaaaaaab
movsx r11d, byte [0x140042b88]
mov r9d, dword [0x140042b6c]
mov r10d, dword [0x140042b38]
imul ecx, esi
lea edi, [r11 + 0x13]
mov dword [rsp + 0x2c], edi
mul ecx
mov eax, 0x66666667
mov r15d, edx
shr r15d, 1
imul r15d
mov dword [rsp + 0x24], r15d
mov esi, edx
sar esi, 1
mov eax, esi
shr eax, 0x1f
add esi, eax
add sil, r9b
test r10d, r10d
je 0x140034374
movzx eax, r12b
sub eax, 0x37
mov dword [0x140042b3c], 1
and eax, 0x5c
xor eax, dword [0x140042b4c]
jne 0x14003437a
mov dword [0x140042b3c], ebx
movzx edx, byte [0x140042a63]
test dl, dl
jne 0x140034390
lea eax, [r15 + 0x40]
mov r8d, ebx
test eax, eax
je 0x140034396
mov r8d, 1
movzx r12d, byte [0x140042b81]
movzx ecx, dil
movsx r13d, dl
mov eax, 0x37
sar al, cl
mov edx, ebx
movsx eax, al
mov ecx, 0x7a
cmp dword [0x140042b48], eax
mov dword [rsp + 0x30], r13d
sete al
or al, dil
or al, byte [0x140042b57]
xor r12b, al
movsx eax, byte [0x140042b67]
imul edi, eax, 0x1c
movzx eax, byte [rsp + 0xb0]
cmp dword [rsp + 0xa8], eax
mov dword [rsp + 0x20], eax
mov eax, 0x54
sete dl
mov byte [0x140042b81], r12b
sub eax, r13d
mov dword [rsp + 0x34], edi
imul eax, eax, 0x7a
or edx, r14d
add dword [0x140042b5c], eax
mov eax, dword [0x140042b68]
and eax, 0x52
imul eax, eax, 0x7a
add r10d, eax
mov dword [0x140042b38], r10d
nop word [rax + rax]
mov eax, edx
xor eax, r9d
mov dword [0x140042b40], eax
sub rcx, 1
jne 0x140034430
mov edx, dword [0x140042b2c]
lea r9d, [rcx + 0x6d]
movzx r10d, byte [0x140042a87]
mov r13d, 0x63
mov ebp, dword [rsp + 0xb8]
movzx ecx, sil
shr r13d, cl
movzx eax, r12b
xor r13d, eax
mov dword [rsp + 0x40], eax
cmp edx, 0x6a
mov dword [rsp + 0x3c], ecx
mov eax, ebx
mov byte [0x140042b65], bl
sete al
lea ecx, [rdi + 0x14]
sub r11b, byte [rsp + 0x2c]
or eax, r15d
mov edi, dword [rsp + 0xa8]
and ecx, 0x37
movzx r15d, byte [0x140042a62]
sub r11b, sil
mov dword [0x140042b6c], eax
mov eax, dword [0x140042b58]
shl eax, cl
mov ecx, edi
shl r15b, cl
xor r15b, 0x54
mov dword [rsp + 0x44], eax
cmp dword [0x140042b34], 0x18
mov dword [0x140042b7c], eax
sete al
or r11b, al
mov byte [0x140042b67], r11b
mov r11d, dword [0x140042b28]
dec r9w
xor r8d, r13d
sub r10b, r15b
cmp byte [0x140042b57], bl
je 0x14003450e
movzx ecx, dl
mov eax, 0x37
sar al, cl
mov ecx, ebp
movsx edx, al
mov eax, edi
shr eax, cl
test eax, edx
mov eax, 1
jne 0x140034510
mov eax, ebx
mov edx, dword [0x140042b2c]
xor r11d, eax
test r9w, r9w
jne 0x1400344e0
movzx eax, byte [0x140042b54]
mov edi, dword [rsp + 0x34]
mov ebp, dword [rsp + 0x38]
movzx r15d, byte [0x140042a62]
mov dword [0x140042b44], r8d
mov r8d, dword [rsp + 0x2c]
mov byte [0x140042a87], r10b
mov dword [0x140042b28], r11d
lea ecx, [r8 + rax*4]
and ecx, 0x80000007
jge 0x140034563
dec ecx
or ecx, 0xfffffff8
inc ecx
movsx edx, cx
test edx, edx
je 0x140034637
sub edx, 1
je 0x140034623
sub edx, 1
je 0x1400345f9
sub edx, 1
je 0x1400345dc
mov r15d, dword [rsp + 0x20]
cmp r15d, r8d
movzx edx, byte [0x140042b55]
sete al
xor al, 0x52
sub dl, al
cmp dword [0x140042b60], ebx
jne 0x1400345ca
mov ecx, r14d
sar r14d, cl
test r14d, r14d
je 0x1400345bb
movzx ecx, byte [0x140042b57]
mov eax, dword [rsp + 0x24]
sar eax, cl
test eax, eax
jne 0x1400345ca
mov eax, ebx
and dl, al
mov byte [0x140042b55], dl
jmp 0x14003466a
mov eax, 1
and dl, al
mov byte [0x140042b55], dl
jmp 0x14003466a
imul eax, dword [rsp + 0x30], 0x35
and eax, 0x80000003
mov dword [rsp + 0x28], eax
jge 0x140034665
dec eax
or eax, 0xfffffffc
inc eax
mov dword [rsp + 0x28], eax
jmp 0x140034665
mov eax, dword [0x140042b58]
add eax, 0x18
cmp byte [0x140042b56], bl
mov dword [0x140042b34], eax
jne 0x140034619
mov eax, ebx
cmp r14d, dword [rsp + 0x3c]
je 0x14003461e
mov eax, 1
add r15b, al
jmp 0x14003465e
mov eax, dword [rsp + 0x40]
mov r15d, dword [rsp + 0x20]
or eax, r15d
sub dword [0x140042b30], eax
jmp 0x14003466a
mov eax, dword [rsp + 0x24]
add r12b, 0x6a
or r12b, 0x18
mov ecx, ebx
or r15b, r12b
add eax, 0xffffffe8
mov eax, dword [rsp + 0x44]
setne cl
and ecx, dword [rsp + 0x30]
or eax, ecx
mov dword [0x140042b7c], eax
mov byte [0x140042a62], r15b
mov r15d, dword [rsp + 0x20]
call qword [sym.imp.KERNEL32.dll_IsThreadAFiber]
mov eax, dword [0x140042b34]
mov r12d, dword [0x140042b38]
mov r13d, dword [0x140042b40]
movzx r10d, byte [0x140042b88]
mov r14d, dword [0x140042b7c]
lea eax, [r15 + rax*2]
movzx r8d, byte [0x140042b81]
mov r15d, 0x2b1
mov r9d, dword [0x140042b5c]
mov dword [0x140042b34], eax
mov eax, 0xaaaaaaab
mul dword [rsp + 0xb8]
sar r12d, 0x1f
mov r11d, edx
shr r11d, 1
nop dword [rax + rax]
movzx eax, sil
cmp dword [0x140042b28], eax
jae 0x140034746
mov ecx, dword [0x140042b48]
mov eax, ebx
cmp dword [rsp + 0x24], ecx
sete al
cmp eax, 0x63
jne 0x140034746
test r13d, r13d
je 0x140034703
cmp byte [rsp + 0xb0], bl
je 0x140034703
mov r8b, 1
jmp 0x140034706
xor r8b, r8b
cmp dword [0x140042b3c], 0x6a
mov ecx, ebx
movzx eax, byte [0x140042a87]
mov ebp, r9d
sete cl
mov byte [0x140042b81], r8b
and ecx, dword [rsp + 0xa8]
add eax, 0x18
or ecx, eax
imul ebp, edi
mov eax, 0xaaaaaaab
mov dword [0x140042b84], ecx
mul ebp
shr edx, 1
lea eax, [rdx + rdx*2]
sub ebp, eax
movzx eax, r11b
xor r9d, r12d
add al, al
movzx esi, r10b
lea ecx, [rax + r11]
mov eax, ebx
sub sil, cl
add sil, byte [rsp + 0xb8]
cmp byte [0x140042a62], al
setne al
sub r14d, eax
sub r15, 1
jne 0x1400346d0
movzx r15d, byte [0x140042b65]
and r15d, dword [rsp + 0x20]
mov r12d, dword [0x140042a88]
movzx r13d, byte [0x140042b54]
movzx r11d, byte [0x140042b66]
movzx edx, byte [0x140042a86]
movzx ecx, sil
mov esi, 0x3a7
mov dword [0x140042b5c], r9d
mov r9d, dword [0x140042b68]
mov dword [rsp + 0xa0], ecx
mov dword [0x140042b7c], r14d
nop word [rax + rax]
test r8b, r8b
je 0x1400347e9
movzx eax, byte [0x140042a87]
sub al, byte [rsp + 0x28]
shr edi, 2
add edi, r14d
and r11b, al
add ecx, edi
movzx eax, dl
sub eax, 0x6a
or r9d, r15d
sar eax, cl
test eax, eax
je 0x140034809
mov dword [0x140042a8c], 1
test r13b, r13b
jne 0x14003480f
mov dword [0x140042a8c], ebx
test r12d, r12d
jne 0x14003481f
mov eax, ebx
cmp dword [rsp + 0xa8], ebx
je 0x140034824
mov eax, 1
sub r10b, al
cmp dword [0x140042b34], ebx
jne 0x14003484e
mov ecx, dword [rsp + 0x2c]
mov eax, ebp
shr eax, cl
mov ecx, ebx
cmp eax, 0x37
movzx eax, byte [0x140042b80]
sete cl
or ecx, eax
jne 0x14003484e
xor dl, dl
jmp 0x140034850
mov dl, 1
mov ecx, dword [rsp + 0xa0]
mov byte [0x140042a86], dl
sub rsi, 1
jne 0x1400347d0
and r8b, 0xb7
mov dword [0x140042b68], r9d
add byte [0x140042a62], r8b
cmp dword [0x140042b58], ebx
mov byte [0x140042b88], r10b
mov byte [0x140042b66], r11b
jne 0x140034898
cmp byte [rsp + 0xb0], bl
je 0x14003489d
mov ebx, 1
and dword [0x140042b78], ebx
call fcn.140033500
xor eax, eax
add rsp, 0x58
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret