Function at 0x1404d981e
Capabilities:
Authenticate hmac
Write file on windows

Disassembly:
mov qword [rsp + 8], rbx
cdqe
xor al, r13b
push rbp
sub al, r11b
sbb bpl, 0xd
push rsi
sub al, 0xa3
push rdi
shld eax, r13d, 0xda
test sil, r11b
push r12
stc
push r13
push r14
push r15
shr r13d, 0xdc
setle al
lea rbp, [rsp - 0x27]
and r12, rdx
rcr r12b, 0xdc
shl r12w, 0x6d
sub rsp, 0x100
and r15b, 0xa9
dec al
not al
mov rax, qword [0x1400b7288]
xor r13b, 5
xor rax, rsp
rcr r13d, 0x94
rcl si, 0xa5
mov qword [rbp + 0x17], rax
btc ax, cx
or r14w, bx
test si, di
movsxd rsi, edx
sal r15b, cl
movsx r13, r14w
shr eax, 0x3e
mov r15, r8
btc r13, 0xf9
mov rax, rsi
cmp r11b, sil
mov qword [rbp - 9], rcx
shr r12b, 0x7e
test r11b, 0x8d
movsx cx, sil
mov qword [rbp - 0x11], rax
bsf rcx, r11
rcr rcx, 0xb3
lea rcx, [0x140000000]
cmovge r12w, bx
cmp r14b, cl
and eax, 0x3f
mov r13d, r9d
rcr r14w, cl
adc r14d, r15d
sal r14w, cl
add r13, r8
shrd r12w, si, 0x98
bswap r14w
mov qword [rbp - 0x21], r8
mov r14w, 0x6747
stc
shld r12w, r15w, 0xc9
mov r12, rsi
mov qword [rbp - 0x51], r13
bsf r14, rsp
mov r14w, 0x5643
shrd r14, r13, 0x65
sar r12, 6
lea r14, [rax + rax*8]
movsx ax, dil
mov al, bh
mov rax, qword [rcx + r12*8 + 0xba940]
mov rax, qword [rax + r14*8 + 0x28]
mov qword [rbp - 0x49], rax
jmp 0x1404d9940
call qword [sym.imp.KERNEL32.dll_GetConsoleOutputCP]
sub edx, edx
lea rcx, [rsp + 0x50]
mov dword [rbp - 0x59], eax
jmp 0x1404d9955
call fcn.1404a2863
mov rcx, qword [rsp + 0x58]
sub r11d, r11d
rcr dl, 0x9a
sbb ebx, 0x4b7136e8
sal dil, 0x4a
mov dword [rbp - 0x69], r11d
rcl dil, cl
mov ebx, r11d
bts edx, ebx
or dil, r10b
shl dl, 0x48
mov dword [rbp - 0x65], ebx
rol dil, cl
rcl edi, 0x32
mov rdi, r15
movsxd rdx, edx
mov edx, dword [rcx + 0xc]
mov ecx, r11d
cmp eax, 0x40e357db
clc
mov dword [rsp + 0x40], ecx
mov dword [rbp - 0x55], edx
cmp r15, r13
jmp 0x1404d99ac
jae 0x1404da17c
mov rax, rsi
ror cl, cl
shl esi, 0x35
mov rsi, r15
adc cl, 0x49
cmp dx, bx
rcl r15b, cl
sar rax, 6
setne cl
jmp 0x1404d99d6
mov qword [rbp - 0x19], rax
mov cl, byte [rdi]
mov r15d, 1
jmp 0x1404d99ea
mov byte [rsp + 0x44], cl
cmp sil, 0xe9
test r12b, 0x61
mov dword [rsp + 0x48], r11d
stc
cmp bpl, al
clc
cmp edx, 0xfde9
jne 0x1404d9d0c
lea r15, [0x140000000]
rol sil, 0x63
mov edx, r11d
xadd sil, sil
mov r9, qword [r15 + rax*8 + 0xba940]
btc esi, 0x20
sal si, 0x50
mov rsi, r11
sub rax, 0x386118bb
lea rax, [r9 + r14*8]
cmp cl, 0xc9
cmp byte [rax + rsi + 0x3e], r11b
je 0x1404d9a65
inc edx
jmp 0x1404d9a51
inc rsi
test r8d, 0x46ce4b6b
cmp rsi, 5
jl 0x1404d9a3f
test rsi, rsi
jmp 0x1404d9a6d
jle 0x1404d9c40
mov rax, qword [r15 + r12*8 + 0xba940]
sbb r13b, 0x5d
mov r8, qword [rbp - 0x51]
test bl, r13b
shr rcx, cl
sub r8, rdi
xchg r10b, r13b
movsx r13, r8w
jmp 0x1404d9a98
movzx ecx, byte [rax + r14*8 + 0x3e]
movsx r10w, spl
cmovp r13d, r14d
movsx r15d, byte [rcx + r15 + 0xb7d00]
movzx r13d, cx
setle r10b
movsxd r13, r12d
inc r15d
sbb r13w, 0x250b
shl r10d, cl
mov r13b, r10b
mov r13d, r15d
sub r13d, edx
bt r10d, ebx
sal r10b, cl
sbb r10w, r13w
movsxd r10, r13d
stc
cmp eax, 0x4b5a3b41
test rbx, 0x611d773a
cmp r10, r8
jg 0x1404d9fb2
lea rax, [rbp - 1]
cmp dil, 0x9c
mov rdx, r11
sub r9, rax
ror ch, 0x5e
test r11d, 0x367b3e7f
lea r8, [r9 + r14*8]
shl al, cl
lea rcx, [rbp - 1]
neg al
xor al, 0xb7
shl al, 0xa2
add rcx, rdx
inc rdx
shr al, 0x6c
mov al, byte [rcx + r8 + 0x3e]
stc
mov byte [rcx], al
cmc
cmp rdx, rsi
jmp 0x1404d9b37
jl 0x1404d9b12
test r13d, r13d
jmp 0x1404d9b45
jle 0x1404d9b71
lea rcx, [rbp - 1]
shl dl, 0xc3
cmp bl, r9b
mov r8, r10
sbb rdx, rcx
add rcx, rsi
xchg rdx, rdx
movsxd rdx, esp
cwd
mov rdx, rdi
call fcn.1404a18a1
xor r11d, r11d
mov rdx, r11
adc rcx, rcx
inc cx
lea r8, [0x140000000]
mov rcx, qword [r8 + r12*8 + 0xba940]
stc
add rcx, rdx
jmp 0x1404d9b92
inc rdx
clc
mov byte [rcx + r14*8 + 0x3e], r11b
cmp rdx, rsi
jmp 0x1404d9ba3
jl 0x1404d9b81
lea rax, [rbp - 1]
and dx, 0x3db5
mov qword [rbp - 0x41], r11
btr dx, r8w
mov qword [rbp - 0x39], rax
lea r9, [rbp - 0x41]
sal cl, cl
clc
mov eax, r11d
cmovp rdx, r9
rol dl, cl
lea rdx, [rbp - 0x39]
cmp r15d, 4
movsx r15w, r15b
movzx ecx, dx
not r15b
lea rcx, [rsp + 0x48]
sete al
mov r8w, 0x48a0
inc r15b
inc eax
mov r8w, r8w
mov r8d, eax
mov r15b, 0x8e
jmp 0x1404d9c08
mov r15d, eax
jmp 0x1404d9c10
call fcn.1404df3d4
cmp rax, 0xffffffffffffffff
jmp 0x1404d9c1e
je 0x1404d9dcc
lea eax, [r13 - 1]
xadd r13b, sil
mov r13, qword [rbp - 0x51]
movsxd rsi, eax
add rsi, rdi
jmp 0x1404d9c3b
jmp 0x1404d9e00
movzx eax, byte [rdi]
movsx cx, sil
cmp dil, r8b
dec sil
mov rdx, r13
sub rdx, rdi
bsf ecx, r13d
movsx rsi, byte [rax + r15 + 0xb7d00]
sbb ax, bx
shr cl, cl
dec eax
lea ecx, [rsi + 1]
cmp r12d, r15d
movzx rax, r8w
movsxd rax, ecx
test r10b, 0x57
cmp al, sil
cmp rax, rdx
jmp 0x1404d9c84
jg 0x1404da035
cmp ecx, 4
mov r9w, 0x117b
setge bh
mov qword [rbp - 0x31], r11
not bh
mov eax, r11d
movsx r9, r13w
mov qword [rbp - 0x29], rdi
movsxd rcx, ecx
movzx r9, r12w
cwd
sete al
lea r9, [rbp - 0x31]
jmp 0x1404d9cbb
inc eax
bswap r8w
movsx ecx, sp
movsx rbx, r12w
lea rdx, [rbp - 0x29]
mov r8d, eax
movsxd rbx, r14d
not bl
movzx rcx, r12w
lea rcx, [rsp + 0x48]
mov ebx, eax
call fcn.1404df3d4
cmp rax, 0xffffffffffffffff
jmp 0x1404d9ced
je 0x1404d9dcc
add rsi, rdi
not r15w
movzx r15w, al
mov r15d, ebx
jmp 0x1404d9d07
jmp 0x1404d9e00
lea rax, [0x140000000]
sar dx, 0
mov rdx, qword [rax + r12*8 + 0xba940]
mov cl, byte [rdx + r14*8 + 0x3d]
jmp 0x1404d9d29
test cl, 4
jmp 0x1404d9d31
je 0x1404d9d74
mov al, byte [rdx + r14*8 + 0x3e]
jmp 0x1404d9d41
and cl, 0xfb
jmp 0x1404d9d49
mov byte [rbp + 7], al
mov al, byte [rdi]
jmp 0x1404d9d53
mov byte [rdx + r14*8 + 0x3d], cl
xchg dh, dl
movsx rdx, r10w
lea rdx, [rbp + 7]
jmp 0x1404d9d67
mov byte [rbp + 8], al
jmp 0x1404d9d6f
jmp 0x1404d9da6
call fcn.1404a8f25
movzx ecx, byte [rdi]
clc
stc
sub edx, edx
cmp word [rax + rcx*2], dx
jmp 0x1404d9d89
jge 0x1404d9dd5
inc rsi
cmp rsi, r13
jmp 0x1404d9d9a
jae 0x1404da0ee
mov rdx, rdi
movsx ecx, di
mov r8d, 2
xchg cx, cx
lea rcx, [rsp + 0x48]
jmp 0x1404d9db9
call fcn.1400e0150
cmp eax, 0xffffffff
jmp 0x1404d9dc6
jne 0x1404d9e00
cmp byte [rbp - 0x71], 0
jmp 0x1404da0e0
mov r8, r15
movsx edx, r11w
movzx rcx, cx
lea rcx, [rsp + 0x48]
mov rdx, rdi
jmp 0x1404d9ded
call fcn.1400e0150
cmp eax, 0xffffffff
jmp 0x1404d9dfa
je 0x1404da160
mov ecx, dword [rbp - 0x59]
sal dil, 0x49
movsx r9d, bx
lea rax, [rbp + 0xf]
shr r9w, 0x7e
movsx r8, dx
sal rdi, 0x5c
sub ebx, ebx
shl dil, cl
shrd r9, r11, 0x8e
lea r8, [rsp + 0x48]
shl r9w, cl
mov qword [rsp + 0x38], rbx
cmova r9w, r10w
sub r9b, 0xa1
rol r9d, 0xcd
lea rdi, [rsi + 1]
mov qword [rsp + 0x30], rbx
mov r9d, r15d
mov dword [rsp + 0x28], 5
cmp dx, 0x11f9
jmp 0x1404d9e5f
sub edx, edx
jmp 0x1404d9e66
mov qword [rsp + 0x20], rax
jmp 0x1404d9e70
call fcn.1404c77e2
mov esi, eax
test eax, eax
je 0x1404da241
mov rcx, qword [rbp - 0x49]
cdq
lea r9, [rsp + 0x4c]
cmovo rdx, r10
movzx r8d, di
cqo
mov r8d, eax
mov qword [rsp + 0x20], rbx
cdq
movzx rdx, r14w
movsx edx, di
lea rdx, [rbp + 0xf]
jmp 0x1404d9eac
call qword [sym.imp.KERNEL32.dll_WriteFile]
xor r11d, r11d
stc
cmp dil, r11b
test eax, eax
je 0x1404da238
mov r15d, dword [rsp + 0x40]
rol bh, cl
shr bl, cl
bswap rbx
mov ebx, edi
stc
sub ebx, dword [rbp - 0x21]
cmc
add ebx, r15d
cmp r12w, r11w
test esi, 0x662e182f
mov dword [rbp - 0x65], ebx
cmp dword [rsp + 0x4c], esi
jb 0x1404da0dc
cmp byte [rsp + 0x44], 0xa
jmp 0x1404d9ef8
jne 0x1404d9f8d
mov rcx, qword [rbp - 0x49]
not r8b
setbe al
movzx r8w, r13b
lea eax, [r11 + 0xd]
movsx r9d, sp
lea r9, [rsp + 0x4c]
mov r8, 0x83a4750
cqo
bswap dx
mov word [rsp + 0x44], ax
lea r8d, [r11 + 1]
movsx edx, r9w
mov qword [rsp + 0x20], r11
jmp 0x1404d9f46
lea rdx, [rsp + 0x44]
jmp 0x1404d9f50
call qword [sym.imp.KERNEL32.dll_WriteFile]
sub r11d, r11d
cmc
test ecx, 0x2e1927b2
test eax, eax
je 0x1404da14d
cmp dword [rsp + 0x4c], 1
jb 0x1404da0dc
inc r15d
inc ebx
mov dword [rsp + 0x40], r15d
or si, r15w
rol sil, cl
neg esi
mov dword [rbp - 0x65], ebx
rcl sil, 0x93
mov rsi, rdi
cmp rdi, r13
jmp 0x1404d9f98
jae 0x1404da16d
mov rax, qword [rbp - 0x19]
mov dh, 0x1a
mov edx, dword [rbp - 0x55]
jmp 0x1404d9fad
jmp 0x1404d99da
mov edx, r11d
test r8, r8
jmp 0x1404d9fbd
jle 0x1404da02d
sub rdi, rsi
mov bl, 0x9f
movzx ecx, r11w
xchg al, bl
lea rbx, [0x140000000]
cmovne cx, r8w
mov al, byte [rdi + rsi]
movzx ecx, si
inc edx
sbb cx, 0x6148
mov rcx, qword [rbx + r12*8 + 0xba940]
jmp 0x1404d9ff5
add rcx, rsi
jmp 0x1404d9ffd
inc rsi
cmp spl, r12b
test r8w, r11w
mov byte [rcx + r14*8 + 0x3e], al
rcr al, 0x7b
add ax, 0x11fd
movsxd rax, edx
cmc
cmp rax, r8
jmp 0x1404da01f
jl 0x1404d9fda
mov ebx, dword [rbp - 0x65]
jmp 0x1404da02d
add ebx, r8d
jmp 0x1404da0d6
mov r9d, r11d
test rdx, rdx
jmp 0x1404da040
jle 0x1404da0ce
mov r13, qword [rbp - 0x11]
mov r8, r11
btc r10w, 0xbb
mov r10, r13
and r13d, 0x3f
movzx cx, r12b
sar r10, 6
neg ch
inc r11w
lea r11, [r13*8]
test r10w, r12w
shr ch, 0xb3
add r11, r13
mov al, byte [r8 + rdi]
inc r9d
and ecx, 0x7a0f163a
cmc
mov rcx, qword [r15 + r10*8 + 0xba940]
test r12b, cl
add rcx, r8
jmp 0x1404da09c
inc r8
mov byte [rcx + r11*8 + 0x3e], al
sbb al, ch
bswap ax
clc
movsxd rax, r9d
test rsi, 0x238f3101
stc
cmp rax, rdx
jmp 0x1404da0bd
jl 0x1404da07b
sub r11d, r11d
rol ch, 0x63
neg rcx
sar cl, cl
add ebx, edx
xchg cx, cx
ror cl, 0x9a
mov dword [rbp - 0x65], ebx
movsx ecx, bx
cmp byte [rbp - 0x71], r11b
mov ecx, dword [rsp + 0x40]
jmp 0x1404da0e9
jmp 0x1404da185
mov al, byte [rdi]
movsxd r8, edi
cmovne cx, r10w
xchg ecx, ecx
lea r8, [0x140000000]
cmovs cx, r11w
movzx rcx, r8w
mov rcx, qword [r8 + r12*8 + 0xba940]
jmp 0x1404da117
inc ebx
mov dword [rbp - 0x65], ebx
clc
cmp spl, 0x36
test bpl, 0x78
mov byte [rcx + r14*8 + 0x3e], al
rcr ah, 0x72
rol ah, cl
dec eax
mov rax, qword [r8 + r12*8 + 0xba940]
stc
or byte [rax + r14*8 + 0x3d], 4
cmp byte [rbp - 0x71], dl
jmp 0x1404da148
jmp 0x1404da0e0
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x69], eax
and cl, r12b
movzx ecx, r11w
xor rcx, rbx
mov ecx, dword [rsp + 0x40]
cmp byte [rbp - 0x71], 0
jmp 0x1404da185
mov ecx, dword [rsp + 0x40]
test rsi, 0x29022c13
cmp r10w, di
cmp byte [rbp - 0x71], r11b
jmp 0x1404da185
je 0x1404da198
mov rax, qword [rsp + 0x50]
and dword [rax + 0x3a8], 0xfffffffd
lahf
mov rax, qword [rbp - 9]
test r13, 0x69ab3492
movsd xmm0, qword [rbp - 0x69]
test r15d, 0x1f956464
jmp 0x1404da1b4
movsd qword [rax], xmm0
test r15w, 0xe10
mov dword [rax + 8], ecx
btr cx, 0xd
xchg ch, ch
setb ch
mov rcx, qword [rbp + 0x17]
stc
xor rcx, rsp
jmp 0x1404da1d8
call fcn.14049dc81
mov rbx, qword [rsp + 0x140]
shrd r15d, esi, 0xbb
cmp r9b, r11b
clc
add rsp, 0x100
movsx r13d, cx
movzx r13, bx
pop r15
not esi
setns r12b
movsx rsi, di
pop r14
cmovns si, di
bswap ebp
movzx ebp, r8w
pop r13
movsxd rsi, r11d
pop r12
movsx rsi, dx
cmova si, r8w
pop rdi
movzx bp, dl
mov sil, 0xf9
movzx esi, bx
pop rsi
pop rbp
jmp 0x1404da237
ret
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [rbp - 0x69], eax
mov ecx, dword [rsp + 0x40]
clc
cmp byte [rbp - 0x71], bl
jmp 0x1404da185