Function at 0x285ec7
Capabilities:
Authenticate hmac

Disassembly:
mov qword [rsp + 0x18], r8
neg r11w
test dil, dl
sbb r8w, r14w
mov qword [rsp + 0x10], rdx
jmp 0x285ee1
mov qword [rsp + 8], rcx
adc r9b, r9b
and al, r15b
push rbx
push rbp
sbb dl, 0x9e
rcr r9b, 0x6a
cmp di, 0x673c
push rsi
lahf
or rbx, r11
push rdi
test r14b, 0x32
movzx ax, r14b
push r12
cwde
push r13
push r14
rcr r11b, 0x74
cmc
cwd
push r15
sub rsp, 0x48
bswap edi
shl r11w, 0x24
shr r11b, 0x92
mov eax, dword [rcx + 0x4c]
mov edi, dword [rcx + 0x58]
movzx r13, r8w
movsxd r8, ecx
mov r13, qword [rcx + 0x10]
sub r10w, sp
cmovle r11w, ax
btr r14w, 0xf7
mov r15d, dword [rcx + 0x48]
shr rdx, cl
sal r14b, 0x85
bsr r9w, ax
mov rdx, rcx
mov dword [rsp], eax
mov eax, dword [rcx + 0x50]
xor bh, cl
btc r11d, 0x59
mov rsi, qword [rdx + 0x18]
mov r10d, dword [rdx + 0x40]
bts bp, cx
shr ebp, 0x33
mov r14, qword [rdx + 0x30]
inc r9b
mov rbp, qword [rdx + 0x20]
btr r11d, 0xcb
xchg r11b, bl
shl r9w, cl
mov r9d, dword [rdx + 0x28]
not r11b
mov r8d, dword [rdx + 0x2c]
clc
inc r12w
cmc
mov dword [rsp + 4], eax
mov eax, dword [rcx + 0x54]
cmovp r11w, sp
adc bl, 0x73
mov ecx, dword [rcx + 8]
add r12b, bpl
bswap r11w
mov dword [rsp + 8], eax
mov r11b, 8
mov eax, 1
xchg r11b, r12b
movsx r12, r9w
mov r11d, 1
rcr r12b, cl
btr bx, 0x95
setb r12b
mov dword [rsp + 0xc], edi
test si, r11w
mov qword [rsp + 0x30], rsi
rol bh, 0x3a
shl r11d, cl
movsx r12w, r15b
bswap rcx
mov ecx, dword [rdx + 4]
shld bx, ax, 0x74
rcl r12b, 0xf4
xor r12b, cl
mov dword [rsp + 0xa8], r10d
inc r12
bsf ebx, r9d
xor r12d, 0x33f926bb
shl eax, cl
sets r12b
movsx rbx, cx
dec r12b
dec r11d
movzx bx, dl
not ch
dec eax
movzx bx, sil
movzx rbx, ax
sub ebx, r9d
mov dword [rsp + 0x20], r11d
sub bh, 0xba
mov cl, r15b
cmc
mov dword [rsp + 0x24], eax
cmc
rol al, cl
add r12d, r13d
mov eax, dword [rdx]
adc cx, 0x2ce8
shrd rbx, r11, 0xba
bts r12w, r9w
mov dword [rsp + 0x28], eax
mov rax, qword [rdx + 0x38]
movsx rbx, r11w
sar bl, 0xc3
mov qword [rsp + 0x18], rax
bswap r12d
adc r12w, 0x2500
test bpl, 0x72
mov eax, dword [rdx + 0x44]
mov dword [rsp + 0x10], eax
movsx r12w, sil
setle bl
test r9w, bp
xor eax, eax
mov r12d, eax
shl bh, cl
add cl, 0xc8
nop
or cl, 0xa2
shld rbx, r9, 0xce
cwde
mov ebx, r10d
shr ch, cl
jmp 0x2860bf
and ebx, r11d
and ah, 0x60
and r11b, r8b
mov r11d, r15d
btr eax, r10d
movzx eax, sp
shl r11d, 4
mov cx, bp
movsx cx, bpl
mov eax, ebx
inc cx
and cl, 0xcf
xchg rcx, rcx
lea r11, [r11 + rax]
movzx ecx, word [r13 + r11*2]
cmp r9d, 0x1000000
jmp 0x2860ff
jae 0x28611c
movzx eax, byte [rbp]
shl r8d, 8
shl r9d, 8
or r8d, eax
bswap eax
inc ax
inc rbp
mov eax, r9d
shr eax, 0xb
test r8, 0x515d042e
imul eax, ecx
cmc
cmp r8d, eax
jmp 0x286135
jae 0x286519
mov r9d, eax
sbb ah, 0xad
mov dil, 0x37
mov eax, 0x800
setb dil
bt di, 0x66
shl di, 0x31
lea rdi, [r13 + 0xe6c]
cmp ebp, 0x604376cd
test r10b, r12b
cmc
sub eax, ecx
shr eax, 5
stc
cmc
add ax, cx
clc
cmp dword [rsp + 0x10], 0
jmp 0x28617c
mov word [r13 + r11*2], ax
jmp 0x286187
jne 0x28619b
test r10d, r10d
jmp 0x286195
je 0x286226
mov ebx, dword [rsp + 0x28]
sub rax, r10
btc r11w, di
and cl, r14b
mov r11, qword [rsp + 0x18]
test r14, r14
mov ecx, 8
cwde
lahf
not al
mov rax, r14
movsx dx, r13b
mov edx, eax
xchg dx, dx
cmove rax, r11
setns dh
bt edx, 0x9c
sub cl, bl
bts rdx, rbx
cwd
movzx edx, byte [rax + rsi - 1]
and al, 0xbc
mov eax, r10d
and eax, dword [rsp + 0x24]
stc
shr edx, cl
mov ecx, ebx
cmp r14b, 0x90
test rsp, r8
jmp 0x2861fa
shl eax, cl
jmp 0x286201
add edx, eax
and rax, 0x59f305e9
lea eax, [rdx + rdx*2]
mov rdx, qword [rsp + 0x90]
jmp 0x28621a
shl eax, 8
lea rdi, [rdi + rax*2]
jmp 0x28622e
mov r11, qword [rsp + 0x18]
test dh, al
clc
cmp r15d, 7
jmp 0x286237
jae 0x28635a
cmp r15d, 4
cdqe
cqo
movsx rax, si
mov eax, 3
movsxd rdx, edi
movzx ecx, si
movsx rdx, r12w
mov edx, 1
cmovb eax, r15d
bsr r10w, sp
ror ecx, cl
sal cl, cl
sub r15d, eax
or r10, rdx
nop
movsx r10, di
mov r10d, edx
shl cx, cl
test sil, r13b
xadd cl, ch
movzx ecx, word [rdi + r10*2]
jmp 0x28628f
cmp r9d, 0x1000000
jmp 0x28629b
jae 0x2862ba
movzx eax, byte [rbp]
shl r8d, 8
shl r9d, 8
or r8d, eax
cmovle rax, rbx
inc rbp
rcr al, 0xc0
mov eax, r9d
cmp r11w, 0x11cf
test r15b, 0x4a
shr eax, 0xb
imul eax, ecx
cmp sil, r14b
cmp r8d, eax
jmp 0x2862d8
jae 0x286318
mov r9d, eax
mov eax, 0x800
cmp rdx, 0x7918284f
cmp dl, dil
sub eax, ecx
jmp 0x2862fa
shr eax, 5
clc
jmp 0x286303
add ax, cx
clc
add edx, edx
mov word [rdi + r10*2], ax
jmp 0x286313
jmp 0x286344
sub r9d, eax
jmp 0x286327
sub r8d, eax
and al, dil
mov eax, ecx
shr eax, 5
cmp bpl, sil
lea edx, [rdx + rdx + 1]
sub cx, ax
clc
test ah, al
mov word [rdi + r10*2], cx
cmp edx, 0x100
jmp 0x28634f
jb 0x286275
jmp 0x2864eb
mov eax, dword [rsp]
movzx ebx, bp
sub ecx, ecx
mov ebx, 0x100
rcl sil, 0xec
btr r10d, 0x37
cmp r14, rax
jmp 0x286378
cmovb rcx, r11
sub rcx, rax
lahf
bt r11w, r9w
movzx r10w, r10b
mov eax, 6
ror r11d, cl
btc rsi, 0x61
shr r11d, cl
add rcx, qword [rdx + 0x18]
cmp r15d, 0xa
movzx esi, byte [rcx + r14]
mov ecx, 3
movzx edx, bp
cmovb eax, ecx
lea edx, [rcx - 2]
sub r15d, eax
setg r11b
add esi, esi
rcl ch, cl
ror al, 0x46
mov eax, ebx
xor r10b, r14b
mov r11d, ebx
sar cx, 0xdc
btr r10w, r11w
adc rcx, rbx
and r11d, esi
mov r10d, r11d
bts cx, r14w
add r10, rax
mov eax, edx
movsx rcx, r13w
bts cx, r9w
add r10, rax
movzx ecx, word [rdi + r10*2]
cmp r9d, 0x1000000
jmp 0x286404
jae 0x28642f
movzx eax, byte [rbp]
jmp 0x286414
shl r8d, 8
stc
shl r9d, 8
or r8d, eax
cmovge ax, r8w
inc rbp
mov ax, dx
sal ah, cl
sub al, bh
mov eax, r9d
shr eax, 0xb
test al, 0xcf
jmp 0x28643c
imul eax, ecx
cmp rdx, 0x186840a7
cmp r8d, eax
jae 0x286495
mov r9d, eax
movsxd rax, eax
cmc
mov eax, 0x800
cmp bpl, 0xde
stc
jmp 0x286465
not r11d
cmp sil, r8b
cmp r14w, 0x58cb
sub eax, ecx
cmp sil, 0xa
test r15b, 0x26
shr eax, 5
cmp ax, si
add ax, cx
add edx, edx
jmp 0x28648b
mov word [rdi + r10*2], ax
jmp 0x2864c2
sub r9d, eax
test r8, 0x3dca0aeb
stc
sub r8d, eax
mov eax, ecx
test ch, 0xae
stc
shr eax, 5
lea edx, [rdx + rdx + 1]
cmp spl, 0xed
sub cx, ax
clc
jmp 0x2864bd
mov word [rdi + r10*2], cx
and ebx, r11d
stc
test r13b, 0x46
cmp edx, 0x100
jmp 0x2864d5
jb 0x2863bc
mov rsi, qword [rsp + 0x30]
xchg r10b, r10b
movsx r10, sp
setl r10b
mov r10d, dword [rsp + 0xa8]
jmp 0x2864f8
mov byte [r14 + rsi], dl
inc r14
inc r10d
jmp 0x286507
mov dword [rsp + 0xa8], r10d
jmp 0x286514
jmp 0x287af1
sub r9d, eax
not r10b
sar r10b, cl
test bh, 0x61
sub r8d, eax
and r10w, r11w
test r13d, r15d
mov eax, ecx
xchg r10b, r10b
movzx r10, r14w
neg r10w
shr eax, 5
mov r10d, r15d
sub cx, ax
test sp, di
mov word [r13 + r11*2], cx
sbb cl, 0x45
shl cx, 3
movzx cx, bpl
movzx ecx, word [r13 + r10*2 + 0x180]
cmc
test si, 0x1906
cmp r9d, 0x1000000
jmp 0x286575
jae 0x286599
movzx eax, byte [rbp]
shl r8d, 8
shl r9d, 8
or r8d, eax
xchg al, al
inc rbp
shrd ax, r9w, 0xa9
cmovbe ax, sp
mov eax, r9d
cmp r11w, 0x5d4
shr eax, 0xb
test bpl, spl
imul eax, ecx
test r10w, r13w
cmp r14, r13
cmc
cmp r8d, eax
jae 0x2865fd
mov r9d, eax
adc dl, 0x3c
ror dx, 0x40
mov eax, 0x800
or dl, dl
lea rdx, [r13 + 0x664]
sub eax, ecx
mov r11d, 8
shr eax, 5
cmp r14b, 0x65
add ax, cx
add r15d, 0xc
jmp 0x2865ef
mov word [r13 + r10*2 + 0x180], ax
jmp 0x286aac
sub r9d, eax
cmc
cmp r12w, r11w
sub r8d, eax
mov eax, ecx
clc
test r9w, bp
shr eax, 5
sub cx, ax
cmp dword [rsp + 0x10], 0
jmp 0x28661f
mov word [r13 + r10*2 + 0x180], cx
jmp 0x28662d
jne 0x286641
cmp dword [rsp + 0xa8], 0
je 0x287c00
movzx edx, word [r13 + r10*2 + 0x198]
stc
cmc
cmp r9d, 0x1000000
jmp 0x286658
jae 0x286685
movzx eax, byte [rbp]
shl r8d, 8
shl r9d, 8
rol cl, cl
bts ecx, edx
movsx rcx, sp
or r8d, eax
inc rbp
btr cx, ax
mov cl, r8b
test sp, 0x79bf
mov ecx, r9d
cmp r15b, dl
stc
cmc
shr ecx, 0xb
test rsi, 0x56a30173
jmp 0x2866a0
imul ecx, edx
stc
cmp r8d, ecx
jmp 0x2866ac
jae 0x28684f
mov eax, 0x800
ror r9d, 0x83
btr r9d, 0x3c
mov r9d, ecx
cmp r12w, ax
sub eax, edx
shr eax, 5
test bx, 0x4b0e
add ax, dx
test dil, bpl
mov word [r13 + r10*2 + 0x198], ax
xor dx, 0x6c53
movzx edx, word [r13 + r11*2 + 0x1e0]
cmp ecx, 0x1000000
jmp 0x2866f9
jae 0x28672a
movzx eax, byte [rbp]
test r9w, 0x3a7d
shl r8d, 8
jmp 0x286712
shl r9d, 8
test r12w, 0x3b1d
or r8d, eax
mov al, r10b
inc rbp
sal ah, cl
add al, r12b
mov eax, r9d
shr eax, 0xb
cmp cx, bp
imul eax, edx
cmp sil, 0xd6
stc
cmp r8d, eax
jmp 0x286743
jae 0x28681d
mov r10d, dword [rsp + 0xa8]
clc
btc r9w, r10w
mov r9d, eax
bt ax, sp
jmp 0x286763
sub ecx, ecx
btc rax, rsp
shl rax, cl
mov eax, 0x800
stc
test ch, 0xaf
clc
sub eax, edx
cmp bl, r14b
jmp 0x286780
shr eax, 5
cmp al, bpl
stc
add ax, dx
jmp 0x28678f
mov word [r13 + r11*2 + 0x1e0], ax
movsx eax, di
and ah, 0x92
shld eax, edx, 0x8d
mov eax, dword [rsp]
jmp 0x2867b0
cmp r14, rax
jmp 0x2867b8
cmovb rcx, qword [rsp + 0x18]
jmp 0x2867c3
inc r10d
sub rcx, rax
shr al, 0x45
cwde
mov dword [rsp + 0xa8], r10d
sal al, 0x84
movsxd rax, esp
add rcx, r14
inc r14
cmp r15d, 7
movzx r15d, r15w
cdqe
cmovl ax, r10w
movzx eax, byte [rcx + rsi]
mov cx, sp
mov ecx, 9
not r15b
setbe r15b
mov byte [r14 + rsi - 1], al
mov eax, 0xb
cmovb eax, ecx
mov r15d, eax
jmp 0x286818
jmp 0x287af5
sub r9d, eax
sub r8d, eax
xor ax, 0x2699
mov eax, edx
jmp 0x28682e
shr eax, 5
cmp dil, dil
sub dx, ax
jmp 0x28683c
mov word [r13 + r11*2 + 0x1e0], dx
jmp 0x28684a
jmp 0x286a74
mov eax, edx
test ax, 0x2c34
stc
sub r9d, ecx
cmc
cmp r11d, 0x1fe85e45
jmp 0x286866
sub r8d, ecx
shr eax, 5
cmp dx, 0x6841
test bx, dx
xor ch, 1
sub dx, ax
dec cl
mov word [r13 + r10*2 + 0x198], dx
not cl
shld rcx, r12, 0x5b
movzx ecx, word [r13 + r10*2 + 0x1b0]
cmp r9d, 0x1000000
jmp 0x2868a1
jae 0x2868cc
movzx eax, byte [rbp]
shl r8d, 8
cmp rbp, 0x6e862424
shl r9d, 8
or r8d, eax
setno ah
movzx eax, si
lahf
inc rbp
cdqe
or al, spl
mov eax, r9d
cmp sil, bl
jmp 0x2868d7
shr eax, 0xb
jmp 0x2868e0
imul eax, ecx
clc
cmp r8d, eax
jmp 0x2868ec
jae 0x286926
mov r9d, eax
cdqe
xor al, bpl
mov eax, 0x800
cmc
stc
sub eax, ecx
stc
jmp 0x286909
shr eax, 5
add ax, cx
jmp 0x286914
mov word [r13 + r10*2 + 0x1b0], ax
mov eax, dword [rsp + 4]
jmp 0x286a5c
sub r9d, eax
jmp 0x28692e
sub r8d, eax
bts ax, cx
shl rax, cl
sal al, cl
mov eax, ecx
shr eax, 5
sub cx, ax
clc
mov word [r13 + r10*2 + 0x1b0], cx
or ch, 0x22
adc ecx, r13d
setb cl
movzx ecx, word [r13 + r10*2 + 0x1c8]
test ah, 0xcf
cmc
cmp r9d, 0x1000000
jmp 0x28696e
jae 0x286995
movzx eax, byte [rbp]
cmp r8b, r9b
shl r8d, 8
clc
test r11w, 0x58b7
jmp 0x28698b
shl r9d, 8
or r8d, eax
inc rbp
mov eax, r9d
test al, 0xbd
stc
shr eax, 0xb
imul eax, ecx
test al, 0xd7
clc
cmp r8d, eax
jmp 0x2869ac
jae 0x2869f3
mov r9d, eax
shld rax, r11, 0xd8
stc
movsxd rax, r13d
mov eax, 0x800
sub eax, ecx
test esp, r9d
shr eax, 5
test cx, 0x694b
jmp 0x2869d9
add ax, cx
mov word [r13 + r10*2 + 0x1c8], ax
mov eax, dword [rsp + 8]
jmp 0x2869ee
jmp 0x286a4d
sub r9d, eax
bt r11, rsp
cmc
adc r11b, r10b
sub r8d, eax
btc dx, 0x40
sar ax, cl
mov eax, ecx
shr eax, 5
btc dx, 0xbf
sub cx, ax
sub ah, cl
mov eax, edi
mov r11, r12
btr rdx, rdx
mov word [r13 + r10*2 + 0x1c8], cx
mov ecx, dword [rsp + 8]
bsr r11w, r13w
sal rdx, 0x3a
mov edi, ecx
test r12d, 0x9247cd0
mov dword [rsp + 0xc], ecx
bt cx, 0xf0
not r11w
mov ecx, dword [rsp + 4]
shr dx, cl
movsx r11d, r12w
mov dword [rsp + 8], ecx
mov ecx, dword [rsp]
xadd r11b, r11b
movsx r11d, r12w
inc edx
mov dword [rsp], eax
mov dword [rsp + 4], ecx
bts edx, r10d
cmp r15d, 7
xchg cx, cx
cdq
mov eax, 0xb
movsx ecx, r9w
mov r11d, 8
cmovb ecx, ebx
not edx
cmovb eax, r11d
lea rdx, [r13 + 0xa68]
cmp bx, 0x4bf1
movzx r15, r15w
mov r15d, eax
btc cx, 0xe2
movzx ecx, word [rdx]
cmp r9d, 0x1000000
jae 0x286adf
movzx eax, byte [rbp]
shl r8d, 8
shl r9d, 8
or r8d, eax
movzx rax, si
cmovs ax, di
inc rbp
test spl, 0x29
xor al, dil
sar al, cl
mov eax, r9d
clc
test r8w, 0x18c8
shr eax, 0xb
imul eax, ecx
test r9b, 0x3f
cmp r8d, eax
jmp 0x286afb
jae 0x286b5d
mov r9d, eax
sbb al, r8b
mov r10d, r8d
mov eax, 0x800
not r10b
sub eax, ecx
add r10b, 0x98
inc r10b
sbb r10b, 0xbb
shr eax, 5
add ax, cx
stc
cmovge r10w, si
sub r10d, 0xd7d582c
mov word [rdx], ax
sub rax, 0x69c45ef0
lea eax, [rbx*8]
lea r10, [rdx + rax*2 + 4]
rol bx, 0x63
sub eax, eax
bswap bx
mov ebx, eax
jmp 0x286b58
jmp 0x286c82
sub r9d, eax
jmp 0x286b6b
sub r8d, eax
bsf ax, dx
mov eax, ecx
shr eax, 5
jmp 0x286b7c
sub cx, ax
test bx, 0x11be
mov word [rdx], cx
movzx ecx, word [rdx + 2]
jmp 0x286b90
cmp r9d, 0x1000000
jmp 0x286b9c
jae 0x286bc4
movzx eax, byte [rbp]
clc
test esi, 0x16a50d48
shl r8d, 8
test r9b, 0x10
shl r9d, 8
or r8d, eax
not al
dec rax
inc rbp
mov eax, r9d
test r13b, 0xb6
shr eax, 0xb
imul eax, ecx
stc
cmp r8d, eax
jmp 0x286bda
jae 0x286c35
mov r9d, eax
mov r10d, r9d
sbb r10d, 0x2f7d08ce
mov eax, 0x800
cmc
sub eax, ecx
not r10d
shr eax, 5
add ax, cx
mov word [rdx + 2], ax
movzx eax, r8w
movsx ax, r12b
cwde
lea eax, [rbx*8]
mov ebx, r11d
movzx r10d, r8w
jmp 0x286c23
lea r10, [rdx + rax*2 + 0x104]
jmp 0x286c30
jmp 0x286c82
sub r9d, eax
sub r8d, eax
not r11b
setae al
mov eax, ecx
cmc
shr eax, 5
rcl r11b, cl
neg r11
movsxd r12, ebp
lea r10, [rdx + 0x204]
mov ebx, 0x10
sub cx, ax
movsxd r12, ecx
cmovs r12d, eax
btr r12w, 0x36
mov r11d, 0x100
mov word [rdx + 2], cx
sar r12b, 0x3e
movzx edx, r15w
movzx dx, bl
mov edx, 1
dec r12b
sar r12w, cl
btr cx, di
mov r12d, edx
bt cx, sp
rcr rcx, cl
or ecx, r8d
nop
adc cx, 0x368f
add rdx, rdx
movzx ecx, word [rdx + r10]
cmp r14b, r8b
cmp r9d, 0x1000000
jae 0x286ce6
movzx eax, byte [rbp]
cmp r10b, 0xe9
clc
shl r8d, 8
shl r9d, 8
jmp 0x286cda
or r8d, eax
dec eax
cwde
inc rbp
mov al, sil
mov eax, r9d
cmp r9d, r12d
cmp sil, 0x61
clc
shr eax, 0xb
cmp r15, 0x15e824a8
test ax, 0x1554
imul eax, ecx
cmp r8d, eax
jmp 0x286d0a
jae 0x286d50
mov r9d, eax
cmp r12w, bp
movsx ax, r13b
mov rax, r8
mov eax, 0x800
cmc
sub eax, ecx
shr eax, 5
cmp r13w, 0x3cb8
jmp 0x286d35
add ax, cx
cmc
jmp 0x286d3e
add r12d, r12d
jmp 0x286d46
mov word [rdx + r10], ax
jmp 0x286d7b
sub r9d, eax
stc
sub r8d, eax
mov eax, ecx
shr eax, 5
cmp cl, sil
cmp sil, 0x73
lea r12d, [r12 + r12 + 1]
sub cx, ax
inc rdx
test r11w, 0x5954
mov word [rdx + r10 - 1], cx
clc
cmp r12d, r11d
jb 0x286ca5
sub ebx, r11d
add r12d, ebx
test r10w, 0x14ba
cmp r15d, 0xc
jmp 0x286d99
jb 0x287982
cmp r12d, 4
mov ebx, 3
not eax
mov eax, ebx
cwd
movsx ecx, r12w
cmovb eax, r12d
rcr ecx, cl
ror cx, 0xb3
shl eax, 6
sal dx, cl
bts dx, bx
shrd dx, r15w, 0xb6
lea rcx, [r13 + rax*2 + 0x360]
bts edx, r8d
cwd
movzx edx, word [rcx + 2]
jmp 0x286dea
cmp r9d, 0x1000000
jmp 0x286df6
jae 0x286e17
movzx eax, byte [rbp]
cmc
shl r8d, 8
shl r9d, 8
clc
or r8d, eax
movzx rax, di
inc rbp
shr ax, cl
mov eax, r9d
shr eax, 0xb
imul eax, edx
test r14b, 0xac
jmp 0x286e2d
cmp r8d, eax
jae 0x286e68
mov r9d, eax
mov eax, 0x800
bt r11d, 0x9f
mov r11d, 2
dec r10w
sub eax, edx
mov r10, r11
clc
stc
shr eax, 5
add ax, dx
jmp 0x286e5f
mov word [rcx + 2], ax
jmp 0x286eb3
sub r9d, eax
rcr r10b, 0x3c
sub r8d, eax
rcl r10b, cl
btr r11w, 0x34
mov eax, edx
movzx r11, r14w
dec r10b
test r13, 0x2bdb1c0b
shr eax, 5
sub r10b, r15b
and r11w, r9w
mov r11d, ebx
btr r10d, 0x83
rcl r10, 0x23
mov r10, rbx
test spl, 0xc0
test r14w, r10w
sub dx, ax
mov word [rcx + 2], dx
lea r10, [r10 + r10]
adc dl, r15b
movsx dx, ch
movzx edx, word [r10 + rcx]
cmp al, r13b
cmp r9d, 0x1000000
jae 0x286efb
movzx eax, byte [rbp]
stc
shl r8d, 8
shl r9d, 8
test r8w, 0xdfa
jmp 0x286eeb
or r8d, eax
inc rbp
cmovne ax, sp
movsxd rax, ebx
movzx eax, si
mov eax, r9d
stc
jmp 0x286f04
shr eax, 0xb
cmp r14, 0x383340b6
jmp 0x286f13
imul eax, edx
cmc
cmp r13w, ax
cmp r8d, eax
jmp 0x286f23
jae 0x286f5d
mov r9d, eax
mov eax, r8d
mov eax, 0x800
test bp, dx
sub eax, edx
test r11w, r14w
test bh, 0xef
shr eax, 5
add ax, dx
add r11d, r11d
jmp 0x286f4e
mov word [r10 + rcx], ax
jmp 0x286f58
jmp 0x286f9f
sub r9d, eax
cmc
sub r8d, eax
inc ax
adc eax, r9d
mov eax, edx
jmp 0x286f76
shr eax, 5
clc
lea r11d, [r11 + r11 + 1]
cmp r10w, si
sub dx, ax
jmp 0x286f8b
inc r10
cmc
jmp 0x286f95
mov word [r10 + rcx - 1], dx
movzx edx, r14w
movzx edx, word [rcx + r10*2]
cmp spl, 0x81
cmp r9d, 0x1000000
jmp 0x286fb4
jae 0x286fe0
movzx eax, byte [rbp]
clc
shl r8d, 8
stc
cmp r9w, 0x234f
shl r9d, 8
or r8d, eax
jmp 0x286fd8
inc rbp
and ax, 0x31a9
nop
mov eax, r9d
test r13, 0x6560502
shr eax, 0xb
test r9, 0x50b15625
test r8b, r8b
cmp r12b, r8b
imul eax, edx
cmp bl, r11b
cmp r8d, eax
jmp 0x287008
jae 0x28704a
mov r9d, eax
btr eax, 4
mov eax, 0x800
sub eax, edx
test dil, 0x5a
cmp r15w, dx
shr eax, 5
clc
test r8b, dl
cmp r10b, 0xfb
add ax, dx
jmp 0x287037
mov word [rcx + r10*2], ax
lea r10d, [r11 + r11]
jmp 0x287045
jmp 0x28708a
sub r9d, eax
cmc
clc
jmp 0x287054
sub r8d, eax
adc ax, ax
sal al, 0xfd
mov eax, edx
cmp si, r9w
test rsi, r10
shr eax, 5
stc
test r15b, r9b
sub dx, ax
test di, 0x213
mov word [rcx + r10*2], dx
sar r10w, cl
clc
and dl, bpl
lea r10d, [r11 + r11 + 1]
shr dl, 0xc0
movzx edx, word [rcx + r10*2]
stc
cmp rdx, 0x3a71d49
cmp r9d, 0x1000000
jmp 0x2870a3
jae 0x2870d2
movzx eax, byte [rbp]
clc
shl r8d, 8
cmc
jmp 0x2870b8
shl r9d, 8
or r8d, eax
movsx rax, di
dec ah
cmove rax, r8
inc rbp
rol al, 0xe7
bswap ax
mov eax, r9d
cmp spl, 0xfb
shr eax, 0xb
imul eax, edx
cmp r8d, eax
jmp 0x2870e7
jae 0x287122
mov r9d, eax
and ax, bp
mov eax, 0x800
sub eax, edx
test dl, 0xb
shr eax, 5
test r9d, 0xe5a57c1
jmp 0x28710d
add ax, dx
mov word [rcx + r10*2], ax
add r10d, r10d
jmp 0x28711d
jmp 0x287155
sub r9d, eax
test r13d, 0x65d467fa
sub r8d, eax
cbw
movzx eax, bp
mov eax, edx
jmp 0x28713f
shr eax, 5
cmp r15b, sil
sub dx, ax
mov word [rcx + r10*2], dx
lea r10d, [r10 + r10 + 1]
mov dh, 0x5c
movzx edx, word [rcx + r10*2]
jmp 0x28715f
cmp r9d, 0x1000000
jmp 0x28716b
jae 0x287193
movzx eax, byte [rbp]
jmp 0x28717b
shl r8d, 8
shl r9d, 8
or r8d, eax
mov eax, r12d
inc rbp
sar ax, 0x6f
sbb eax, r15d
mov eax, r9d
test r10w, r15w
shr eax, 0xb
cmp ecx, 0x4aa2331a
cmp dl, r9b
imul eax, edx
cmp spl, al
stc
cmp r8d, eax
jmp 0x2871b5
jae 0x2871f8
mov r9d, eax
lahf
mov eax, 0x800
cmp rsp, r11
test r9b, 0x6e
sub eax, edx
jmp 0x2871d2
shr eax, 5
test bpl, 0x3e
stc
add ax, dx
test bp, 0x4c9e
jmp 0x2871e7
mov word [rcx + r10*2], ax
cmp sil, 0x19
add r10d, r10d
jmp 0x28722d
sub r9d, eax
stc
cmc
sub r8d, eax
mov ah, 0x1a
test r14b, r8b
add al, 0xb1
mov eax, edx
stc
test rbx, rax
shr eax, 5
test esi, r9d
sub dx, ax
clc
test r11b, r15b
mov word [rcx + r10*2], dx
cqo
lea r10d, [r10 + r10 + 1]
shrd rdx, rdi, 0x71
cmc
movzx edx, word [rcx + r10*2]
cmp r9d, 0x1000000
jae 0x287267
movzx eax, byte [rbp]
cmp r10b, r9b
shl r8d, 8
test edi, edi
shl r9d, 8
test cx, bp
or r8d, eax
bswap ax
setne ah
not eax
inc rbp
or al, 0x5f
btc rax, rcx
mov eax, r9d
test r9b, 0x7f
clc
shr eax, 0xb
cmc
imul eax, edx
clc
cmp r8d, eax
jae 0x2872b6
mov r9d, eax
sbb al, sil
movsx ax, spl
sar ax, 0x79
mov eax, 0x800
stc
test dh, cl
sub eax, edx
shr eax, 5
test r9b, r9b
add ax, dx
mov word [rcx + r10*2], ax
stc
clc
add r10d, r10d
jmp 0x2872b1
jmp 0x2872ec
sub r9d, eax
test rdx, r13
sub r8d, eax
test r9b, 0x5e
cmc
mov eax, edx
cmp ecx, 0x11d84b60
cmp r8b, spl
shr eax, 5
sub dx, ax
clc
mov word [rcx + r10*2], dx
stc
lea r10d, [r10 + r10 + 1]
test si, 0x3b18
jmp 0x2872ec
add r10d, 0xffffffc0
stc
cmp r9, 0x52f5b3b
cmp r10d, 4
jb 0x2878c2
mov r11d, r10d
lahf
sub ax, cx
mov eax, r10d
test r15w, bx
and r10d, 1
clc
shr r11d, 1
cmc
or r10d, 2
jmp 0x287322
dec r11d
cmc
stc
cmp r12w, r9w
cmp eax, 0xe
jmp 0x287333
jae 0x287466
mov ecx, r11d
movzx ebx, r8w
add rbx, r10
mov ebx, 1
stc
shl r10d, cl
mov rdx, rbx
bts ecx, ecx
not edi
cmp r14b, r12b
mov ecx, r10d
sub rcx, rax
rcr dil, cl
sub rdi, 0x7f1b1f9d
movzx edi, ax
lea rdi, [r13 + rcx*2 + 0x55e]
rcl cl, cl
sal ecx, 0x2b
shl rcx, 0xc1
nop
or ecx, ebx
mov cl, r12b
add rdx, rdx
btr ecx, 8
rcl ecx, cl
movzx ecx, word [rdx + rdi]
cmp r9d, 0x1000000
jmp 0x28739a
jae 0x2873c9
movzx eax, byte [rbp]
cmp bh, bh
shl r8d, 8
clc
jmp 0x2873b0
shl r9d, 8
or r8d, eax
inc rbp
movzx ax, r14b
shl eax, 0x58
test r11, 0x2e662625
mov eax, r9d
cmc
shr eax, 0xb
cmc
clc
imul eax, ecx
jmp 0x2873dd
cmp r8d, eax
jmp 0x2873e5
jae 0x28741d
mov r9d, eax
rcr al, 0x60
mov eax, 0x800
clc
jmp 0x2873fc
sub eax, ecx
stc
jmp 0x287404
shr eax, 5
add ax, cx
jmp 0x28740f
mov word [rdx + rdi], ax
jmp 0x287418
jmp 0x287454
sub r9d, eax
test r8w, 0x5589
clc
sub r8d, eax
sal al, 0x61
cmc
mov eax, ecx
shr eax, 5
sub cx, ax
inc rdx
or r10d, ebx
test ebp, r9d
cmp r11w, di
mov word [rdx + rdi - 1], cx
cmp r13, 0x77821702
jmp 0x287454
add ebx, ebx
cmc
sub r11d, 1
jne 0x287381
jmp 0x2878c2
sub r11d, 4
jmp 0x28746f
cmp r9d, 0x1000000
jmp 0x28747b
jae 0x287499
movzx eax, byte [rbp]
shl r8d, 8
cmc
stc
shl r9d, 8
stc
cmp dx, bp
or r8d, eax
inc rbp
shr r9d, 1
mov al, 0xa7
sub r8d, r9d
mov eax, r8d
test spl, r10b
clc
shr eax, 0x1f
cmp r11d, 0x56255995
neg eax
lea r10d, [rax + r10*2 + 1]
test si, bp
and eax, r9d
jmp 0x2874c4
add r8d, eax
stc
cmp r14w, bx
sub r11d, 1
jmp 0x2874d5
jne 0x28746f
movzx ecx, word [r13 + 0x646]
test ax, 0x297f
shl r10d, 4
clc
cmp bl, 0x81
cmp r9d, 0x1000000
jmp 0x2874fb
jae 0x287534
movzx eax, byte [rbp]
cmp bp, 0x2b4f
cmc
shl r8d, 8
jmp 0x287517
shl r9d, 8
jmp 0x287523
or r8d, eax
cbw
movsx eax, bp
not ah
inc rbp
cmp r12b, 0x21
mov eax, r9d
cmp r14b, 0x79
shr eax, 0xb
cmc
jmp 0x287544
imul eax, ecx
cmp r8d, eax
jmp 0x28754f
jae 0x2875ba
mov r9d, eax
adc al, r15b
rcr rdx, cl
bt dx, bp
mov eax, 0x800
bts r11w, si
cdq
movsx rdx, bx
mov edx, 2
rcl r11w, cl
ror r11w, cl
sub eax, ecx
movsx r11d, r10w
movsx r11, r9w
add r11w, dx
mov r11d, edx
stc
jmp 0x287595
shr eax, 5
cmp rdi, 0x6cfe7bac
clc
add ax, cx
jmp 0x2875a8
mov word [r13 + 0x646], ax
jmp 0x2875b5
jmp 0x28760e
sub r9d, eax
movsx dx, r13b
rcr dh, cl
sub r8d, eax
adc al, dil
not r11w
movsx eax, r15w
mov eax, ecx
dec r11b
mov r11d, edx
shr eax, 5
bsf dx, r12w
bswap edx
mov r11d, ebx
mov rdx, rbx
cmp r8b, dil
sub cx, ax
cmp bl, r10b
cmc
cmp r9w, 0x49fb
or r10d, 1
mov word [r13 + 0x646], cx
sal cx, 0x61
movzx cx, bh
add rdx, rdx
xchg cl, ch
movzx ecx, r11w
shl cl, 0xac
movzx ecx, word [rdx + r13 + 0x644]
clc
jmp 0x28762a
cmp r9d, 0x1000000
jmp 0x287636
jae 0x28766f
movzx eax, byte [rbp]
cmc
jmp 0x28764a
shl r8d, 8
cmp dh, bl
stc
cmp r10w, 0x7a7
shl r9d, 8
jmp 0x287665
or r8d, eax
movsx rax, r14w
inc rbp
mov eax, r9d
shr eax, 0xb
stc
cmc
imul eax, ecx
clc
cmc
test r14w, ax
cmp r8d, eax
jmp 0x287688
jae 0x2876c6
mov r9d, eax
cmp r10b, bpl
mov eax, 0x800
sub eax, ecx
stc
jmp 0x2876a1
shr eax, 5
add ax, cx
test r8b, 0x75
add r11d, r11d
jmp 0x2876b3
mov word [rdx + r13 + 0x644], ax
jmp 0x2876c1
jmp 0x287711
sub r9d, eax
stc
sub r8d, eax
sbb ax, di
bts rax, rsp
mov eax, ecx
cmp bpl, r8b
shr eax, 5
jmp 0x2876e9
lea r11d, [r11 + r11 + 1]
test r11b, 0xb
sub cx, ax
jmp 0x2876fa
inc rdx
cmp bp, r14w
or r10d, 2
mov word [rdx + r13 + 0x643], cx
sets ch
movzx ecx, word [r13 + rdx*2 + 0x644]
stc
cmp r9d, 0x1000000
jmp 0x287727
jae 0x28774d
movzx eax, byte [rbp]
shl r8d, 8
test r13b, cl
shl r9d, 8
cmc
or r8d, eax
cmove eax, ebx
inc rbp
rcr ax, cl
movsxd rax, edi
cwde
mov eax, r9d
shr eax, 0xb
cmc
stc
imul eax, ecx
clc
stc
cmp r8d, eax
jmp 0x287762
jae 0x28779c
mov r9d, eax
rol rax, cl
bswap eax
movsx eax, sp
mov eax, 0x800
sub eax, ecx
shr eax, 5
add ax, cx
jmp 0x287785
mov word [r13 + rdx*2 + 0x644], ax
bswap eax
movsx eax, cx
lea eax, [r11 + r11]
jmp 0x2877dd
sub r9d, eax
test sil, sil
sub r8d, eax
ror al, 0x7f
xor rax, 0x51827317
cbw
mov eax, ecx
cmp r14b, bl
shr eax, 5
sub cx, ax
shr eax, cl
lea eax, [r11 + r11 + 1]
or r10d, 4
test r12w, bx
cmc
mov word [r13 + rdx*2 + 0x644], cx
shl cx, 0x24
mov dx, 0x1752
movzx ecx, word [r13 + rax*2 + 0x644]
xor dl, 0x1c
cmovl dx, bx
cmp r8w, 0x78ca
mov edx, eax
clc
stc
cmp r9d, 0x1000000
jmp 0x287803
jae 0x287833
movzx eax, byte [rbp]
stc
shl r8d, 8
shl r9d, 8
cmp bp, 0x1c0c
jmp 0x287820
or r8d, eax
bswap ax
movsx ax, bl
cbw
inc rbp
add ah, 0xd9
cwde
mov eax, r9d
cmp r15b, spl
shr eax, 0xb
imul eax, ecx
jmp 0x287844
cmp r8d, eax
jae 0x28787a
mov r9d, eax
mov eax, 0x800
test r8b, 0x1b
sub eax, ecx
shr eax, 5
cmc
add ax, cx
jmp 0x287867
mov word [r13 + rdx*2 + 0x644], ax
jmp 0x287875
jmp 0x2878b3
sub r9d, eax
test r12, 0x38d536c4
stc
cmp r14b, r10b
sub r8d, eax
shld ax, dx, 0x21
mov eax, ecx
test r13b, r10b
cmp r12w, 0x5d9
shr eax, 5
sub cx, ax
stc
or r10d, 8
mov word [r13 + rdx*2 + 0x644], cx
cmp sil, 0x90
cmp r10d, 0xffffffff
jmp 0x2878bc
je 0x287b32
mov ecx, dword [rsp + 8]
bts edi, ebp
shr dil, 0x7e
jmp 0x2878d2
mov eax, dword [rsp]
mov r11b, 0x73
lea r11d, [r10 + 1]
or di, 0x210
rcr di, cl
mov edi, ecx
jmp 0x2878f0
mov dword [rsp + 0xc], ecx
btc cx, r13w
bsr cx, r15w
mov ecx, dword [rsp + 4]
cmp esp, r10d
test r12, 0x49f5731e
mov dword [rsp + 4], eax
sar eax, 0xa7
cbw
mov eax, dword [rsp + 0x10]
mov dword [rsp], r11d
cmc
clc
cmp r12b, 0x6b
mov dword [rsp + 8], ecx
test eax, 0x3a903cfa
test eax, eax
jne 0x287946
cmp r10d, dword [rsp + 0xa8]
jmp 0x287941
jmp 0x287949
cmp r10d, eax
jae 0x287c00
cmp r15d, 0x13
jmp 0x287958
mov eax, 0xa
movzx r15, r10w
movsx r15, r8w
mov ecx, 7
xchg r15b, r15b
jmp 0x287972
cmovb eax, ecx
mov r15d, eax
jmp 0x28797d
jmp 0x28798c
mov r11d, dword [rsp]
dec rax
mov al, r11b
mov rax, qword [rsp + 0x98]
add r12d, 2
cmp rax, r14
je 0x287c00
mov rbx, qword [rsp + 0x18]
movsx rdx, di
movsx ecx, ax
mov r10d, dword [rsp + 0xa8]
btc cx, 0xac
mov rcx, rax
not dx
cmovbe ax, r15w
sub rcx, r14
sub dl, 0x90
rcr ax, 0x71
mov eax, r12d
or edx, r9d
xadd dl, dh
mov edx, r12d
cmp rcx, rax
movzx ax, al
bswap ax
mov eax, r11d
cmovb edx, ecx
bswap r11w
sbb r11w, dx
sub ecx, ecx
btr r11w, 0x80
cmp r14, rax
jmp 0x287a0c
cmovb rcx, rbx
add r10d, edx
sub r12d, edx
sub rcx, rax
xor r11, r12
mov dword [rsp + 0xa8], r10d
btr eax, r10d
xor r11w, 0x626a
add r11b, 0xf0
mov r11d, edx
ror ax, 0x2f
sub ah, 0x13
movsxd rax, edx
add rcx, r14
rol ah, 0x50
lahf
shld ax, r8w, 0x8c
lea rax, [rdx + rcx]
cmp rax, rbx
jmp 0x287a58
ja 0x287ab2
lea rdx, [r14 + rsi]
shl r10b, cl
sub rcx, r14
shl eax, 0x50
lahf
add r14, r11
xchg r10, rax
movzx ax, r11b
movzx r10d, r14w
lea r10, [r11 + rdx]
movzx eax, byte [rcx + rdx]
jmp 0x287a87
inc rdx
stc
mov byte [rdx - 1], al
cmp r8b, 0xb
cmp rdx, r10
jmp 0x287a9a
jne 0x287a7e
mov r10d, dword [rsp + 0xa8]
jmp 0x287aad
jmp 0x287af5
sub edi, edi
not rax
cbw
movzx rax, si
nop
setae al
xchg ah, al
mov ax, cx
movzx eax, byte [rcx + rsi]
inc rcx
inc r14
cmp rcx, rbx
jmp 0x287ad8
mov byte [r14 + rsi - 1], al
cmove rcx, rdi
clc
cmc
add edx, 0xffffffff
jmp 0x287aeb
jne 0x287ac6
mov edi, dword [rsp + 0xc]
cmp r14, qword [rsp + 0x98]
jmp 0x287b02
jae 0x287b44
cmp rbp, qword [rsp + 0xa0]
jmp 0x287b15
jae 0x287b44
mov rdx, qword [rsp + 0x90]
mov r11d, dword [rsp + 0x20]
jmp 0x287b2d
jmp 0x2860b0
add r12d, 0x112
add r15d, 0xfffffff4
cmc
cmp dx, 0x54b8
stc
cmp r9d, 0x1000000
jae 0x287b78
movzx eax, byte [rbp]
and cl, 0xd5
mov ecx, ecx
shl r8d, 8
cmc
movzx ecx, r9w
shl r9d, 8
sub ch, 0x4b
ror ch, cl
or r8d, eax
inc rbp
adc al, 0x2c
rcl rax, 0x2a
mov rax, qword [rsp + 0x90]
mov ecx, 0x301b6832
test rsp, r10
mov ecx, dword [rsp + 0xa8]
mov dword [rax + 0x40], ecx
rol cx, cl
and cl, 0x5f
ror ecx, cl
mov ecx, dword [rsp]
mov qword [rax + 0x20], rbp
jmp 0x287ba9
mov dword [rax + 0x4c], ecx
movsxd rcx, r8d
mov ecx, dword [rsp + 4]
jmp 0x287bbb
mov dword [rax + 0x28], r9d
mov dword [rax + 0x50], ecx
sar cl, cl
rol rcx, 0xe7
xadd rcx, rcx
mov ecx, dword [rsp + 8]
jmp 0x287bd6
mov dword [rax + 0x2c], r8d
mov dword [rax + 0x5c], r12d
mov qword [rax + 0x30], r14
mov dword [rax + 0x58], edi
clc
mov dword [rax + 0x54], ecx
mov dword [rax + 0x48], r15d
cmp sp, bp
cmp r11b, 0xd7
xor eax, eax
jmp 0x287bfb
jmp 0x287c05
mov eax, 1
add rsp, 0x48
movzx edi, r11w
mov bl, 0x5f
xchg edi, r13d
pop r15
jmp 0x287c22
pop r14
xchg r12d, ebp
seto r13b
pop r13
movsx ebx, r10w
pop r12
movzx esi, sp
movsx rbp, di
setne sil
pop rdi
not si
movzx rbx, r8w
pop rsi
movsxd rbx, r12d
not bl
pop rbp
movzx bx, r11b
pop rbx
ret