Function at 0x140271989
Capabilities:
Authenticate hmac
Encrypt data using speck

Disassembly:
push rax
pushf
mov eax, 0xa3e6df7c
pushf
not eax
add eax, 0xd1a7aa44
xor eax, 0xe416114b
rol eax, 0xb9
popf
pushf
not eax
add eax, 0x81ae6004
xor eax, 0xa49b67a4
rol eax, 0xbb
popf
pushf
not eax
add eax, 0xe9795955
xor eax, 0xa3154aa5
rol eax, 0x4b
popf
cmp eax, 0x29
jne 0x1402719d9
popf
pop rax
jmp 0x140273377
cmp eax, 0
jne 0x1402719e8
popf
pop rax
jmp 0x140271c9a
cmp eax, 3
jne 0x1402719f7
popf
pop rax
jmp 0x140271e9a
cmp eax, 1
jne 0x140271a06
popf
pop rax
jmp 0x140271d71
cmp eax, 0xd
jne 0x140271a15
popf
pop rax
jmp 0x1402723c6
cmp eax, 0x1a
jne 0x140271a24
popf
pop rax
jmp 0x140272b9b
cmp eax, 0xe
jne 0x140271a33
popf
pop rax
jmp 0x140272426
cmp eax, 0xb
jne 0x140271a42
popf
pop rax
jmp 0x140272278
cmp eax, 0x19
jne 0x140271a51
popf
pop rax
jmp 0x140272a52
cmp eax, 8
jne 0x140271a60
popf
pop rax
jmp 0x14027215a
cmp eax, 0x2a
jne 0x140271a6f
popf
pop rax
jmp 0x1402733c2
cmp eax, 0x17
jne 0x140271a7e
popf
pop rax
jmp 0x1402729a4
cmp eax, 0x1c
jne 0x140271a8d
popf
pop rax
jmp 0x140272c6f
cmp eax, 0x2e
jne 0x140271a9c
popf
pop rax
jmp 0x14027353b
cmp eax, 0x18
jne 0x140271aab
popf
pop rax
jmp 0x1402729fa
cmp eax, 0x2b
jne 0x140271aba
popf
pop rax
jmp 0x140273411
cmp eax, 0x1b
jne 0x140271ac9
popf
pop rax
jmp 0x140272c35
cmp eax, 0x2d
jne 0x140271ad8
popf
pop rax
jmp 0x1402734a9
cmp eax, 0x23
jne 0x140271ae7
popf
pop rax
jmp 0x140273021
cmp eax, 0x25
jne 0x140271af6
popf
pop rax
jmp 0x14027316c
cmp eax, 0xf
jne 0x140271b05
popf
pop rax
jmp 0x140272471
cmp eax, 0x13
jne 0x140271b14
popf
pop rax
jmp 0x140272786
cmp eax, 0x15
jne 0x140271b23
popf
pop rax
jmp 0x14027282d
cmp eax, 0x24
jne 0x140271b32
popf
pop rax
jmp 0x140273119
cmp eax, 0x1e
jne 0x140271b41
popf
pop rax
jmp 0x140272dfb
cmp eax, 0xc
jne 0x140271b50
popf
pop rax
jmp 0x140272321
cmp eax, 0x26
jne 0x140271b5f
popf
pop rax
jmp 0x1402731f5
cmp eax, 0x27
jne 0x140271b6e
popf
pop rax
jmp 0x14027324b
cmp eax, 0x1f
jne 0x140271b7d
popf
pop rax
jmp 0x140272ea7
cmp eax, 0x10
jne 0x140271b8c
popf
pop rax
jmp 0x14027251e
cmp eax, 0x2c
jne 0x140271b9b
popf
pop rax
jmp 0x140273449
cmp eax, 9
jne 0x140271baa
popf
pop rax
jmp 0x1402721f3
cmp eax, 4
jne 0x140271bb9
popf
pop rax
jmp 0x140271efa
cmp eax, 0x16
jne 0x140271bc8
popf
pop rax
jmp 0x1402728c2
cmp eax, 0x28
jne 0x140271bd7
popf
pop rax
jmp 0x140273325
cmp eax, 0xa
jne 0x140271be6
popf
pop rax
jmp 0x140272240
cmp eax, 0x22
jne 0x140271bf5
popf
pop rax
jmp 0x140272f70
cmp eax, 0x14
jne 0x140271c04
popf
pop rax
jmp 0x1402727ef
cmp eax, 7
jne 0x140271c13
popf
pop rax
jmp 0x1402720b2
cmp eax, 5
jne 0x140271c22
popf
pop rax
jmp 0x140271f58
cmp eax, 2
jne 0x140271c31
popf
pop rax
jmp 0x140271e2a
cmp eax, 0x20
jne 0x140271c40
popf
pop rax
jmp 0x140272edf
cmp eax, 0x1d
jne 0x140271c4f
popf
pop rax
jmp 0x140272d48
cmp eax, 0x11
jne 0x140271c5e
popf
pop rax
jmp 0x140272658
cmp eax, 6
jne 0x140271c6d
popf
pop rax
jmp 0x140271ff2
cmp eax, 0x2f
jne 0x140271c7c
popf
pop rax
jmp 0x140273583
cmp eax, 0x12
jne 0x140271c8b
popf
pop rax
jmp 0x1402726a5
cmp eax, 0x21
jne 0x140271c9a
popf
pop rax
jmp 0x140272f62
mov dword [rsp + 0x10], edx
mov qword [rsp + 8], rcx
sub rsp, 0x98
mov rax, qword [rsp + 0xa0]
mov rax, qword [rax + 8]
mov qword [rsp + 0x30], rax
mov rax, qword [rsp + 0xa0]
mov eax, dword [rax + 0x38]
mov dword [rsp + 0x20], eax
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
push rax
not rax
sub rcx, rax
pop rax
sub rcx, 1
mov rax, rcx
mov rcx, rax
call fcn.14016756f
mov word [rsp + 0x24], ax
movzx eax, word [rsp + 0x24]
test eax, eax
jne 0x140271d2b
push rax
pushf
mov eax, 0xe7204aac
pushf
not eax
add eax, 0xc74daaba
xor eax, 0xb5bfed75
rol eax, 0x6f
popf
pushf
not eax
add eax, 0xfee316a2
xor eax, 0xb8266bd8
rol eax, 0xf1
popf
jmp 0x1402719ca
push rax
pushf
mov eax, 0xd579c217
pushf
not eax
add eax, 0xd120bb81
xor eax, 0xa54f4c75
rol eax, 0x33
popf
pushf
not eax
add eax, 0xfe06d654
xor eax, 0x82027527
rol eax, 0x39
popf
pushf
not eax
add eax, 0xd7c3182b
xor eax, 0x941474d6
rol eax, 0x73
popf
jmp 0x1402719ca
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
lea rax, [rcx + rax + 2]
mov rcx, rax
call fcn.14016756f
movzx eax, ax
mov dword [rsp + 0x74], eax
mov eax, dword [rsp + 0x74]
sub eax, 6
cmp dword [rsp + 0xa8], eax
jge 0x140271df7
push rax
pushf
mov eax, 0x579523c2
pushf
not eax
add eax, 0x9b238d0b
xor eax, 0x9be0dce6
rol eax, 0xbe
popf
pushf
not eax
add eax, 0xc7d47574
xor eax, 0xf80c8599
rol eax, 0xe9
popf
pushf
not eax
add eax, 0xe95d9ac1
xor eax, 0xf226bec3
rol eax, 0x5e
popf
pushf
not eax
add eax, 0x8a49b6c8
xor eax, 0xe99084bc
rol eax, 0x87
popf
jmp 0x1402719ca
push rax
pushf
mov eax, 0x2c893c3a
pushf
not eax
add eax, 0xe88159d0
xor eax, 0xb4205a0f
rol eax, 0xf6
popf
pushf
not eax
add eax, 0xc9d6bed1
xor eax, 0xe34ac8bf
rol eax, 0x4d
popf
jmp 0x1402719ca
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
push rax
not rax
sub rcx, rax
pop rax
sub rcx, 1
mov rax, rcx
movsxd rcx, dword [rsp + 0xa8]
movzx eax, byte [rax + rcx + 6]
jmp 0x140273583
xor eax, eax
jmp 0x140273583
jmp 0x1402734a9
movzx eax, word [rsp + 0x24]
cmp eax, 6
jne 0x140271fbf
push rax
pushf
mov eax, 0xc33428e1
pushf
not eax
add eax, 0xbba440de
xor eax, 0xf2e4831b
rol eax, 0xc
popf
pushf
not eax
add eax, 0x8e2b0a1a
xor eax, 0x81c49843
rol eax, 0x63
popf
pushf
not eax
add eax, 0xbc770869
xor eax, 0xb074357e
rol eax, 0xc7
popf
pushf
not eax
add eax, 0x9f2520e1
xor eax, 0xddbf46cf
rol eax, 0x24
popf
jmp 0x1402719ca
push rax
pushf
mov eax, 0x2871ceef
pushf
not eax
add eax, 0x81b8fc29
xor eax, 0xf9a567a0
rol eax, 0x76
popf
pushf
not eax
add eax, 0xa5cbc507
xor eax, 0xff638c58
rol eax, 0x3e
popf
jmp 0x1402719ca
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
lea rax, [rcx + rax + 6]
mov rcx, rax
call fcn.14016756f
movzx eax, ax
mov dword [rsp + 0x60], eax
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
lea rax, [rcx + rax + 8]
mov rcx, rax
call fcn.14016756f
movzx eax, ax
mov dword [rsp + 0x78], eax
mov eax, dword [rsp + 0x60]
cmp dword [rsp + 0xa8], eax
jb 0x14027207f
push rax
pushf
mov eax, 0x503ae50c
pushf
not eax
add eax, 0xebe4ea5f
xor eax, 0x86abb717
rol eax, 0xf7
popf
pushf
not eax
add eax, 0xebfb7062
xor eax, 0xcef7fa23
rol eax, 0xb0
popf
pushf
not eax
add eax, 0xdd92867d
xor eax, 0xffe77ee1
rol eax, 0xe5
popf
jmp 0x1402719ca
push rax
pushf
mov eax, 0xe8f403b6
pushf
not eax
add eax, 0xd3bae105
xor eax, 0xc501457b
rol eax, 0x2e
popf
pushf
not eax
add eax, 0xddf5a18b
xor eax, 0xf7e97599
rol eax, 0x73
popf
jmp 0x1402719ca
mov eax, dword [rsp + 0x78]
mov ecx, dword [rsp + 0x60]
push rax
not eax
sub ecx, eax
pop rax
sub ecx, 1
mov eax, ecx
cmp dword [rsp + 0xa8], eax
jae 0x140272127
push rax
pushf
mov eax, 0x79a50ae4
pushf
not eax
add eax, 0xd165028a
xor eax, 0xcaf2660c
rol eax, 0xdc
popf
pushf
not eax
add eax, 0xcb111e19
xor eax, 0xb81c2119
rol eax, 0xd5
popf
pushf
not eax
add eax, 0xd0d40b9f
xor eax, 0xccd508e5
rol eax, 0xd2
popf
pushf
not eax
add eax, 0xba8125e2
xor eax, 0xfea1a902
rol eax, 0xa
popf
jmp 0x1402719ca
push rax
pushf
mov eax, 0xf9aab24c
pushf
not eax
add eax, 0xffc0673f
xor eax, 0x942e17a6
rol eax, 0x64
popf
pushf
not eax
add eax, 0xb333423b
xor eax, 0x8f700cf1
rol eax, 0xb0
popf
jmp 0x1402719ca
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
push rax
not rax
sub rcx, rax
pop rax
sub rcx, 1
mov rax, rcx
mov ecx, dword [rsp + 0x60]
mov edx, dword [rsp + 0xa8]
sub edx, ecx
mov ecx, edx
shl ecx, 1
mov ecx, ecx
lea rax, [rax + rcx + 0xa]
mov rcx, rax
call fcn.14016756f
movzx eax, ax
jmp 0x140273583
xor eax, eax
jmp 0x140273583
jmp 0x1402734a9
movzx eax, word [rsp + 0x24]
cmp eax, 2
jne 0x1402722db
push rax
pushf
mov eax, 0xfcee4077
pushf
not eax
add eax, 0xeba1cb18
xor eax, 0xb3014afc
rol eax, 0xd1
popf
pushf
not eax
add eax, 0xadc59408
xor eax, 0xe253a273
rol eax, 0xa9
popf
pushf
not eax
add eax, 0xa4266915
xor eax, 0xe31d02bc
rol eax, 0x9f
popf
pushf
not eax
add eax, 0xd61ac1d2
xor eax, 0xd333ddec
rol eax, 0xee
popf
jmp 0x1402719ca
push rax
pushf
mov eax, 0x1b77077d
pushf
not eax
add eax, 0xae665fe9
xor eax, 0xfafaf891
rol eax, 0xeb
popf
pushf
not eax
add eax, 0xd31ac807
xor eax, 0xbd61b996
rol eax, 0x1c
popf
pushf
not eax
add eax, 0xcfbb9652
xor eax, 0xfa04617c
rol eax, 0x86
popf
jmp 0x1402719ca
xor eax, eax
test eax, eax
jne 0x140272380
push rax
pushf
mov eax, 0x6f5576a0
pushf
not eax
add eax, 0xd823c287
xor eax, 0xa90edfd8
rol eax, 0x5b
popf
pushf
not eax
add eax, 0x9a4d6b9d
xor eax, 0x9e536f13
rol eax, 0xae
popf
pushf
not eax
add eax, 0xf1986373
xor eax, 0x97f053fc
rol eax, 0x25
popf
pushf
not eax
add eax, 0xa7303ae8
xor eax, 0x8fef5578
rol eax, 0x29
popf
jmp 0x1402719ca
push rax
pushf
mov eax, 0xf412b003
pushf
not eax
add eax, 0x962e0727
xor eax, 0xdbb115f0
rol eax, 0x2b
popf
pushf
not eax
add eax, 0xa5078948
xor eax, 0xb88a5fff
rol eax, 0x94
popf
pushf
not eax
add eax, 0xdaf8d961
xor eax, 0xb29c31b5
rol eax, 0xb1
popf
jmp 0x1402719ca
xor eax, eax
jmp 0x140273583
jmp 0x1402734a9
movzx eax, word [rsp + 0x24]
cmp eax, 4
jne 0x1402724c5
push rax
pushf
mov eax, 0x36a02d72
pushf
not eax
add eax, 0x821c3047
xor eax, 0xb0f6ec66
rol eax, 0x54
popf
pushf
not eax
add eax, 0x9a28e6aa
xor eax, 0xbf1d5800
rol eax, 0xda
popf
pushf
not eax
add eax, 0xe4832dc1
xor eax, 0xf83b9be8
rol eax, 0x84
popf
jmp 0x1402719ca
push rax
pushf
mov eax, 0x133fed4c
pushf
not eax
add eax, 0x994ba77e
xor eax, 0x9b19a7bb
rol eax, 0xc4
popf
pushf
not eax
add eax, 0xf5ccc602
xor eax, 0x9543e891
rol eax, 0x7a
popf
pushf
not eax
add eax, 0xb6d30308
xor eax, 0xf4aa4b6c
rol eax, 0x20
popf
pushf
not eax
add eax, 0xc9cec995
xor eax, 0xc42db3f8
rol eax, 0x4d
popf
jmp 0x1402719ca
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
lea rax, [rcx + rax + 6]
mov rcx, rax
call fcn.14016756f
movzx eax, ax
sar eax, 1
mov word [rsp + 0x3c], ax
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
lea rax, [rcx + rax + 8]
mov rcx, rax
call fcn.14016756f
movzx eax, ax
sar eax, 1
mov word [rsp + 0x38], ax
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
lea rax, [rcx + rax + 0xa]
mov rcx, rax
call fcn.14016756f
mov word [rsp + 0x40], ax
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
lea rax, [rcx + rax + 0xc]
mov rcx, rax
call fcn.14016756f
movzx eax, ax
sar eax, 1
mov word [rsp + 0x44], ax
mov eax, dword [rsp + 0x20]
add eax, 0xe
mov dword [rsp + 0x64], eax
mov eax, dword [rsp + 0x64]
mov dword [rsp + 0x2c], eax
cmp dword [rsp + 0xa8], 0xffff
jle 0x140272612
push rax
pushf
mov eax, 0x108498a
pushf
not eax
add eax, 0x803f4596
xor eax, 0xeee733be
rol eax, 0x2a
popf
pushf
not eax
add eax, 0x94c34147
xor eax, 0xc1fd71bc
rol eax, 0x1e
popf
pushf
not eax
add eax, 0xf41b2d9a
xor eax, 0x9cf25097
rol eax, 0x11
popf
pushf
not eax
add eax, 0xf223e9b6
xor eax, 0x8746d198
rol eax, 0x2b
popf
jmp 0x1402719ca
push rax
pushf
mov eax, 0x3d9b9679
pushf
not eax
add eax, 0xf2b2b19e
xor eax, 0xbf76a6d4
rol eax, 0x5b
popf
pushf
not eax
add eax, 0xd7f58d91
xor eax, 0xd483e74d
rol eax, 0xf5
popf
pushf
not eax
add eax, 0xdc9d17e9
xor eax, 0xbf0cfbb5
rol eax, 0xd6
popf
jmp 0x1402719ca
xor eax, eax
jmp 0x140273583
mov eax, dword [rsp + 0x2c]
mov rcx, qword [rsp + 0x30]
push rax
not rax
sub rcx, rax
pop rax
sub rcx, 1
mov rax, rcx
movzx ecx, word [rsp + 0x44]
shl ecx, 1
movsxd rcx, ecx
push rcx
not rcx
sub rax, rcx
pop rcx
sub rax, 1
mov rcx, rax
call fcn.14016756f
movzx eax, ax
cmp dword [rsp + 0xa8], eax
jl 0x140272740
push rax
pushf
mov eax, 0x84ae8b06
pushf
not eax
add eax, 0xc40abdfd
xor eax, 0xd100c3e4
rol eax, 0x66
popf
pushf
not eax
add eax, 0xc64aa6df
xor eax, 0xcaa1170b
rol eax, 0xc3
popf
pushf
not eax
add eax, 0xe7fc6157
xor eax, 0xeafe43ce
rol eax, 0xa9
popf
pushf
not eax
add eax, 0xac761339
xor eax, 0xa7fe9098
rol eax, 0xc9
popf
jmp 0x1402719ca
push rax
pushf
mov eax, 0xcfd6d94f
pushf
not eax
add eax, 0xc3cd776b
xor eax, 0x8cbbc1c5
rol eax, 0x1f
popf
pushf
not eax
add eax, 0xe12c52e4
xor eax, 0xe3d39698
rol eax, 0xde
popf
pushf
not eax
add eax, 0xd8d19686
xor eax, 0xc83c0960
rol eax, 0x41
popf
jmp 0x1402719ca
movzx eax, word [rsp + 0x44]
mov ecx, dword [rsp + 0x2c]
lea eax, [rcx + rax*2]
mov dword [rsp + 0x2c], eax
push rax
pushf
mov eax, 0x30993b3c
pushf
not eax
add eax, 0x8aad4025
xor eax, 0x92678439
rol eax, 0x89
popf
pushf
not eax
add eax, 0x80934e47
xor eax, 0xa2e3581e
rol eax, 0xae
popf
pushf
not eax
add eax, 0x983e9ec9
xor eax, 0xabaa030a
rol eax, 0x47
popf
pushf
not eax
add eax, 0xcd2bc75c
xor eax, 0xade55563
rol eax, 0xfc
popf
jmp 0x1402719ca
mov eax, dword [rsp + 0x2c]
sub eax, 2
mov dword [rsp + 0x2c], eax
push rax
pushf
mov eax, 0x632613b8
pushf
not eax
add eax, 0xf35fbf89
xor eax, 0xf47445ba
rol eax, 0x65
popf
pushf
not eax
add eax, 0xa3392dbc
xor eax, 0x997b6065
rol eax, 0x21
popf
jmp 0x1402719ca
movzx eax, word [rsp + 0x40]
test eax, eax
je 0x140272869
push rax
pushf
mov eax, 0x6608e6aa
pushf
not eax
add eax, 0xfa02e5d0
xor eax, 0xa47b7df9
rol eax, 0x97
popf
pushf
not eax
add eax, 0xf94defe1
xor eax, 0x8b32259f
rol eax, 0x79
popf
jmp 0x1402719ca
push rax
pushf
mov eax, 0xa5977851
pushf
not eax
add eax, 0xeb671e6d
xor eax, 0xfcc23d90
rol eax, 0xdd
popf
pushf
not eax
add eax, 0xab339f29
xor eax, 0xf7f2ffde
rol eax, 0x86
popf
pushf
not eax
add eax, 0xac960dbe
xor eax, 0xd236ab73
rol eax, 0xcb
popf
pushf
not eax
add eax, 0xe70d2da9
xor eax, 0xb44b0899
rol eax, 0xd7
popf
jmp 0x1402719ca
movzx eax, word [rsp + 0x38]
shr ax, 1
mov word [rsp + 0x38], ax
mov eax, dword [rsp + 0x2c]
mov rcx, qword [rsp + 0x30]
push rax
not rax
sub rcx, rax
pop rax
sub rcx, 1
mov rax, rcx
movzx ecx, word [rsp + 0x38]
shl ecx, 1
movsxd rcx, ecx
push rcx
not rcx
sub rax, rcx
pop rcx
sub rax, 1
mov rcx, rax
call fcn.14016756f
mov word [rsp + 0x58], ax
movzx eax, word [rsp + 0x58]
cmp dword [rsp + 0xa8], eax
jle 0x14027294b
push rax
pushf
mov eax, 0x5d73b488
pushf
not eax
add eax, 0xd6bb91de
xor eax, 0x88427724
rol eax, 0xa4
popf
pushf
not eax
add eax, 0xbb6fb721
xor eax, 0xab15a801
rol eax, 0x55
popf
jmp 0x1402719ca
push rax
pushf
mov eax, 0x97510737
pushf
not eax
add eax, 0xe71ff145
xor eax, 0x878f6f2f
rol eax, 0x56
popf
pushf
not eax
add eax, 0xce7877e1
xor eax, 0xc7fec23c
rol eax, 0x64
popf
pushf
not eax
add eax, 0x923d1da3
xor eax, 0xddd33329
rol eax, 0x32
popf
pushf
not eax
add eax, 0xa3d976dd
xor eax, 0xbaba9955
rol eax, 0x77
popf
jmp 0x1402719ca
movzx eax, word [rsp + 0x38]
mov ecx, dword [rsp + 0x2c]
lea eax, [rcx + rax*2]
mov dword [rsp + 0x2c], eax
push rax
pushf
mov eax, 0xbe7a189a
pushf
not eax
add eax, 0xfd219ef6
xor eax, 0xeb01e987
rol eax, 0x77
popf
pushf
not eax
add eax, 0x98ce0a8d
xor eax, 0xcff8456d
rol eax, 0x7e
popf
pushf
not eax
add eax, 0xecc91e32
xor eax, 0xd3624193
rol eax, 0xdf
popf
jmp 0x1402719ca
movzx eax, word [rsp + 0x40]
dec ax
mov word [rsp + 0x40], ax
jmp 0x14027282d
mov eax, dword [rsp + 0x2c]
add eax, 2
mov dword [rsp + 0x2c], eax
mov eax, dword [rsp + 0x64]
mov ecx, dword [rsp + 0x2c]
sub ecx, eax
mov eax, ecx
shr eax, 1
mov word [rsp + 0x28], ax
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
push rax
not rax
sub rcx, rax
pop rax
sub rcx, 1
mov rax, rcx
movzx ecx, word [rsp + 0x3c]
shl ecx, 1
movsxd rcx, ecx
lea rax, [rax + rcx + 0xe]
movzx ecx, word [rsp + 0x28]
shl ecx, 1
movsxd rcx, ecx
lea rax, [rax + rcx + 2]
mov rcx, rax
call fcn.14016756f
mov word [rsp + 0x4c], ax
mov eax, dword [rsp + 0x64]
mov rcx, qword [rsp + 0x30]
push rax
not rax
sub rcx, rax
pop rax
sub rcx, 1
mov rax, rcx
movzx ecx, word [rsp + 0x28]
shl ecx, 1
movsxd rcx, ecx
push rcx
not rcx
sub rax, rcx
pop rcx
sub rax, 1
mov rcx, rax
call fcn.14016756f
mov word [rsp + 0x5c], ax
movzx eax, word [rsp + 0x4c]
cmp dword [rsp + 0xa8], eax
jl 0x140272b42
push rax
pushf
mov eax, 0x2eb5790b
pushf
not eax
add eax, 0xc91dc2c8
xor eax, 0xe74ca06a
rol eax, 0xd6
popf
pushf
not eax
add eax, 0xa6d3e992
xor eax, 0xf7da027c
rol eax, 0x74
popf
pushf
not eax
add eax, 0xafabcc01
xor eax, 0x81ef5d16
rol eax, 0x69
popf
jmp 0x1402719ca
push rax
pushf
mov eax, 0x11c747c2
pushf
not eax
add eax, 0xcc523c57
xor eax, 0xa4c748d6
rol eax, 0x36
popf
pushf
not eax
add eax, 0xdfdfa2e3
xor eax, 0x9d3017d0
rol eax, 0x90
popf
pushf
not eax
add eax, 0xc7459e83
xor eax, 0xbe5d4e53
rol eax, 0xe
popf
pushf
not eax
add eax, 0xedfd36f4
xor eax, 0xed6af2b2
rol eax, 0x42
popf
jmp 0x1402719ca
movzx eax, word [rsp + 0x5c]
cmp dword [rsp + 0xa8], eax
jle 0x140272bdc
push rax
pushf
mov eax, 0xfa3749a9
pushf
not eax
add eax, 0xcd17e255
xor eax, 0xfdff9700
rol eax, 0x47
popf
pushf
not eax
add eax, 0xf0f7a533
xor eax, 0xa16fcf9d
rol eax, 0x42
popf
jmp 0x1402719ca
push rax
pushf
mov eax, 0x8a5ca381
pushf
not eax
add eax, 0x929743c6
xor eax, 0xe389f81e
rol eax, 0x16
popf
pushf
not eax
add eax, 0xac62e006
xor eax, 0xbc9d4c43
rol eax, 0xc6
popf
pushf
not eax
add eax, 0x9d09b9fe
xor eax, 0xe2138c9c
rol eax, 0x17
popf
pushf
not eax
add eax, 0xd1391e76
xor eax, 0x9e62f94c
rol eax, 0xa
popf
jmp 0x1402719ca
xor eax, eax
jmp 0x140273583
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
push rax
not rax
sub rcx, rax
pop rax
sub rcx, 1
mov rax, rcx
movzx ecx, word [rsp + 0x3c]
imul ecx, ecx, 6
movsxd rcx, ecx
lea rax, [rax + rcx + 0xe]
movzx ecx, word [rsp + 0x28]
shl ecx, 1
movsxd rcx, ecx
lea rax, [rax + rcx + 2]
mov rcx, rax
call fcn.14016756f
mov word [rsp + 0x48], ax
movzx eax, word [rsp + 0x48]
test eax, eax
jne 0x140272d15
push rax
pushf
mov eax, 0xd326b90a
pushf
not eax
add eax, 0xe7ebc53b
xor eax, 0x953dfd96
rol eax, 0x5c
popf
pushf
not eax
add eax, 0x9eb47cc3
xor eax, 0xdd5ec0dc
rol eax, 0x9f
popf
pushf
not eax
add eax, 0xfc207898
xor eax, 0xc779e776
rol eax, 0x31
popf
pushf
not eax
add eax, 0xdd2073d5
xor eax, 0x8fc9f148
rol eax, 0xe2
popf
jmp 0x1402719ca
push rax
pushf
mov eax, 0x3738bab
pushf
not eax
add eax, 0xc5d94430
xor eax, 0xdaaf84a3
rol eax, 0x2e
popf
pushf
not eax
add eax, 0xfc3812d6
xor eax, 0xed2e4ca4
rol eax, 2
popf
jmp 0x1402719ca
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
push rax
not rax
sub rcx, rax
pop rax
sub rcx, 1
mov rax, rcx
movzx ecx, word [rsp + 0x3c]
shl ecx, 2
movsxd rcx, ecx
lea rax, [rax + rcx + 0xe]
movzx ecx, word [rsp + 0x28]
shl ecx, 1
movsxd rcx, ecx
lea rax, [rax + rcx + 2]
mov rcx, rax
call fcn.14016756f
cwde
mov ecx, dword [rsp + 0xa8]
push rax
not eax
sub ecx, eax
pop rax
sub ecx, 1
mov eax, ecx
movzx eax, ax
jmp 0x140273583
movzx eax, word [rsp + 0x48]
mov rcx, qword [rsp + 0x30]
push rax
not rax
sub rcx, rax
pop rax
sub rcx, 1
mov rax, rcx
movzx ecx, word [rsp + 0x4c]
mov edx, dword [rsp + 0xa8]
sub edx, ecx
mov ecx, edx
shl ecx, 1
movsxd rcx, ecx
push rcx
not rcx
sub rax, rcx
pop rcx
sub rax, 1
mov ecx, dword [rsp + 0x20]
push rcx
not rcx
sub rax, rcx
pop rcx
sub rax, 1
movzx ecx, word [rsp + 0x3c]
imul ecx, ecx, 6
movsxd rcx, ecx
lea rax, [rax + rcx + 0xe]
movzx ecx, word [rsp + 0x28]
shl ecx, 1
movsxd rcx, ecx
lea rax, [rax + rcx + 2]
mov rcx, rax
call fcn.14016756f
movzx eax, ax
jmp 0x140273583
jmp 0x1402734a9
movzx eax, word [rsp + 0x24]
cmp eax, 0xc
je 0x140272f1c
push rax
pushf
mov eax, 0x69cb7c20
pushf
not eax
add eax, 0xb345bd23
xor eax, 0xe01404dd
rol eax, 0x34
popf
pushf
not eax
add eax, 0xe3c7b490
xor eax, 0x85cd5fab
rol eax, 0x77
popf
jmp 0x1402719ca
push rax
pushf
mov eax, 0x7fc708c8
pushf
not eax
add eax, 0x8008ac30
xor eax, 0x95127a0d
rol eax, 0x56
popf
pushf
not eax
add eax, 0xe71160d1
xor eax, 0xb8522da8
rol eax, 0xd7
popf
pushf
not eax
add eax, 0xbb8fae78
xor eax, 0x82758e74
rol eax, 0xbd
popf
jmp 0x1402719ca
movzx eax, word [rsp + 0x24]
cmp eax, 0xd
jne 0x1402734a9
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
lea rax, [rcx + rax + 0xc]
mov rcx, rax
call fcn.1401a2b45
mov dword [rsp + 0x7c], eax
mov dword [rsp + 0x54], 0
mov eax, dword [rsp + 0x7c]
mov dword [rsp + 0x68], eax
mov eax, dword [rsp + 0x68]
cmp dword [rsp + 0x54], eax
jge 0x140272fee
push rax
pushf
mov eax, 0xe16921c8
pushf
not eax
add eax, 0xe65b5a94
xor eax, 0xddaeb4e5
rol eax, 8
popf
pushf
not eax
add eax, 0xeb76364e
xor eax, 0xc243d842
rol eax, 0x54
popf
pushf
not eax
add eax, 0x9c5db979
xor eax, 0x8bf8eedb
rol eax, 0x28
popf
jmp 0x1402719ca
push rax
pushf
mov eax, 0x21b0a65b
pushf
not eax
add eax, 0xf96c7aa5
xor eax, 0xd4844d77
rol eax, 0xac
popf
pushf
not eax
add eax, 0xa0b15143
xor eax, 0xa71d706f
rol eax, 0x1d
popf
jmp 0x1402719ca
mov eax, dword [rsp + 0x54]
mov ecx, dword [rsp + 0x68]
sub ecx, eax
mov eax, ecx
sar eax, 1
mov ecx, dword [rsp + 0x54]
push rax
not eax
sub ecx, eax
pop rax
sub ecx, 1
mov eax, ecx
mov dword [rsp + 0x50], eax
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
push rax
not rax
sub rcx, rax
pop rax
sub rcx, 1
mov rax, rcx
imul ecx, dword [rsp + 0x50], 0xc
movsxd rcx, ecx
lea rax, [rax + rcx + 0x10]
mov rcx, rax
call fcn.1401a2b45
mov dword [rsp + 0x6c], eax
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
push rax
not rax
sub rcx, rax
pop rax
sub rcx, 1
mov rax, rcx
imul ecx, dword [rsp + 0x50], 0xc
movsxd rcx, ecx
lea rax, [rax + rcx + 0x14]
mov rcx, rax
call fcn.1401a2b45
mov dword [rsp + 0x80], eax
mov eax, dword [rsp + 0x6c]
cmp dword [rsp + 0xa8], eax
jae 0x1402730e7
push rax
pushf
mov eax, 0x148c6a31
pushf
not eax
add eax, 0x82573082
xor eax, 0xd06e0821
rol eax, 0xd5
popf
pushf
not eax
add eax, 0x8b13d00a
xor eax, 0xb85c1b70
rol eax, 0x6b
popf
jmp 0x1402719ca
push rax
pushf
mov eax, 0xf6851b9a
pushf
not eax
add eax, 0xdb2a90e0
xor eax, 0xc59b102f
rol eax, 1
popf
pushf
not eax
add eax, 0xec879b77
xor eax, 0xaa0ad9e2
rol eax, 0x9a
popf
jmp 0x1402719ca
mov eax, dword [rsp + 0x50]
mov dword [rsp + 0x68], eax
jmp 0x140273411
mov eax, dword [rsp + 0x80]
cmp dword [rsp + 0xa8], eax
jbe 0x1402731af
push rax
pushf
mov eax, 0x9acff5d3
pushf
not eax
add eax, 0xca2a0113
xor eax, 0xee0ec0ae
rol eax, 0x7c
popf
pushf
not eax
add eax, 0xd1d9d76d
xor eax, 0xb5c488d3
rol eax, 0x5c
popf
jmp 0x1402719ca
push rax
pushf
mov eax, 0x6430aad8
pushf
not eax
add eax, 0xa1186373
xor eax, 0xb6423e25
rol eax, 0x40
popf
pushf
not eax
add eax, 0xcc3ca55f
xor eax, 0x8b855351
rol eax, 0xe9
popf
pushf
not eax
add eax, 0xe97a2c0d
xor eax, 0xc4de87b8
rol eax, 0xfa
popf
jmp 0x1402719ca
mov eax, dword [rsp + 0x50]
jmp 0x1402731fa
inc eax
mov dword [rsp + 0x54], eax
jmp 0x140273411
mov eax, dword [rsp + 0x20]
mov rcx, qword [rsp + 0x30]
push rax
not rax
sub rcx, rax
pop rax
sub rcx, 1
mov rax, rcx
imul ecx, dword [rsp + 0x50], 0xc
movsxd rcx, ecx
lea rax, [rax + rcx + 0x18]
mov rcx, rax
call fcn.1401a2b45
mov dword [rsp + 0x70], eax
movzx eax, word [rsp + 0x24]
cmp eax, 0xc
jne 0x1402732cc
push rax
pushf
mov eax, 0x4499c01a
pushf
not eax
add eax, 0xa4bc599a
xor eax, 0xdc86c4b7
rol eax, 0x6e
popf
pushf
not eax
add eax, 0x8061b81c
xor eax, 0xc59ea7b7
rol eax, 0x95
popf
pushf
not eax
add eax, 0xb58bc404
xor eax, 0xccd63dde
rol eax, 0x78
popf
jmp 0x1402719ca
push rax
pushf
mov eax, 0x6e0ef9d9
pushf
not eax
add eax, 0xb39a6f9f
xor eax, 0xdec065aa
rol eax, 0xb1
popf
pushf
not eax
add eax, 0xb9c95918
xor eax, 0xa31959ec
rol eax, 0x3b
popf
pushf
not eax
add eax, 0xa453fbc2
xor eax, 0xeff4ce68
rol eax, 0x9c
popf
pushf
not eax
add eax, 0x95896c27
xor eax, 0xa8316324
rol eax, 0x80
popf
jmp 0x1402719ca
mov eax, dword [rsp + 0xa8]
mov ecx, dword [rsp + 0x70]
push rax
not eax
sub ecx, eax
pop rax
sub ecx, 1
mov eax, ecx
sub eax, dword [rsp + 0x6c]
jmp 0x140273583
jmp 0x140273411
mov eax, dword [rsp + 0x70]
jmp 0x140273583
jmp 0x140272f9a
xor eax, eax
jmp 0x140273583
xor eax, eax
test eax, eax
jne 0x140273508
push rax
pushf
mov eax, 0x497e9ddb
pushf
not eax
add eax, 0x9dff0b2b
xor eax, 0xbc1b579a
rol eax, 0xfb
popf
pushf
not eax
add eax, 0xbfc94e07
xor eax, 0xcaef3797
rol eax, 0x86
popf
pushf
not eax
add eax, 0xabb74f0c
xor eax, 0xf2c0ac57
rol eax, 0xbe
popf
pushf
not eax
add eax, 0xde89f4ed
xor eax, 0x9e00429c
rol eax, 0xa6
popf
jmp 0x1402719ca
push rax
pushf
mov eax, 0xa0581ecb
pushf
not eax
add eax, 0xc28ffc26
xor eax, 0xda38d405
rol eax, 0x5a
popf
pushf
not eax
add eax, 0xb6a986db
xor eax, 0x96c94ab0
rol eax, 0xc3
popf
jmp 0x1402719ca
xor eax, eax
push rax
pushf
mov eax, 0xd8587dfa
pushf
not eax
add eax, 0xb946ca48
xor eax, 0xb1e8d98f
rol eax, 0xeb
popf
pushf
not eax
add eax, 0xcbaefd0a
xor eax, 0xba767005
rol eax, 0xa0
popf
pushf
not eax
add eax, 0xb49963b6
xor eax, 0x8722c96f
rol eax, 0xbf
popf
jmp 0x1402719ca
add rsp, 0x98
ret