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

Disassembly:
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rbx, rcx
mov eax, dword [0x1807ae2d8]
and eax, dword [0x1807ae2dc]
sub eax, 0x34569fb5
or eax, 0x78d45316
sub eax, 0xae147df3
cmp eax, 0xf47ce986
je 0x1804c6a16
mov eax, dword [0x1807ae2e0]
and eax, dword [0x1807ae2e4]
imul eax, eax, 0x46959483
imul eax, eax, 0xe01278ad
imul ebp, eax, 0x4a3c2f42
mov rsi, qword [rbx]
mov rcx, rsi
add rcx, 0x18
call fcn.180659ed0
mov rdi, rsi
add rdi, 0x20
mov rax, qword [rsi + 0x20]
lock dec qword [rax]
sete cl
cmp ebp, 0x1c049142
jb 0x1804c6a16
jmp 0x1804c67be
jmp 0x1804c67c0
mov eax, dword [0x1807ae2e8]
xor eax, dword [0x1807ae2ec]
sub eax, 0x892d7420
or eax, 0xbd474948
xor eax, 0xa6df1350
cmp eax, 0x8abc2cbc
je 0x1804c6a3e
mov eax, dword [0x1807ae2f0]
or eax, dword [0x1807ae2f4]
xor eax, 0xb9fc207b
mov r8d, 0x7027de14
xor edx, edx
div r8d
sub eax, 0xd9462f7e
cmp eax, 0x3f73968d
ja 0x1804c6a3e
test cl, 1
jne 0x1804c681c
jmp 0x1804c68ce
mov eax, dword [0x1807ae2f8]
or eax, dword [0x1807ae2fc]
add eax, 0x49518809
or eax, 0x297d9e30
and eax, 0xa1b33914
cmp eax, 0x48b02e63
je 0x1804c6a4f
mov eax, dword [0x1807ae300]
mov ecx, dword [0x1807ae304]
and eax, ecx
add eax, 0x547739a9
imul rax, rax, 0x15590391
shr rax, 0x3b
or eax, 0x97eee894
cmp eax, 0xcc02f8ea
je 0x1804c6a4f
jmp 0x1804c6872
mov eax, dword [0x1807ae308]
and eax, dword [0x1807ae30c]
or eax, 0x5b6b2583
or eax, 0x6353b4bd
sub eax, 0x202df879
cmp eax, 0xaf1c0196
jae 0x1804c6a60
mov ebx, dword [0x1807ae310]
or ebx, dword [0x1807ae314]
and ebx, 0x1f7fd8c9
add ebx, 0x76790ef1
or ebx, 0x3c4e0484
mov rcx, rdi
call fcn.1804b7d10
cmp ebx, 0xf1ef6d71
ja 0x1804c6a60
jmp 0x1804c68cc
jmp 0x1804c68ce
mov eax, dword [0x1807ae318]
or eax, dword [0x1807ae31c]
imul eax, eax, 0x81218053
sub eax, 0xf4a2e85e
mov ecx, 0x7a0e7e02
xor edx, edx
div ecx
cmp eax, 0x87f63749
ja 0x1804c6a79
jmp 0x1804c68fb
mov eax, dword [0x1807ae320]
sub eax, dword [0x1807ae324]
mov ecx, 0x8bc0c6d4
xor edx, edx
div ecx
imul ecx, eax, 0xfe09a23
add ecx, 0xfece8679
mov rax, 0xffffffffffffffff
cmp rsi, rax
sete al
cmp ecx, 0xe8a53032
ja 0x1804c68fb
jmp 0x1804c6933
mov ecx, dword [0x1807ae328]
or ecx, dword [0x1807ae32c]
imul ecx, ecx, 0x98ed5bb3
imul ecx, ecx, 0xfb2a12c0
sub ecx, 0xd0c0572d
cmp ecx, 0xd54810f7
ja 0x1804c6a86
jmp 0x1804c695f
mov ecx, dword [0x1807ae330]
xor ecx, dword [0x1807ae334]
sub ecx, 0xeb1038a9
imul ecx, ecx, 0x15938bd0
imul ecx, ecx, 0x2a76501b
cmp ecx, 0x14e36b63
jbe 0x1804c695f
test al, 1
jne 0x1804c6a0d
jmp 0x1804c698f
mov eax, dword [0x1807ae338]
xor edx, edx
div dword [0x1807ae33c]
and eax, 0x94a0f8b1
mov ecx, 0x3815c6be
xor edx, edx
div ecx
and eax, 0x49ae9033
cmp eax, 0x76a1601d
jae 0x1804c6a93
jmp 0x1804c69bd
mov eax, dword [0x1807ae340]
sub eax, dword [0x1807ae344]
sub eax, 0x79ea560b
imul ecx, eax, 0x54638687
add ecx, 0xbd152a40
mov rax, rsi
add rax, 8
cmp ecx, 0xa13ae5df
jbe 0x1804c69bd
invalid
jmp 0x1804c69eb
lock dec qword [rax]
sete al
test al, 1
jne 0x1804c69f8
jmp 0x1804c6a0d
mov rcx, rsi
mov edx, 0x78
mov r8d, 8
call fcn.1804cafa0
jmp 0x1804c6a0d
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
ret
or al, 0xed
pop rdx
enter 0xffffffffffff8674, 0xffffffffffffffc7
adc dword [rdx + 0x484ab7a2], esi
mov esi, dword [rbx]
mov rcx, rsi
add rcx, 0x18
call fcn.180659ed0
mov rax, qword [rsi + 0x20]
lock dec qword [rax]
jmp 0x1804c6771
invalid
loopne 0x1804c6a57
invalid
jl 0x1804c69e8
outsb dx, byte [rsi]
invalid
and byte [rsi + 0x498391f5], dh
mov bh, 0x4e
sar byte [rcx + 0x31], cl
mov byte [rax - 0x77], cl
stc
call fcn.1804b7d10
jmp 0x1804c6898
movabs al, byte [0xe9a963b87bc86f40]
jae 0x1804c6a82
invalid
cmc
sahf
push rdi
jne 0x1804c6aa6
sal byte [rbx - 0x11], 0xe9
retf 0xfffe
mov esp, 0x9545f444
invalid
in al, dx
sub byte [rbx + 0x2e789a05], cl
add byte [rdi], cl
scasd eax, dword [rdi]
add eax, 0x2e7897