Function at 0x18009d839
Capabilities:
Authenticate hmac

Disassembly:
push rbp
push rbx
test sil, cl
push r12
add ax, bx
and r8b, 0x2c
push r15
or rax, 0x18690c5a
lea rbp, [rsp - 0x238]
bts r12, rcx
sub rsp, 0x338
add r12w, ax
mov rax, qword gs:[0x58]
cmovl r12, r8
bswap r12w
mov r15, rcx
movsx rcx, r12w
ror ch, 0x9d
mov r8d, dword [0x18007b3c4]
xadd cl, r12b
neg ecx
shl cx, 0xec
mov r12, rdx
sar cl, 0xfb
mov ecx, 4
test ecx, 0x7064fdb
movaps xmmword [rsp + 0x310], xmm6
cmp sil, 0xd4
mov r8, qword [rax + r8*8]
mov eax, dword [rcx + r8]
clc
cmc
test r10, r12
cmp dword [0x18007c364], eax
jmp 0x18009d8c9
jle 0x18009d996
lea rcx, [0x18007c364]
call fcn.180115d5b
cmp dword [0x18007c364], 0xffffffff
jmp 0x18009d8e7
jne 0x18009d996
call fcn.180115136
mov rbx, rax
jmp 0x18009d8fa
call fcn.180115101
cmp rbx, 0x989680
jmp 0x18009d90b
jne 0x18009d91a
imul rax, rax, 0x64
jmp 0x18009d979
cqo
shr r8b, 0xe3
and cl, spl
idiv rbx
btr cx, 0x68
adc rcx, r15
add cx, 0x69e
mov r8, rax
cmc
btc eax, 0x43
imul rax, rdx, 0x3b9aca00
shld rdx, rbp, 0x62
inc cx
cqo
bsf ecx, r8d
shl cx, 0x38
test r8, 0x13df6c15
idiv rbx
imul rdx, r8, 0x3b9aca00
bsr cx, r15w
shr cx, 0x66
add rax, rdx
mov ecx, 0x3c9e1045
cmovl ecx, edi
lea rcx, [0x18007c364]
jmp 0x18009d985
mov qword [0x18007c368], rax
jmp 0x18009d991
call fcn.180115cc5
test r15, r15
jmp 0x18009d99e
je 0x18009d9cf
mov rax, qword [0x18007c208]
rol cl, cl
ror ecx, 0xfc
test r11d, r11d
mov rcx, qword [0x18007c200]
cmc
stc
add rcx, r15
movss xmm0, dword [r15 + rax]
jmp 0x18009d9ca
jmp 0x18009d9e2
movss xmmpe_dos_header, dword [0]
test cl, r12b
xor ecx, ecx
jmp 0x18009d9e2
movss xmm6, dword [rcx]
jmp 0x18009d9eb
subss xmm6, xmm0
xorps xmm0, xmm0
comiss xmm6, xmm0
jbe 0x18009e627
cmp byte [0x18007c0e8], 0
jmp 0x18009da07
jne 0x18009da84
mov byte [0x18007c0e8], 1
jmp 0x18009da19
call fcn.180115136
mov rbx, rax
jmp 0x18009da26
call fcn.180115101
cmp rbx, 0x989680
jne 0x18009da41
imul rax, rax, 0x64
jmp 0x18009da78
cqo
bts rcx, r8
jmp 0x18009da4c
idiv rbx
mov rcx, rax
movzx rax, r13w
bts rax, r8
clc
imul rax, rdx, 0x3b9aca00
imul rcx, rcx, 0x3b9aca00
cqo
stc
idiv rbx
stc
add rax, rcx
jmp 0x18009da78
mov qword [0x18007c368], rax
jmp 0x18009da84
call fcn.180115136
mov rbx, rax
call fcn.180115101
cmp rbx, 0x989680
jmp 0x18009da9d
jne 0x18009dab1
imul rbx, rax, 0x64
jmp 0x18009daac
jmp 0x18009daf0
cqo
idiv rbx
mov rcx, rax
movsx eax, r10w
sar ax, cl
stc
imul rax, rdx, 0x3b9aca00
cqo
test r8b, r11b
clc
idiv rbx
mov rbx, rax
cdqe
mov ah, dl
imul rax, rcx, 0x3b9aca00
test r8b, 0x96
jmp 0x18009dae8
add rbx, rax
jmp 0x18009daf0
xorps xmm0, xmm0
mov qword [rsp + 0x28], rbx
shl ax, cl
mov rax, rbx
test r13b, r8b
stc
sub rax, qword [0x18007c368]
jmp 0x18009db0e
cvtsi2ss xmm0, rax
divss xmm0, dword [0x180074578]
comiss xmm0, dword [0x180074518]
jb 0x18009e6bc
divss xmm6, dword [0x180074540]
cvtps2pd xmm0, xmm6
call fcn.1801081f8
test eax, eax
jmp 0x18009db3f
jle 0x18009e60f
mov qword [rsp + 0x370], rsi
sub cx, 0x3f3b
movabs rbx, 0x4da002badd65455
bts r11w, r8w
mov qword [rsp + 0x330], rdi
bswap r8w
movabs r8, 0xdc36f9dfe0fd64e9
sbb r10w, bx
shld r11d, eax, 0x5c
mov qword [rsp + 0x328], r13
dec r9b
test dil, 0xf2
rol ch, cl
movabs r9, 0x166f47c6a366a5c6
xor cx, r15w
movzx ecx, sp
mov r13d, eax
movsx r11, bx
btr cx, di
movabs r10, 0xeda4db11bdca0c3b
sar cx, cl
mov qword [rsp + 0x20], r13
rcr cl, 0xc5
movabs r11, 0x8ca2ad38af81c908
and eax, 0x74803991
mov qword [rsp + 0x320], r14
test r11w, 0x3544
nop dword [rax]
shl ch, 0xf4
nop dword [rax + rax]
or cx, 0x744
btr eax, 0x94
sub esi, esi
adc cx, cx
sar r13d, 0xb2
rcr cl, 0xc9
movabs r13, 0x55d49c42fb96bd62
sub r14d, r14d
shld cx, r10w, 0x34
cmp bh, 0x55
nop
mov rax, qword [0x18007c260]
test esi, r10d
sar cl, 1
add cl, r9b
mov rcx, qword [r15 + rax]
test dil, 0xdd
clc
test rcx, rcx
jmp 0x18009dc3a
je 0x18009dca5
mov rdx, qword [0x18007c288]
jmp 0x18009dc98
add rdx, rcx
jmp 0x18009dca0
jmp 0x18009dcac
sub edx, edx
jmp 0x18009dcac
movups xmm0, xmmword [rdx]
jmp 0x18009dcb4
psrldq xmm0, 8
movd eax, xmm0
cmp esi, eax
jge 0x18009e5d1
test rcx, rcx
jmp 0x18009dccd
je 0x18009dce8
mov rdx, qword [0x18007c288]
stc
add rdx, rcx
jmp 0x18009dce3
jmp 0x18009dced
xor edx, edx
sbb dil, spl
mov rax, qword [rdx]
jmp 0x18009dcfb
mov rdi, qword [rax + r14]
cmc
test rdi, rdi
jmp 0x18009dd08
je 0x18009e5bc
mov rax, qword [0x18007c0e0]
stc
test rax, rax
jmp 0x18009dd1e
jne 0x18009e51f
movabs rax, 0xecf8cf93126ee65d
not edx
shr rdx, cl
mov qword [rbp + 0x120], r8
cwd
movzx cx, r8b
and dl, bpl
mov qword [rbp + 0x140], rax
movabs rax, 0x62eddb0a247afeca
shld rdx, rdx, 0xfd
mov qword [rbp + 0x148], rax
test al, spl
movabs rax, 0x5f2852b5fa6c722f
mov qword [rbp + 0x150], rax
add cx, r11w
movabs rax, 0x7b47fccc31b329cc
mov qword [rbp + 0x158], rax
shld ax, ax, 0xd0
movzx r8d, cx
movabs rax, 0x2c38370765c752d1
rol r8b, cl
and dx, r11w
bts dx, r11w
mov qword [rbp + 0x160], rax
lahf
movabs rax, 0x810b0a2ee7ecbdce
movzx r8w, dl
mov cl, cl
movzx r8, si
mov qword [rbp + 0x168], rax
movabs rax, 0xfb133b9efd3b7e3
sar r8b, 0xbe
xadd edx, r8d
sal dl, 0x51
mov qword [rbp + 0x170], rax
test sil, 0x53
movabs rax, 0xff49c4807846ae90
cmc
mov edx, 0x110f27da
xadd dx, dx
mov qword [rbp + 0x178], rax
add dl, 0x37
rcr al, 0xda
rcl dx, 0x66
movabs rax, 0x1087e87bb8b95fc5
bsr cx, r8w
bts dx, r12w
mov qword [rbp + 0x180], rax
sbb rdx, 0x7b594b2e
adc al, dl
movabs rax, 0x77548e12f49d9ad2
mov qword [rbp + 0x188], rax
sub al, 0xa3
cwde
movabs rax, 0xcd1bad1d310879f7
bsr r8, rdx
ror dh, cl
xadd dx, cx
mov qword [rbp + 0x190], rax
movabs rax, 0xe6c5c5b40f9e8754
mov qword [rbp + 0x198], rax
rcr r8w, cl
add rax, r10
shl rax, cl
movabs rax, 0x242cf30f52221f79
sub cx, 0x7d00
btc edx, 0x98
xadd r8w, r8w
mov qword [rbp + 0x1a0], rax
adc edx, edi
dec dh
ror cl, cl
movabs rax, 0x9d1a9f6808032d6
mov qword [rbp + 0x1a8], rax
movzx ecx, dx
and r8w, 0x26bc
movabs rax, 0x13455dc1574b69cb
bsf dx, r15w
btc r8w, 0xb0
mov qword [rbp + 0x1b0], rax
stc
lahf
btr dx, 1
movabs rax, 0x1a951768ac05c698
rol dx, 0x36
mov qword [rbp + 0x1b8], rax
shr r8b, 0x9a
movabs rax, 0x90316c3c330ec6d
bts cx, r15w
movzx rdx, r15w
bts cx, dx
mov qword [rbp + 0x1c0], rax
movabs rax, 0xf251c7ba0504315a
test sil, dl
mov qword [rbp + 0x1c8], rax
bts r8w, r15w
or r8, 0x50a7124
sal r8b, 0x45
movabs rax, 0x3c1dad65001586bf
btr ecx, 0x2e
movsx r8, dx
mov qword [rbp + 0x1d0], rax
movabs rax, 0x2d8ed9fc9036a0dc
rcl dl, 0xd
xadd cl, dl
mov qword [rbp + 0x1d8], rax
adc ah, 0x24
rdtsc
movabs rax, 0x387d0037338fee61
add cx, 0x619f
cdq
mov qword [rbp + 0x1e0], rax
movzx dx, al
cmovs edx, r10d
adc dl, cl
movabs rax, 0x746d6c5e99016fde
movzx rdx, r13w
shl r8b, 0xa3
mov qword [rbp + 0x1e8], rax
mov al, dil
test esp, ebp
clc
movabs rax, 0xc1f810e9ebc4e1f3
shrd edx, r8d, 0x3c
mov qword [rbp + 0x1f0], rax
or dx, 0x58a4
rcr r8b, cl
movabs rax, 0x637d66b0da525aa0
shl r8, 0x56
add r8b, sil
mov qword [rbp + 0x1f8], rax
cmp cx, 0x6473
movabs rax, 0xdc5bf9bee0ba64c6
bsf cx, bp
xchg r8b, cl
sar dl, cl
mov qword [rbp + 0x30], rax
xchg al, ch
cqo
movabs rax, 0x161d4796a349a5a3
mov qword [rbp + 0x38], rax
sar dx, cl
xor cx, 0x5204
movabs rax, 0xedc8db70bda70c52
sal cx, 0x37
mov ecx, r8d
mov qword [rbp + 0x40], rax
add r8w, bx
mov dl, r15b
movabs rax, 0x8cd6ad4aafe0c94d
or r8b, 0x5e
sar r8b, cl
mov qword [rbp + 0x48], rax
rol dh, cl
movabs rax, 0xec97cfd01241e635
cwd
mov qword [rbp + 0x50], rax
cwd
bsr r8w, r11w
ror cl, 0xb4
movabs rax, 0x6281db48241ffeb8
sbb dl, ah
bsr r8w, r13w
mov qword [rbp + 0x58], rax
adc r8w, 0x3861
cdq
movabs rax, 0x5f5a52c5fa09725a
bts r8w, sp
shl cl, cl
mov qword [rbp + 0x60], rax
rol ch, cl
movabs rax, 0x7b34fcb831dd29a5
or cl, r11b
cwd
bsr r8w, r8w
mov qword [rbp + 0x68], rax
adc r8b, r10b
cmc
movabs rax, 0x2c5d3773658e52fe
bts dx, r14w
adc r8b, r12b
mov qword [rbp + 0x70], rax
movsx cx, r15b
xor dh, 0x2c
or edx, 0x260d49bd
movabs rax, 0x81480a01e79fbda3
bsf dx, r14w
shr r8b, cl
mov qword [rbp + 0x78], rax
movabs rax, 0xfc433caefbdb78c
sal ecx, cl
sar r8b, 0x39
mov qword [rbp + 0x80], rax
rcr dl, cl
sub rdx, 0x7f04101f
sbb r8d, r13d
movabs rax, 0xff25c4e27827aefd
mov qword [rbp + 0x88], rax
rcl rdx, cl
and dx, r10w
stc
movabs rax, 0x10d7e854b8ca5fa0
mov qword [rbp + 0x90], rax
shl r8w, cl
cmc
movabs rax, 0x77358e7ff4f49aa0
mov qword [rbp + 0x128], r9
shl r8, cl
mov qword [rbp + 0x130], r10
movsx r8d, cx
mov qword [rbp + 0x138], r11
test r12d, 0x5ed9239f
sar r8b, cl
movsxd rcx, r12d
mov qword [rbp + 0x200], rbx
btr dx, r8w
shl ch, cl
xor r8b, 0x1f
mov qword [rbp + 0x208], r13
mov qword [rbp + 0x98], rax
lea rcx, [rsp + 0x40]
rcl al, 0xd9
movabs rax, 0xcd7ead693141799b
clc
mov qword [rbp + 0x110], rbx
adc dh, 0xcb
mov qword [rbp + 0xa0], rax
bts eax, edi
lea rdx, [rbp + 0x30]
cmovs r8, rdi
neg r8b
movabs rax, 0xe6abc5db0fdd8739
mov qword [rbp + 0x118], r13
movsx r8w, r15b
mov qword [rbp + 0xa8], rax
sar ah, 0x20
cmovbe ax, r14w
mov r8d, 7
movsx ax, bpl
xchg ah, ah
movsx rax, r10w
movabs rax, 0x244df36252571f0a
mov qword [rbp + 0xb0], rax
xor eax, 0x21943ce0
bsr ax, r10w
movabs rax, 0x98ea99380ec32b4
jmp 0x18009e22c
mov qword [rbp + 0xb8], rax
btr eax, r8d
shl rax, cl
movabs rax, 0x13295da0572e6983
mov qword [rbp + 0xc0], rax
add al, 0xe3
movabs rax, 0x1ae5171dac6ac6cb
test r8w, 0x173e
cmc
cmp r11w, 0x44b8
mov qword [rbp + 0xc8], rax
bsf ax, r13w
shrd eax, ecx, 0x8e
movabs rax, 0x96a16b1c360ec43
test spl, 0xdb
jmp 0x18009e288
mov qword [rbp + 0xd0], rax
shld ax, r8w, 0x72
rcr rax, 0xeb
movabs rax, 0xf218c7d605653137
cmc
jmp 0x18009e2ae
mov qword [rbp + 0xd8], rax
movabs rax, 0x3c5ead08007086cb
mov qword [rbp + 0xe0], rax
cbw
movsx eax, si
movabs rax, 0x2dfbd98f9058a0b3
stc
mov qword [rbp + 0xe8], rax
shld rax, rdx, 2
movabs rax, 0x3811005533eeee0c
jmp 0x18009e2f1
mov qword [rbp + 0xf0], rax
movsxd rax, ebp
sbb rax, r12
adc al, r9b
movabs rax, 0x74086c16995e6fbb
mov qword [rbp + 0xf8], rax
sar ah, 0x14
test bp, 0x507a
sar al, cl
movabs rax, 0xc19710baeba8e192
cmc
mov qword [rbp + 0x100], rax
rcr eax, 0x6b
xor ah, al
test r12b, 3
movabs rax, 0x633e66efda225ad5
cmp si, r11w
mov qword [rbp + 0x108], rax
cmc
movsx rax, bp
mov rax, qword [rdx]
cmc
lea rdx, [rdx + 0x20]
mov qword [rcx], rax
sal ax, 0x41
setge al
movzx rax, r14w
lea rcx, [rcx + 0x20]
cwde
or ax, 0x4620
bt ax, r11w
mov rax, qword [rdx - 0x18]
jmp 0x18009e37f
mov qword [rcx - 0x18], rax
clc
mov rax, qword [rdx - 0x10]
mov qword [rcx - 0x10], rax
jmp 0x18009e398
mov rax, qword [rdx - 8]
jmp 0x18009e3a1
mov qword [rcx - 8], rax
cmc
test rdi, rsp
cmp r10, r9
sub r8, 1
jmp 0x18009e3b5
jne 0x18009e351
mov rax, qword [rdx]
lea r8, [rsp + 0x40]
mov qword [rcx], rax
btr rax, 0x75
xor r9d, r9d
cmp r11w, r12w
shr al, cl
mov rax, qword [rdx + 8]
test cl, sil
xor edx, edx
cmp r12b, 0x91
cmc
test r10b, r12b
mov qword [rcx + 8], rax
cmc
clc
sub ecx, ecx
jmp 0x18009e3f2
movdqa xmm0, xmmword [rsp + 0x40]
pxor xmm0, xmmword [rbp + 0x120]
movdqa xmm1, xmmword [rsp + 0x50]
pxor xmm1, xmmword [rbp + 0x130]
movdqa xmmword [rsp + 0x40], xmm0
movdqa xmm0, xmmword [rbp + 0x140]
pxor xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm0
movdqa xmm0, xmmword [rbp + 0x160]
pxor xmm0, xmmword [rbp - 0x80]
movdqa xmmword [rsp + 0x50], xmm1
movdqa xmm1, xmmword [rbp + 0x150]
pxor xmm1, xmmword [rsp + 0x70]
movdqa xmmword [rbp - 0x80], xmm0
movdqa xmm0, xmmword [rbp - 0x60]
pxor xmm0, xmmword [rbp + 0x180]
movdqa xmmword [rsp + 0x70], xmm1
movdqa xmm1, xmmword [rbp - 0x70]
pxor xmm1, xmmword [rbp + 0x170]
movdqa xmmword [rbp - 0x60], xmm0
movdqa xmm0, xmmword [rbp + 0x1a0]
pxor xmm0, xmmword [rbp - 0x40]
movdqa xmmword [rbp - 0x70], xmm1
movdqa xmm1, xmmword [rbp + 0x190]
pxor xmm1, xmmword [rbp - 0x50]
movdqa xmmword [rbp - 0x40], xmm0
movdqa xmm0, xmmword [rbp - 0x20]
pxor xmm0, xmmword [rbp + 0x1c0]
movdqa xmmword [rbp - 0x50], xmm1
movdqa xmm1, xmmword [rbp - 0x30]
pxor xmm1, xmmword [rbp + 0x1b0]
movdqa xmmword [rbp - 0x20], xmm0
movdqa xmm0, xmmword [rbp]
pxor xmm0, xmmword [rbp + 0x1e0]
movdqa xmmword [rbp - 0x30], xmm1
movdqa xmm1, xmmword [rbp - 0x10]
pxor xmm1, xmmword [rbp + 0x1d0]
movdqa xmmword [rbp], xmm0
movdqa xmm0, xmmword [rbp + 0x20]
pxor xmm0, xmmword [rbp + 0x200]
movdqa xmmword [rbp - 0x10], xmm1
movdqa xmm1, xmmword [rbp + 0x10]
pxor xmm1, xmmword [rbp + 0x1f0]
movdqa xmmword [rbp + 0x20], xmm0
movdqa xmmword [rbp + 0x10], xmm1
call qword [0x18007c068]
mov qword [0x18007c0e0], rax
movsx dx, bpl
jmp 0x18009e51f
mov rdx, rax
xchg ch, cl
mov rcx, rdi
jmp 0x18009e52c
call fcn.1800fdf77
test al, al
je 0x18009e588
mov rax, qword [0x18007c1c8]
cqo
bswap dx
mov dx, 0x3443
lea r8, [rsp + 0x30]
movzx rdx, bx
mov dx, 0x41cb
mov rdx, qword [0x18007c260]
mov cl, spl
mov rcx, qword [rax + rdi]
jmp 0x18009e569
mov qword [rsp + 0x30], rcx
movzx ecx, r13w
movsx cx, r15b
mov rcx, r12
jmp 0x18009e57f
mov rdx, qword [r15 + rdx]
call fcn.18010ff89
movabs r11, 0x8ca2ad38af81c908
movabs r10, 0xeda4db11bdca0c3b
movsx r8, sp
dec r9b
movabs r9, 0x166f47c6a366a5c6
movabs r8, 0xdc36f9dfe0fd64e9
jmp 0x18009e5bc
inc esi
jmp 0x18009e5c3
add r14, 8
jmp 0x18009e5cc
jmp 0x18009dc1a
sub qword [rsp + 0x20], 1
jmp 0x18009e5dc
jne 0x18009dbf7
mov rbx, qword [rsp + 0x28]
mov r14, qword [rsp + 0x320]
mov r13, qword [rsp + 0x328]
mov rdi, qword [rsp + 0x330]
mov sil, 0x85
mov rsi, qword [rsp + 0x370]
jmp 0x18009e60f
mov byte [0x18007c0e8], 0
jmp 0x18009e61b
mov qword [0x18007c368], rbx
jmp 0x18009e6bc
mov byte [0x18007c0e8], 0
call fcn.180115136
mov rbx, rax
jmp 0x18009e63b
call fcn.180115101
cmp rbx, 0x989680
jne 0x18009e656
imul rax, rax, 0x64
jmp 0x18009e6a6
cqo
bswap r12w
stc
movsx rbp, r11w
idiv rbx
mov rcx, rax
lahf
movzx bp, r10b
clc
imul rax, rdx, 0x3b9aca00
bts r12d, ebx
rcl r15, cl
imul rcx, rcx, 0x3b9aca00
cqo
jmp 0x18009e690
idiv rbx
or bp, r14w
movzx ebx, si
rol rbx, cl
add rax, rcx
shr rbp, 0x2d
shr ebp, cl
mov qword [0x18007c368], rax
sbb r15w, 0x3dd6
inc r12w
cmp bx, 0x5c9
movaps xmm6, xmmword [rsp + 0x310]
add rsp, 0x338
movzx r15, r10w
mov bp, 0x26c3
pop r15
mov r12, 0x2e390992
not bp
pop r12
pop rbx
mov bpl, 0xc0
pop rbp
jmp 0x18009e6eb
ret