Function at 0x121f321c629
Capabilities:
Authenticate hmac
Parse pe header

Disassembly:
movsxd rdx, edx
cbw
adc rsi, rdx
not edi
call fcn.121f31d865c
sub r8, 4
mov ebx, 0x373d959d
mov edi, dword [r8 + rbx*2 - 0x6e7b2b3a]
push rbx
xor edi, r10d
lea rdx, [rbx - 0x7174666f]
xor dword [rsp + rdx*2 + 0x746da1a5], 0xfba99f38
adc rdx, qword [rsp + rbx - 0x373d959d]
neg edi
ror word [rsp + rbx*2 - 0x6e7b2b3a], 0xaa
rol byte [rsp + rbx - 0x373d959d], 0xa4
inc edi
inc qword [rsp + rbx*2 - 0x6e7b2b3a]
call fcn.121f31d9e42
btc bx, r11w
movsxd rcx, ecx
adc rsi, rcx
btc rbp, rbp
bts rbx, 0x2b
mov ecx, r11d
mov r11, qword [r11 + r8 + 0x4a436c44]
setb bpl
movsx edi, al
rol ebx, 0xe1
lea r8, [r8 + rax*2 - 0xbc3e]
rol rbp, 0xec
cdqe
xor r11, r10
jmp 0x121f321ba43
sub r8, 2
movzx ebp, word [r8]
call fcn.121f3200cab
rol word [rsp], 0x85
adc r9, 7
movzx ecx, r11w
shl word [rsp + rcx*2 - 0x1ce0b], cl
dec rbx
and rdx, rax
lea rdi, [r11*2 + 0x188ac123]
xor qword [rsp + rcx*2 - 0x1ce0e], rbx
not rdx
mov qword [r9 + rcx - 0xe707], rdx
pop rcx
sbb r8, 4
movzx edx, bp
mov r11d, dword [r8 + rdx - 0xe707]
movsx eax, cx
cbw
xor r11d, r10d
sub dl, 0x9b
not r11d
setp dil
dec cl
sbb bpl, 0x23
rol r11d, 1
shl bpl, 0xc7
neg r11d
bt ebx, 0xbf
or dx, 0xc2b2
cmovbe dx, di
rol r11d, 1
xadd ebx, edi
lea r11d, [r11 + rdx*2 - 0x20172c2e]
jge 0x121f31d39a9
ror r11d, 1
cbw
not r11d
shr rbx, 0x61
cmovb rbp, rdx
push r10
mul bx
jo 0x121f31e9bcb
xor dword [rsp + rbx*4], r11d
btr rbp, rbx
div ebp
shr edi, cl
pop r10
movsxd r11, r11d
add rsi, r11
dec ebx
jne 0x121f320a175
movzx ebx, r11w
shr r11w, 5
lea r9, [r9 + rax - 0x222b4815]
mov qword [rsp + rax - 0x222b4817], rsi
ret 8
or r11d, edx
cdqe
mov dword [r9 + rax*4 - 0x1e27c], r11d
jmp 0x121f3210581
mov bpl, byte [r9 + rax - 0x2ae2df94]
or rcx, r11
lea r9, [r9 + rax - 0x2ae2df92]
shl al, 0x61
cwde
jmp rsi
movsx r11d, ax
mov ebp, dword [r8 + rax - 0x78a4]
movsx ecx, ax
xor ebp, r10d
mul cl
xchg di, r11w
lea ebp, [rbp + rax*2 - 0x5fbf3ea2]
cdq
shl di, 0x2d
inc ecx
bswap ebp
jae 0x121f32279d0
movsx edi, al
movzx ebx, byte [rbp + r8 - 5]
cwde
lea r8, [rbp + r8 - 5]
bswap eax
neg rax
inc eax
xor bl, r10b
add bl, al
shl ebp, 0xe4
setbe r11b
not bl
inc bpl
jae 0x121f31e300f
xor dword [rsp + rax + 8], edx
btr r11d, ebp
lea rdi, [rax + 0x5c8200ae]
imul cx, r11w
mov r10, qword [rsp + rax*4 + 8]
jae 0x121f31cdbe4
push rdi
mov dword [rbx + r9 - 0x4208e5f8], eax
dec ebx
mov dword [r9 + rbx - 0x4208e5fb], edx
pop rbx
jg fcn.121f31faad4
mov rdi, qword [r9]
mov r11d, 0x67275e19
movsx ecx, r11w
mov ebp, dword [r9 + r11 - 0x67275e11]
ror r11b, 0x81
movzx eax, cx
mov dword ss:[rdi + r11 - 0x67275e8c], ebp
cdq
mov ecx, dword [r8 + r11 - 0x67275e90]
btc r11d, edx
shr dx, 0xe2
push rax
xor ecx, r10d
pop rdx
mov ebx, eax
lea ecx, [r11 + rcx + 0x3deeb215]
xor r11, 0xffffffffd29bcd3d
shr bx, 8
ror ecx, 1
bswap ecx
bt dx, dx
btc dx, bx
xor ecx, 0x7895b9bb
movsx ebp, r11w
push r10
xor dword [rsp + r11 + 0x4a436c50], ecx
sar dx, 1
movzx r10d, bp
pop r10
jg 0x121f31de78a
mov edi, 0x343cd686
lea r8, [r8 + rdi*2 - 0x6879ad10]
push rdi
mov ebp, dword [rsp + rdi*2 - 0x6879ad0a]
mov eax, dword [r8 + rdi*2 - 0x6879ad0c]
xor qword [rsp + rdi*2 - 0x6879ad0c], rdi
xor eax, r10d
bswap eax
mov edx, edi
inc eax
movsx r11d, byte [rsp + rdi - 0x343cd686]
movzx ecx, byte [rsp + rdi*2 - 0x6879ad09]
neg eax
btc rdi, 0x86
pop rdx
xchg dil, bpl
rol eax, 3
sar r11b, 0xe7
xor rdx, 0xffffffffd2abf9ba
push r10
and edx, ecx
lea r10, [rcx + rdx + 0x6236873b]
xor dword [rsp + rdi - 0x343cd63c], eax
pop r10
movsxd rax, eax
call fcn.121f31dc7e5
mov edx, 0x22ae78a0
movzx eax, dx
mov r11d, dword [rdx + r9 - 0x22ae78a0]
lea rbp, [rdx*4 + 0x2a22212e]
jmp 0x121f3220706
shl dx, 0xf
mov edx, dword [rdx + r9 - 0x22adfffc]
lea rdi, [rax + rax + 0x3b8fa68b]
not r11d
not edx
sal rbp, 0x8c
shl bpl, 1
jle 0x121f31e5b01
inc ebp
neg ebp
add eax, edi
dec edi
xadd edi, edx
push r10
jnp 0x121f31f849c
shl di, cl
xor dword [rsp + rax - 0x3b906400], ebp
mov r10d, 0x79d8902
push r11
cdqe
mov r10, qword [rsp + rdi*2 - 0x771ffff4]
movsxd rbp, ebp
not rdi
or al, 0x3b
adc rsi, rbp
movsx ebp, byte [rsp + rdi + 0x3b8fffff]
shr r11, 0x39
neg al
movzx ebx, byte [r8 + rdi + 0x3b8ffffa]
and r11d, eax
lea r8, [r8 + rax*2 - 0x7720c98f]
xor bl, r10b
add al, 0xbc
ror bl, cl
xor bl, dl
imul dword [rsp + rax - 0x3b906480]
bswap ecx
seto byte [rsp + rax*2 - 0x44569029]
ror bl, 1
or r11w, bp
jp 0x121f31df246
adc bl, 0x3e
xor dword [rsp + rdi*2 + 0x771fffff], eax
and word [rsp + rax*2 - 0x4456902b], ax
mov qword [rsp + rax - 0x222b480f], rdi
xor r10b, bl
mov word [r9 + rdi*2 + 0x77200000], bx
jmp 0x121f31e0046