Function at 0x1403a66ea
Capabilities:
Authenticate hmac

Disassembly:
push r15
adc r15b, sil
rcr r15b, cl
push r14
push r13
movsx r13, cx
stc
neg r15w
push r12
dec r12b
push rsi
push rdi
cwde
push rbp
movsxd r12, r13d
test r8b, dil
cmc
push rbx
bt r13w, bp
sub rsp, 0x88
movsxd rax, r12d
movzx rax, r15w
mov r12, rcx
movsx ax, r13b
movzx eax, bx
mov r15, qword [rcx + 0xb0]
cbw
bswap r14w
mov r14, qword [rcx + 0xb8]
mov r13d, dword [rcx + 0xa8]
jmp 0x1403a6751
lea rax, [rcx + 0xc8]
jmp 0x1403a675d
mov qword [rsp + 0x58], rax
jmp 0x1403a6767
lea rax, [rcx + 0x92aa]
mov qword [rsp + 0x78], rax
cdqe
lahf
movsx rax, r12w
lea rax, [rcx + 0x192a2]
jmp 0x1403a6786
mov qword [rsp + 0x80], rax
cmovns ax, r11w
lea rax, [rcx + 0xd0]
jmp 0x1403a679f
mov qword [rsp + 0x60], rax
jmp 0x1403a67a9
mov dword [rsp + 0x24], r13d
jmp 0x1403a67dd
mov qword [r12 + 0xb0], r15
movzx ecx, r10w
shr rcx, cl
mov qword [r12 + 0xb8], r14
mov rcx, r12
clc
sub edx, edx
call fcn.1403a7ad7
test eax, eax
jne 0x1403a7a90
test r14, r14
jmp 0x1403a67e5
je 0x1403a681b
mov r9d, dword [r12 + 0x28]
test sil, dil
mov r8d, dword [r12 + 0x2c]
cbw
adc ah, 0x56
lea eax, [r8 + r9]
test ch, cl
cmc
test r9b, 0x9b
cmp eax, 1
jmp 0x1403a6810
ja 0x1403a6867
jmp 0x1403a6a06
test r13d, r13d
jmp 0x1403a6823
je 0x1403a7a55
mov r9d, dword [r12 + 0x28]
cmc
jmp 0x1403a6834
test r9d, r9d
jmp 0x1403a683c
je 0x1403a7a55
mov r8d, dword [r12 + 0x2c]
shrd rax, r9, 0x62
dec ax
lea eax, [r8 + r9]
cmp bx, r15w
test rsi, 0x4d2c7f8a
cmp eax, 1
jbe 0x1403a69f8
mov edx, dword [r12 + 0x24]
shld ax, r12w, 0x4c
lea esi, [rdx + r9]
add bl, 0x85
add esi, 0xfffffffe
bswap eax
add bh, 0x44
sub cl, 0x13
mov eax, esi
and eax, 0x7fff
inc r11b
cmovge cx, si
movzx eax, byte [r12 + rax + 0xc8]
lea ecx, [rdx + r9]
dec ecx
movzx bx, r10b
mov di, r13w
and ecx, 0x7fff
cmp spl, al
and r11d, 0xdf93984
clc
movzx edi, byte [r12 + rcx + 0xc8]
mov ebx, 0x102
bts r11w, r11w
xchg r11b, r11b
mov r11d, esp
sub ebx, r9d
cmp r14, rbx
cmovb rbx, r14
movsx r11w, r11b
adc r11, 0x73c54210
sub r14, rbx
movzx r11w, r11b
lea r11d, [rbx + r9]
cmc
mov dword [r12 + 0x28], r11d
test rbx, rbx
jmp 0x1403a6904
mov qword [rsp + 0x30], r14
jmp 0x1403a690e
je 0x1403a6bec
add edx, r9d
xadd r9b, r9b
cmc
lea r9, [r15 + rbx]
shl eax, 5
cmc
xor eax, edi
jmp 0x1403a692b
jmp 0x1403a69ac
inc r15
jmp 0x1403a6938
movzx ecx, cl
and bpl, 0x2a
rcr rbp, cl
bts bp, dx
shl eax, 5
movsx bp, spl
and eax, 0x7fe0
adc bpl, 0x99
movsx bp, r11b
sar bpl, 0x45
xor eax, ecx
movzx ecx, word [r12 + rax*2 + 0x292aa]
shr bpl, cl
add bp, cx
mov ebp, esi
and ebp, 0x7fff
jmp 0x1403a697e
mov word [r12 + rbp*2 + 0x192aa], cx
jmp 0x1403a698c
mov word [r12 + rax*2 + 0x292aa], si
jmp 0x1403a699a
inc edx
jmp 0x1403a69a1
inc esi
dec rbx
je 0x1403a69f0
and edx, 0x7fff
shld cx, si, 0xa7
movzx rcx, r12w
movzx ecx, byte [r15]
test esp, esp
cmc
mov byte [r12 + rdx + 0xc8], cl
test r10, rbp
test cl, 0x6d
cmp edx, 0x100
ja 0x1403a6930
mov edi, edx
mov byte [r12 + rdi + 0x80c8], cl
jmp 0x1403a69eb
jmp 0x1403a6930
mov r15, r9
jmp 0x1403a6bec
test r14, r14
jmp 0x1403a6a00
je 0x1403a6c40
mov r11d, r9d
shr r10d, cl
movsx r10w, sil
lea r10d, [r9 - 2]
add r9d, r8d
jmp 0x1403a6a1d
inc r9d
xor edx, edx
jmp 0x1403a6a27
jmp 0x1403a6a43
inc rdx
test di, 0x1596
stc
cmp r14, rdx
jmp 0x1403a6a3d
je 0x1403a6bd5
lea eax, [r11 + rdx]
cmp r9b, r10b
cmp eax, 0x101
ja 0x1403a6ba4
movzx ebx, byte [r15 + rdx]
movzx ax, r13b
rcl ax, 0x9c
sal al, cl
mov eax, dword [r12 + 0x24]
sal cl, cl
clc
bsr ecx, r15d
lea ecx, [r11 + rdx]
test al, r12b
add ecx, eax
clc
and ecx, 0x7fff
clc
cmc
cmp r8b, 0x57
mov byte [r12 + rcx + 0xc8], bl
cmp ecx, 0x100
jmp 0x1403a6a9a
ja 0x1403a6ab6
mov ecx, ecx
jmp 0x1403a6aa7
mov byte [r12 + rcx + 0x80c8], bl
setl cl
movzx rcx, r11w
lea ecx, [r11 + rdx]
jmp 0x1403a6abf
inc ecx
cmp bpl, 0xf6
cmc
mov dword [r12 + 0x28], ecx
bswap cx
lea ecx, [r9 + rdx]
cmp cx, 0x51c
cmp al, spl
cmp ecx, 3
jmp 0x1403a6ae2
jb 0x1403a6a2c
movzx ebp, bl
adc bl, 0x5b
add si, 0x7435
shr rbx, 0x33
lea ebx, [r10 + rdx]
ror cl, cl
bts rsi, rdi
add ebx, eax
and dil, dil
sub ecx, edx
and ebx, 0x7fff
bswap esi
mov cl, 0xb3
movzx rcx, r8w
movzx edi, byte [r12 + rbx + 0xc8]
mov cl, bpl
lea ecx, [r11 + rdx]
lea esi, [rax + rcx]
dec esi
and esi, 0x7fff
cmp r8w, 0x376f
movzx esi, byte [r12 + rsi + 0xc8]
jmp 0x1403a6b46
shl rsi, 5
jmp 0x1403a6b4f
xor rsi, rbp
jmp 0x1403a6b5a
and edi, 0x1f
shl rdi, 0xa
xor rdi, rsi
movzx esi, word [r12 + rdi*2 + 0x292aa]
test r15b, 0xe3
clc
stc
mov word [r12 + rbx*2 + 0x192aa], si
cmc
test spl, r10b
clc
add eax, ecx
jmp 0x1403a6b89
add eax, 0xfffffffe
jmp 0x1403a6b91
mov word [r12 + rdi*2 + 0x292aa], ax
jmp 0x1403a6b9f
jmp 0x1403a6a2c
add r11d, edx
rcr r9b, cl
test r9w, 0x6f63
lea r15, [r15 + rdx]
shl r9w, cl
sub r14, rdx
mov qword [rsp + 0x30], r14
seto r9b
movsx r9d, dx
mov r9d, r11d
jmp 0x1403a6bd0
jmp 0x1403a6c4f
add r11d, edx
shl r14b, cl
add r15, rdx
xor eax, eax
sbb r14b, 0x2f
mov qword [rsp + 0x30], rax
bswap r14d
mov r14d, 0x8000
cmp r11b, 0x51
cmc
jmp 0x1403a6bfc
sub r14d, r11d
cmp r14d, r8d
jmp 0x1403a6c07
cmovae r14d, r8d
test rsp, rbx
jmp 0x1403a6c13
mov dword [r12 + 0x2c], r14d
test bx, dx
test r13d, r13d
jmp 0x1403a6c23
jne 0x1403a6c84
cmp r11d, 0x102
jmp 0x1403a6c35
jae 0x1403a6c84
jmp 0x1403a7a61
sub eax, eax
sal bpl, cl
jmp 0x1403a6c4a
mov qword [rsp + 0x30], rax
mov r14d, 0x8000
bsr cx, cx
sub r14d, r9d
cmp r14d, r8d
bswap r11w
movsx di, bl
cmovae r14d, r8d
mov dword [r12 + 0x2c], r14d
ror ax, 0xa6
rcl sil, 0xc8
mov r11d, r9d
xadd di, r8w
btr edi, ebp
cmc
mov ebp, r11d
mov rcx, 0x20d5360f
mov edi, dword [r12 + 0x68]
test edi, edi
movsxd r8, r9d
sete sil
movzx r8w, al
mov eax, edi
mov ecx, 2
movsx r8, r10w
setae sil
cmove eax, ecx
rcl rsi, cl
btr esi, 0xe5
sub r8d, 0x519919bf
mov r8d, dword [r12 + 0x10]
shl si, 0xde
mov esi, dword [r12 + 0x24]
sar ch, cl
sbb ecx, r8d
cmc
mov ecx, esi
and ecx, 0x7fff
mov qword [rsp + 0x40], rcx
cmp esi, 0x2e8055a8
test r12b, r14b
test r8w, 0x3048
sub ebx, ebx
cmp r10b, r9b
clc
test r10d, r14d
test r8d, 0x90000
jmp 0x1403a6d06
je 0x1403a6dc5
test r14d, r14d
jmp 0x1403a6d14
je 0x1403a71ff
mov ecx, r8d
shld r14w, r9w, 0xa2
cmp ebp, r13d
and ecx, 0x80000
movsxd r14, r13d
mov r14, qword [rsp + 0x30]
jne 0x1403a7269
test rbp, rbp
jmp 0x1403a6d42
je 0x1403a7246
lea eax, [rsi - 1]
not dx
bts ecx, eax
and eax, 0x7fff
btr rdx, r8
btr dx, 0xdf
movzx ecx, byte [r12 + rax + 0xc8]
rcl dh, 0xe2
adc dl, r14b
and esi, 0x7fff
ror dx, 0xd0
rol dh, cl
sar rdx, 0xaf
sub eax, eax
nop dword [rax]
lea edx, [rsi + rax]
jmp 0x1403a6d93
cmp byte [r12 + rdx + 0xc8], cl
jmp 0x1403a6da0
jne 0x1403a7248
inc rax
cmc
stc
cmp rbp, rax
jmp 0x1403a6db3
jne 0x1403a6d87
mov eax, ebp
jmp 0x1403a6dc0
jmp 0x1403a7248
cmp eax, ebp
jmp 0x1403a6dcc
jae 0x1403a71ff
mov qword [rsp + 0x50], rbp
mov dword [rsp + 0x28], edi
mov dword [rsp + 0x2c], r8d
inc r9w
mov r8b, r10b
mov rcx, qword [rsp + 0x58]
cqo
jmp 0x1403a6df4
mov r9, qword [rsp + 0x40]
movsx r8w, r15b
movsx r8, si
lea rdx, [rcx + r9]
mov qword [rsp + 0x70], rdx
movzx di, r13b
movzx ecx, word [rcx + r9]
not di
mov word [rsp + 0x3e], cx
movsx rdi, cx
lea ecx, [r9 - 1]
movsx rdi, r14w
mov qword [rsp + 0x68], rcx
xchg dil, cl
movsx r13d, dx
inc cl
lea ecx, [r9 + rax]
movzx rdi, r15w
dec ecx
sub edx, edx
ror r8, 0x38
cmp eax, 0x20
xchg dl, r8b
setae dl
movzx r10w, r14b
setne r10b
dec r8b
mov r10d, dword [r12 + rdx*4 + 0x14]
bswap r8
cqo
movsx dx, r11b
lea rdx, [r12 + r9]
movsx r8w, spl
mov qword [rsp + 0x48], rdx
movsx r13d, r12w
movsx r8, ax
jmp 0x1403a6e86
mov dword [rsp + 0x38], 0
mov ecx, ecx
dec r8b
movzx edi, word [r12 + rcx + 0xc8]
lea r8d, [rax - 1]
movsxd r13, r10d
inc r13
bswap r13w
dec r10d
cmc
mov r13d, r10d
jmp 0x1403a6eba
sub r13d, 1
jmp 0x1403a6ec3
jb 0x1403a720e
nop
mov ecx, r9d
sub r9b, r10b
movzx r9d, word [r12 + rcx*2 + 0x192aa]
test ch, al
clc
test r9d, r9d
jmp 0x1403a6ee4
je 0x1403a720e
mov ecx, esi
sete bh
sub ecx, r9d
or bx, 0x37c0
movzx ebx, cx
cmp r14d, ebx
jmp 0x1403a6f02
jb 0x1403a720e
and r9d, 0x7fff
xor cl, 0x4c
lea ecx, [r8 + r9]
test r10, r14
stc
cmp word [r12 + rcx + 0xc8], di
jmp 0x1403a6f28
je 0x1403a6ff3
movzx r9d, word [r12 + r9*2 + 0x192aa]
test bl, r11b
jmp 0x1403a6f3f
test r9d, r9d
jmp 0x1403a6f47
je 0x1403a720e
mov ecx, esi
movsx bx, dl
cmovo bx, r8w
sub ecx, r9d
bsr bx, sp
btc rbx, rdx
movzx ebx, cx
jmp 0x1403a6f6c
cmp r14d, ebx
jmp 0x1403a6f74
jb 0x1403a720e
and r9d, 0x7fff
lea ecx, [r8 + r9]
stc
cmp word [r12 + rcx + 0xc8], di
je 0x1403a6ff3
movzx r9d, word [r12 + r9*2 + 0x192aa]
test r9d, r9d
jmp 0x1403a6fa6
je 0x1403a720e
mov ecx, esi
sub ecx, r9d
movzx ebx, cx
test r8d, r13d
cmp r14d, ebx
jmp 0x1403a6fbf
jb 0x1403a720e
and r9d, 0x7fff
lea ecx, [r8 + r9]
test ah, 0xce
cmp spl, 0xa
jmp 0x1403a6fdc
cmp word [r12 + rcx + 0xc8], di
jmp 0x1403a6fea
jne 0x1403a701f
nop
clc
test ebx, ebx
je 0x1403a720e
mov r11d, r9d
mov rcx, qword [rsp + 0x58]
jmp 0x1403a700a
movzx edx, word [rsp + 0x3e]
cmp word [rcx + r11], dx
jmp 0x1403a7019
je 0x1403a7036
mov r10d, r13d
sub r13d, 1
jmp 0x1403a702b
jae 0x1403a6eca
jmp 0x1403a720e
add r11, qword [rsp + 0x60]
sub edx, edx
rcr cx, cl
dec r13d
ror r13b, 0x95
mov r13, qword [rsp + 0x48]
nop word [rax + rax]
movzx ebp, word [r13 + rdx + 0xca]
movzx ecx, word [r11 + rdx - 6]
test r10w, di
cmp bp, cx
jmp 0x1403a706d
jne 0x1403a7108
movzx ebp, word [r13 + rdx + 0xcc]
clc
movzx ecx, word [r11 + rdx - 4]
cmp bp, r9w
cmp bp, cx
jmp 0x1403a708f
jne 0x1403a711d
movzx ebp, word [r13 + rdx + 0xce]
movsx rcx, r12w
movzx ecx, word [r11 + rdx - 2]
test r9b, 0xbe
test r13b, r9b
cmp bp, cx
jmp 0x1403a70b7
jne 0x1403a712e
movzx ebp, word [r13 + rdx + 0xd0]
mov ch, 0x6d
bsf cx, bp
cmovle cx, sp
movzx ecx, word [r11 + rdx]
jmp 0x1403a70db
cmp bp, cx
jne 0x1403a713e
add rdx, 8
shl r13w, 0xf4
cmp edx, 0x100
mov r13, qword [rsp + 0x48]
jmp 0x1403a70fd
jne 0x1403a7052
jmp 0x1403a79bc
lea r11, [rdx + r13]
add r11, 0xca
jmp 0x1403a7118
jmp 0x1403a7165
lea r11, [rdx + r13]
cmc
add r11, 0xcc
jmp 0x1403a7165
lea r11, [rdx + r13]
add r11, 0xce
jmp 0x1403a7165
mov r13d, edi
sal dil, 0xb1
bsf r11w, r14w
mov rdi, qword [rsp + 0x48]
sub r11b, r9b
lea r11, [rdi + rdx]
xchg dil, dil
add r11, 0xd0
mov edi, r13d
clc
stc
sub r11d, dword [rsp + 0x70]
cmp ax, 0x6822
jmp 0x1403a7174
and r11d, 0xfffffffe
sub r13d, r13d
inc r13b
cmp bpl, cl
jmp 0x1403a7186
sete r13b
jmp 0x1403a718f
or r13d, r11d
btr r11d, 0xef
rol r11, cl
cmp r13d, eax
movsx r11w, bl
mov r11b, 0x38
not r11w
mov r11d, dword [rsp + 0x24]
jmp 0x1403a71b3
jbe 0x1403a6eaa
mov rax, qword [rsp + 0x50]
cmc
cmp r13d, eax
cmovae r13d, eax
jmp 0x1403a71cb
jae 0x1403a7a21
mov rax, qword [rsp + 0x68]
lea ecx, [rax + r13]
movzx ax, r15b
cbw
mov eax, ebx
movzx ax, r11b
cwde
mov dword [rsp + 0x38], ebx
jmp 0x1403a71f2
mov eax, r13d
jmp 0x1403a71fa
jmp 0x1403a6e8e
mov r14, qword [rsp + 0x30]
jmp 0x1403a7209
jmp 0x1403a7269
mov ecx, dword [rsp + 0x38]
mov ebx, ecx
mov r14b, dil
not r8b
mov r13d, dword [rsp + 0x24]
movsx di, bl
not di
movzx di, r10b
mov r14, qword [rsp + 0x30]
mov r8d, dword [rsp + 0x2c]
bswap rdi
mov edi, dword [rsp + 0x28]
jmp 0x1403a7241
jmp 0x1403a7269
sub eax, eax
xor ebx, ebx
cmp eax, 3
setae bl
jmp 0x1403a7255
mov ecx, 0
jmp 0x1403a7261
cmovb eax, ecx
add cl, 0x6a
mov dl, 0xb
cmp eax, 3
mov cl, bpl
not cl
sete cl
ror dl, cl
cmp ebx, 0x2000
setae dl
stc
clc
test cl, dl
jmp 0x1403a7288
jne 0x1403a72b3
cmp dword [rsp + 0x40], ebx
je 0x1403a72b3
test r8d, 0x20000
je 0x1403a7449
cmp eax, 6
jmp 0x1403a72ad
jae 0x1403a7449
test edi, edi
je 0x1403a7827
mov eax, dword [r12 + 0x64]
bts dx, r15w
sal cx, cl
stc
add dword [r12 + 0x54], edi
jmp 0x1403a72d4
add edi, 0xfffffffd
movzx rcx, r15w
setg dh
mov rcx, qword [r12 + 0x30]
mov bl, r15b
cmovge bx, r8w
mov byte [rcx], dil
setl dh
movzx rdx, di
cwd
dec eax
mov rcx, qword [r12 + 0x30]
cmc
mov byte [rcx + 1], al
mov ecx, eax
movzx dx, r12b
sub dh, 0x7f
mov dh, 0x4d
shr ecx, 8
mov rdx, qword [r12 + 0x30]
add bh, bh
movsx ebx, r13w
mov byte [rdx + 2], cl
bts ebx, r15d
clc
test r9w, 0x63b3
add qword [r12 + 0x30], 3
mov rdx, qword [r12 + 0x38]
movzx rbx, sp
movzx ebx, byte [rdx]
stc
clc
test r10w, r8w
shr bl, 1
jmp 0x1403a734a
or bl, 0x80
jmp 0x1403a7352
mov byte [rdx], bl
jmp 0x1403a7359
dec dword [r12 + 0x50]
jne 0x1403a739b
mov dword [r12 + 0x50], 8
mov rdx, qword [r12 + 0x30]
not bp
shr bp, 0xdc
shl bpl, 0x56
lea rbp, [rdx + 1]
mov qword [r12 + 0x30], rbp
cmovno ebp, r9d
shr bpl, cl
xor ebp, 0x1a276e4a
mov qword [r12 + 0x38], rdx
test r10b, r9b
mov edx, eax
test r14w, r15w
and edx, 0x1ff
mov bpl, 0xbf
rol bpl, 0x15
lea rbp, [0x1400bcab0]
test di, 0x4001
lea rdx, [rdx + rbp]
and ecx, 0x7f
lea rbp, [0x1400bccb0]
test r14, 0x6bb20184
stc
lea rcx, [rcx + rbp]
cmc
cmp eax, 0x200
movzx ax, al
cmovno ax, r9w
cmovb rcx, rdx
movsx rax, r8w
movzx eax, byte [rcx]
bswap ecx
inc word [r12 + rax*2 + 0x840a]
movsx cx, spl
cwde
inc eax
mov eax, edi
jmp 0x1403a740a
lea rcx, [0x1400bcd30]
movzx eax, word [rcx + rax*2]
jmp 0x1403a741a
inc word [r12 + rax*2 + 0x81ca]
mov ah, ah
mov eax, dword [r12 + 0x68]
jmp 0x1403a742f
dec eax
jmp 0x1403a7436
mov dword [r12 + 0x68], 0
jmp 0x1403a7444
jmp 0x1403a78c7
test edi, edi
jmp 0x1403a7450
je 0x1403a7684
cmp eax, edi
jmp 0x1403a745d
jbe 0x1403a72bb
mov ecx, dword [r12 + 0x6c]
seto dh
movzx edx, dx
movsxd rbp, r10d
inc dword [r12 + 0x54]
sub bpl, 0xf2
bts bp, r12w
mov rdx, qword [r12 + 0x30]
btr rbp, 0x1b
bswap bp
lea rbp, [rdx + 1]
mov qword [r12 + 0x30], rbp
mov byte [rdx], cl
sbb dx, 0x7db1
dec rdx
bts dx, dx
mov rdx, qword [r12 + 0x38]
jmp 0x1403a74b4
shr byte [rdx], 1
jmp 0x1403a74bb
dec dword [r12 + 0x50]
jmp 0x1403a74c5
jne 0x1403a74fb
mov dword [r12 + 0x50], 8
mov rdx, qword [r12 + 0x30]
bswap ebp
cmova rbp, rsp
movsx ebp, r13w
lea rbp, [rdx + 1]
jmp 0x1403a74ec
mov qword [r12 + 0x30], rbp
mov qword [r12 + 0x38], rdx
jmp 0x1403a74fb
movzx ecx, cl
jmp 0x1403a7503
inc word [r12 + rcx*2 + 0x81ca]
clc
test r13b, 0xb7
cmp eax, 0x80
jb 0x1403a7986
add dword [r12 + 0x54], eax
cmovne bp, r8w
movzx edx, si
mov dx, 0x3537
lea edi, [rax - 3]
cmovne dx, sp
movsx rcx, r12w
mov rdx, qword [r12 + 0x30]
bswap rbp
mov byte [rdx], dil
dec edx
dec ebx
bsr bp, bx
ror ebp, cl
rcr cl, 0x8a
mov rdx, qword [r12 + 0x30]
xadd bpl, bpl
mov byte [rdx + 1], bl
mov edx, ebx
shr edx, 8
shr cx, cl
mov rbp, qword [r12 + 0x30]
shr cl, cl
cmp r11b, 0xca
bswap ecx
mov byte [rbp + 2], dl
test dil, r8b
add qword [r12 + 0x30], 3
clc
shr ch, cl
mov rbp, qword [r12 + 0x38]
adc ecx, r15d
movzx ecx, byte [rbp]
shr cl, 1
cmp spl, dl
clc
or cl, 0x80
mov byte [rbp], cl
dec dword [r12 + 0x50]
jmp 0x1403a75a2
jne 0x1403a75de
mov dword [r12 + 0x50], 8
cmp r13w, sp
cmovl cx, r13w
mov rcx, qword [r12 + 0x30]
ror ebp, 0x6d
sal bpl, 0xb0
xor bp, 0x315
lea rbp, [rcx + 1]
mov qword [r12 + 0x30], rbp
mov qword [r12 + 0x38], rcx
bt rbp, 0x11
mov ecx, ebx
inc bpl
shl rbp, 0xbb
and ecx, 0x1ff
sub bp, 0x1834
dec bpl
sal rbp, 0x71
lea rbp, [0x1400bcab0]
clc
stc
lea rcx, [rcx + rbp]
and edx, 0x7f
bt bp, r12w
lea rbp, [0x1400bccb0]
add rdx, rbp
cmp ebx, 0x200
jmp 0x1403a7623
cmovb rdx, rcx
movsx ecx, r15w
bswap cx
jmp 0x1403a7633
movzx ecx, byte [rdx]
movzx rdx, cx
mov dl, al
inc word [r12 + rcx*2 + 0x840a]
xchg rdx, rcx
not cx
mov ecx, edi
inc dh
mov dx, 0x46ef
lea rdx, [0x1400bcd30]
jmp 0x1403a765f
movzx ecx, word [rdx + rcx*2]
inc word [r12 + rcx*2 + 0x81ca]
jmp 0x1403a7671
mov dword [r12 + 0x68], 0
jmp 0x1403a767f
jmp 0x1403a78c7
test ebx, ebx
jmp 0x1403a768b
je 0x1403a7827
cmp dword [r12 + 0x1c], 0
je 0x1403a7964
add dword [r12 + 0x54], eax
lea edi, [rax - 3]
mov dh, 0x5f
mov rdx, qword [r12 + 0x30]
movzx cx, dh
movsx bp, sil
mov byte [rdx], dil
mov cl, dil
cmovl cx, r11w
dec ebx
movsxd rdx, esi
cmp r12, r15
mov rdx, qword [r12 + 0x30]
sbb ecx, edi
mov byte [rdx + 1], bl
mov edx, ebx
bt bp, 0xca
shr edx, 8
cmp sil, bpl
mov rbp, qword [r12 + 0x30]
movsx rcx, r8w
rcr ecx, cl
mov byte [rbp + 2], dl
shrd cx, r15w, 0xe8
xor cl, r15b
add qword [r12 + 0x30], 3
rol bpl, 0x90
sal bpl, cl
movsx cx, dil
mov rbp, qword [r12 + 0x38]
inc cx
sbb cl, 0xdb
movzx ecx, byte [rbp]
shr cl, 1
stc
or cl, 0x80
jmp 0x1403a7723
mov byte [rbp], cl
jmp 0x1403a772b
dec dword [r12 + 0x50]
jne 0x1403a7780
mov dword [r12 + 0x50], 8
xadd ecx, ecx
not cl
sar cx, 0x36
mov rcx, qword [r12 + 0x30]
bt bp, 0x7e
sar bpl, 0xfa
shld bp, dx, 0xd8
lea rbp, [rcx + 1]
mov qword [r12 + 0x30], rbp
sal ebp, 0x9f
bt rbp, r9
mov qword [r12 + 0x38], rcx
movsx cx, spl
mov rcx, 0x103b1bf3
bsr rcx, r12
mov ecx, ebx
cmp r8b, r11b
btc bp, 0xb3
movsx rbp, dx
and ecx, 0x1ff
shr bpl, 0x92
adc rbp, 0x219f5858
lea rbp, [0x1400bcab0]
cmp bpl, r11b
test bl, r8b
add rcx, rbp
sub bp, 0x553c
and bp, dx
and edx, 0x7f
mov bpl, 0x80
lea rbp, [0x1400bccb0]
stc
add rdx, rbp
test ebp, r12d
cmp r8b, 0x92
jmp 0x1403a77d4
cmp ebx, 0x200
jmp 0x1403a77df
cmovb rdx, rcx
movzx ecx, byte [rdx]
cqo
not dl
movsxd rdx, r14d
inc word [r12 + rcx*2 + 0x840a]
jmp 0x1403a77fb
mov ecx, edi
xchg dl, dl
movzx dx, r9b
lea rdx, [0x1400bcd30]
jmp 0x1403a7810
movzx ecx, word [rdx + rcx*2]
jmp 0x1403a7819
inc word [r12 + rcx*2 + 0x81ca]
jmp 0x1403a78c7
mov rax, qword [rsp + 0x40]
dec dl
movsx dx, spl
movzx eax, byte [r12 + rax + 0xc8]
inc dword [r12 + 0x54]
mov rcx, qword [r12 + 0x30]
lea rdx, [rcx + 1]
cmp r13b, r13b
mov qword [r12 + 0x30], rdx
test r12d, r10d
mov byte [rcx], al
stc
mov rcx, qword [r12 + 0x38]
jmp 0x1403a7864
shr byte [rcx], 1
jmp 0x1403a786b
dec dword [r12 + 0x50]
jmp 0x1403a7875
jne 0x1403a78ab
mov dword [r12 + 0x50], 8
mov rcx, qword [r12 + 0x30]
lea rdx, [rcx + 1]
jmp 0x1403a7892
mov qword [r12 + 0x30], rdx
jmp 0x1403a789c
mov qword [r12 + 0x38], rcx
mov ch, 0x5c
movsx ecx, cx
movsx rcx, si
inc word [r12 + rax*2 + 0x81ca]
shr rcx, 0xad
mov eax, 1
movsxd rcx, r14d
shrd ecx, edx, 0x73
ror cx, cl
add dword [r12 + 0x24], eax
shld rcx, r8, 0xf0
sub dword [r12 + 0x28], eax
add eax, dword [r12 + 0x2c]
cmp eax, 0x8000
not rcx
movsx ecx, bx
mov ecx, 0x8000
jmp 0x1403a78f0
cmovae eax, ecx
test r14d, r14d
test r10w, 0x6fe
mov dword [r12 + 0x2c], eax
movsx ax, r14b
xor al, dil
sub al, r13b
mov rax, qword [r12 + 0x30]
cmp rax, qword [rsp + 0x80]
jmp 0x1403a791e
ja 0x1403a67b3
mov ecx, dword [r12 + 0x54]
stc
cmc
cmp ecx, 0x7c01
jmp 0x1403a7936
jb 0x1403a67dd
sub eax, dword [rsp + 0x78]
imul eax, eax, 0x73
shr eax, 7
cmp eax, ecx
jmp 0x1403a794d
jae 0x1403a67b3
test byte [r12 + 0x12], 8
je 0x1403a67dd
jmp 0x1403a67b3
test r8d, 0x10000
jmp 0x1403a7970
jne 0x1403a769d
cmp eax, 0x80
jmp 0x1403a7980
jae 0x1403a769d
mov rcx, qword [rsp + 0x40]
movzx ecx, byte [r12 + rcx + 0xc8]
jmp 0x1403a7999
mov dword [r12 + 0x6c], ecx
jmp 0x1403a79a3
mov dword [r12 + 0x64], ebx
jmp 0x1403a79ad
mov dword [r12 + 0x68], eax
jmp 0x1403a79b7
jmp 0x1403a78b8
mov rcx, qword [rsp + 0x50]
shr rdi, cl
and r13w, 0x6fd5
cmp ecx, 0x102
movzx r14, r13w
mov r8, r14
mov eax, 0x102
movzx r13, dx
cmovae ecx, eax
movzx edi, r13w
movsx r8w, al
mov eax, ecx
not r13b
movzx r14, r9w
jmp 0x1403a79fa
mov r14, qword [rsp + 0x30]
mov r8d, dword [rsp + 0x2c]
mov r13d, dword [rsp + 0x24]
movsx edi, di
movzx rdi, si
not di
mov edi, dword [rsp + 0x28]
jmp 0x1403a7a1c
jmp 0x1403a7269
mov eax, r13d
mov r14, qword [rsp + 0x30]
movzx r8d, dx
jmp 0x1403a7a32
mov r8d, dword [rsp + 0x2c]
setg r13b
movsx di, bpl
movsx rdi, r9w
mov edi, dword [rsp + 0x28]
mov r13d, r11d
jmp 0x1403a7a50
jmp 0x1403a7269
xor eax, eax
jmp 0x1403a7a5c
mov qword [rsp + 0x30], rax
mov qword [r12 + 0xb0], r15
mov rax, qword [rsp + 0x30]
jmp 0x1403a7a73
mov qword [r12 + 0xb8], rax
not ah
cmova rax, rdi
mov eax, 1
jmp 0x1403a7a8b
jmp 0x1403a7aa2
not eax
shr eax, 0x1f
and r14w, 0x57c4
ror r13, 0x86
shr r14b, cl
add rsp, 0x88
cmovne r13d, r11d
movsx r15w, r9b
pop rbx
pop rbp
pop rdi
cmovge r15, rbx
pop rsi
mov r12w, ax
not r15d
pop r12
mov r15w, r9w
movsx r15w, bl
pop r13
pop r14
movsx r15, r10w
pop r15
ret