Function at 0x140356b00
Capabilities:
Encode data using xor
Encrypt data using speck

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x158
mov r12d, ecx
mov rax, qword [0x140554790]
xor rax, rsp
mov qword [rsp + 0x150], rax
mov r13d, ecx
not r13d
test r12b, 3
je 0x140356be2
xorps xmm0, xmm0
movaps xmmword [rsp + 0x100], xmm0
mov dword [rsp + 0x110], 0
mov dword [rsp + 0x40], 0xd6b3979d
mov dword [rsp + 0x38], 0x435b4a33
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
mov r15d, 1
lea r8, [rsp + 0x100]
mov ecx, 1
mov edx, 1
xor r9d, r9d
call fcn.140359820
mov qword [rsp + 0xb0], rax
test rax, rax
je 0x140357af4
mov eax, r13d
and eax, 1
mov ecx, r12d
and ecx, 0xfffffffe
or ecx, eax
mov eax, r13d
and eax, 0xfffffffe
or eax, ecx
not eax
mov dword [rsp + 0xac], eax
mov eax, dword [0x140567074]
movabs rdi, 0x7177382156783b35
cmp eax, 0x26
jg 0x140356cef
jmp 0x140356bea
xor r15d, r15d
jmp 0x140357af4
mov qword [rsp + 0xf8], 0
mov qword [rsp + 0xf0], 0
movaps xmm0, xmmword [0x14044bc00]
movaps xmmword [rsp + 0x130], xmm0
mov qword [rsp + 0x140], rdi
mov dword [rsp + 0x148], 0x180f6c7b
mov dword [rsp + 0x20], 0x16c53348
lea rsi, [rsp + 0x130]
mov rcx, rsi
mov edx, 7
mov r8d, 0x27ccdb8f
mov r9d, 0x96e172c0
call fcn.140359a70
mov qword [rsp + 0xf0], 0
mov dword [rsp + 0x40], 0xd6b3979d
mov dword [rsp + 0x38], 0x435b4a33
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0xf0]
xor ecx, ecx
xor edx, edx
mov r8, rsi
call fcn.140359820
mov rsi, rax
xorps xmm0, xmm0
movaps xmmword [rsp + 0x130], xmm0
movaps xmmword [rsp + 0x140], xmm0
mov qword [rsp + 0xf0], 0
mov dword [rsp + 0x28], 0x88290087
mov dword [rsp + 0x20], 0xe4fe2db4
lea rdx, [rsp + 0xf8]
xor ecx, ecx
xor r8d, r8d
mov r9d, 0x6bc6848e
call fcn.140359a80
mov ecx, dword [0x140567074]
cmp ecx, 0x2f
jle 0x140356df9
mov qword [rsp + 0xf8], 0
mov qword [rsp + 0xf0], 0
movaps xmm0, xmmword [0x14044bc00]
movaps xmmword [rsp + 0x130], xmm0
mov qword [rsp + 0x140], rdi
mov dword [rsp + 0x148], 0x180f6c7b
mov dword [rsp + 0x20], 0x16c53348
lea rsi, [rsp + 0x130]
mov rcx, rsi
mov edx, 7
mov r8d, 0x27ccdb8f
mov r9d, 0x96e172c0
call fcn.140359a70
mov qword [rsp + 0xf0], 0
mov dword [rsp + 0x40], 0xd6b3979d
mov dword [rsp + 0x38], 0x435b4a33
mov dword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0xf0]
xor ecx, ecx
xor edx, edx
mov r8, rsi
call fcn.140359820
xorps xmm0, xmm0
movaps xmmword [rsp + 0x130], xmm0
movaps xmmword [rsp + 0x140], xmm0
mov qword [rsp + 0xf0], 0
mov dword [rsp + 0x28], 0x88290087
mov dword [rsp + 0x20], 0xe4fe2db4
lea rdx, [rsp + 0xf8]
xor ecx, ecx
xor r8d, r8d
mov r9d, 0x6bc6848e
call fcn.140359a80
mov ecx, eax
mov edx, 0x2d9ca675
mov r8d, 0x2906d42a
call fcn.14008a080
jmp 0x140356bea
mov qword [rsp + 0x90], rsi
cmp eax, 1
je 0x140356e3c
mov eax, dword [0x140567074]
cmp eax, 0x1d
jg 0x140356e2e
mov qword [rsp + 0xf8], 0
mov eax, dword [0x140567070]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
je 0x140356e3c
mov qword [rsp + 0xf8], 0
jmp 0x140356e11
mov ecx, 0x113ea70e
mov edx, 0x847ae6a8
call fcn.14008a080
mov eax, dword [0x140567074]
cmp eax, 0x49
jg 0x140356e85
mov dword [rsp + 0x20], 0x27ec3004
xor ecx, ecx
mov edx, 1
xor r8d, r8d
mov r9d, 0x3619f222
call fcn.140359870
mov rsi, rax
mov eax, dword [0x140567074]
cmp eax, 0x22
jl 0x140356fbe
lea rsi, [rsp + 0x128]
mov edi, 0x100
sub edi, r12d
xor edi, r12d
lea rbx, [rsp + 0x120]
mov dword [rsp + 0x20], 0x27ec3004
xor ecx, ecx
mov edx, 1
xor r8d, r8d
mov r9d, 0x3619f222
call fcn.140359870
mov ecx, r12d
mov rdx, rsi
mov r8d, 0xffb04935
mov r9d, 0x911b558f
call fcn.140359f70
mov eax, dword [rsp + 0x128]
mov ecx, eax
not ecx
lea edx, [rcx + rax*2]
mov eax, edx
neg eax
lea ecx, [rax - 1]
mov r8d, edx
shl r8d, cl
mov r9d, edx
sub r9d, r8d
imul r9d, r8d
imul eax, r9d
sub r9d, edx
mov edx, r9d
mov ecx, eax
shl edx, cl
mov ebp, edx
xor ebp, edx
not ebp
and ebp, r9d
xor ebp, edx
mov ecx, ebp
neg ecx
mov dword [rsp + 0x20], 0x1f840c28
xor edx, edx
mov r8, rsi
mov r9d, 0xdf0df066
call fcn.1402e4a30
mov edx, dword [rsp + 0x128]
mov dword [rsp + 0x20], 0x8ee842f4
mov ecx, ebp
mov r8, rsi
mov r9d, 0xaa30c69f
call fcn.14035a200
mov ecx, dword [rsp + 0x128]
sub ebp, ecx
imul ebp, ecx
shl ebp, cl
mov edx, ebp
shl edx, cl
mov qword [rsp + 0x20], rsi
mov dword [rsp + 0x30], 0x1bef41fa
mov dword [rsp + 0x28], 0xf151fb22
mov ecx, ebp
mov r8d, edi
mov r9, rbx
call fcn.14008a080
mov eax, dword [rsp + 0x120]
mov ecx, dword [rsp + 0x128]
mov edx, ecx
not edx
lea edx, [rdx + rcx*2]
mov ecx, edx
shl eax, cl
shl eax, cl
sub eax, edx
mov ecx, eax
mov r8d, 0xc37f5081
mov r9d, 0x2b05f888
call fcn.1403598b0
test al, 1
je 0x140356ea0
jmp 0x140356e56
mov eax, r12d
xor eax, 0x100
mov edi, r13d
and edi, 0xfffffeff
or edi, eax
not edi
lea r14, [rsp + 0x128]
mov rcx, r14
mov edx, 0x810fc242
mov r8d, 0x135ac8fe
call fcn.140359970
mov ecx, dword [rsp + 0x128]
mov edx, 0x2d953de7
mov r8d, 0x1825fd9d
call fcn.1403599c0
test al, 1
je 0x14035897b
jmp 0x14035894d
mov r15, qword [rsp + 0x60]
lea rbp, [rsp + 0x120]
mov rbx, qword [rsp + 0x68]
mov ecx, dword [rsp + 0x5c]
mov eax, dword [rbx]
add rbx, rax
test ecx, ecx
je 0x140357971
mov ecx, 0x2ecff0e6
mov edx, 0x99c137bf
call fcn.140359900
jmp 0x14035707c
mov eax, dword [0x140567070]
lea ecx, [rax - 1]
imul ecx, eax
mov edx, 0x65612586
mov r8d, 0x776a7b2e
call fcn.140359c70
test al, 1
je 0x140357060
mov ecx, dword [rbx]
mov eax, dword [0x140567074]
cmp eax, 0x2d
jge 0x140357060
mov eax, 0xfffffffe
not rax
mov qword [rsp + 0xc8], rax
cmp dword [rsp + 0xac], 0
mov qword [rsp + 0x68], rbx
mov dword [rsp + 0x5c], ecx
je 0x140357410
mov dword [rsp + 0x80], 0
cmp word [rbx + 0x38], 0
je 0x140357400
mov eax, dword [0x140567074]
cmp eax, 0x29
jg 0x140357160
nop dword [rax]
movzx eax, word [rbx + 0x3a]
mov ecx, dword [0x140567074]
cmp ecx, 0x60
jge 0x140357160
test ax, ax
je 0x140357400
cmp qword [rbx + 0x40], 0
je 0x140357400
lea rax, [rbx + 0x40]
mov qword [rsp + 0x98], rax
mov rcx, rbx
mov rdx, r14
mov r8d, 0x42d68606
mov r9d, 0xa0e523f0
call fcn.1400ac2c0
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0xd0], rax
mov dword [rsp + 0x80], 0
mov edi, 0xb
lea r13, [0x14044bc30]
mov qword [rsp + 0x60], r15
jmp 0x1403571b0
mov ecx, dword [0x140567070]
lea edx, [rcx - 1]
mov dword [rsp + 0x20], 0x9bd764e9
mov r8, r14
mov r9d, 0x47a1647c
call fcn.14012ed60
test byte [rsp + 0x128], 1
jne 0x140357160
jmp 0x1403570e0
mov r15, qword [rsp + 0x60]
lea rbp, [rsp + 0x120]
nop dword [rax + rax]
mov edi, dword [r13 + 0x14]
add r13, 0x14
test edi, edi
je 0x140357400
movzx eax, word [rbx + 0x38]
shr eax, 1
add eax, dword [0x140567078]
cmp edi, eax
jne 0x1403571a0
mov dword [rsp + 0x28], 0xb6dbc97b
mov dword [rsp + 0x20], 0xa936eb55
mov rcx, qword [rsp + 0x98]
mov qword [rsp + 0x88], r13
mov rdx, r13
mov r8, rbp
mov r9, r14
call fcn.140359f50
mov r13, qword [rsp + 0x120]
mov rbp, qword [rsp + 0x128]
mov ebx, edi
dec rbx
xor r15d, r15d
nop word cs:[rax + rax]
movzx edi, byte [rbp + r15]
cmp edi, 0x2a
je 0x1403572ac
cmp edi, 0x3f
je 0x1403572ac
mov dword [rsp + 0x20], 0x8b2d3d18
mov rcx, r15
lea rdx, [rsp + 0x120]
mov r8, r14
mov r9d, 0x3351f957
call fcn.14035a1f0
mov rsi, qword [rsp + 0x120]
mov rcx, qword [rsp + 0x128]
mov eax, esi
not eax
and eax, 0xfffffffe
mov rdx, qword [rsp + 0xc8]
and rsi, rdx
or rsi, rax
mov dword [rsp + 0x20], 0xbf6e92f3
mov r8, r14
mov r9d, 0x776a7b2e
call fcn.14012f0e0
or rsi, qword [rsp + 0x128]
not rsi
movzx eax, byte [r13 + rsi]
lea ecx, [rax - 0x41]
lea edx, [rax + 0x20]
cmp cl, 0x1a
movzx ecx, dl
cmovae ecx, eax
xor cl, 0x33
cmp cl, dil
jne 0x1403572fb
cmp rbx, r15
je 0x1403572c0
inc r15
jmp 0x140357210
mov rsi, qword [rsp + 0x90]
test rsi, rsi
mov rbx, qword [rsp + 0x68]
mov rdi, qword [rsp + 0xd0]
mov r13, qword [rsp + 0x88]
je 0x14035718e
mov eax, dword [0x140567074]
cmp eax, 0x18
lea rbp, [rsp + 0x120]
jg 0x140357347
jmp 0x140357320
mov r15, qword [rsp + 0x60]
lea rbp, [rsp + 0x120]
mov rbx, qword [rsp + 0x68]
mov r13, qword [rsp + 0x88]
jmp 0x1403571a0
mov rcx, qword [rdi]
mov rax, rsi
call qword [0x1404ee420]
add eax, dword [0x140563fb8]
mov ecx, dword [0x140567070]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x1403573d0
mov dword [rsp + 0x28], 0x184ce04d
mov dword [rsp + 0x20], 0xc0fa76fa
mov rcx, rdi
mov rdx, rsi
mov r8, rbp
mov r9, r14
call fcn.140359c10
mov r15d, dword [rsp + 0x120]
mov qword [rsp + 0x20], r14
mov dword [rsp + 0x30], 0xe767acf8
mov dword [rsp + 0x28], 0x3190c97f
xor ecx, ecx
xor edx, edx
mov r8d, r15d
mov r9, rbp
call fcn.140359a10
mov r8d, dword [rsp + 0x120]
mov eax, dword [rsp + 0x128]
mov ecx, r15d
shl eax, cl
mov dword [rsp + 0x28], 0xaaf487fd
mov dword [rsp + 0x20], 0x2a8c673a
mov ecx, eax
mov edx, r15d
mov r9, r14
call fcn.140359e20
jmp 0x140357320
test eax, eax
je 0x1403573f4
mov eax, dword [r13 + 0xc]
mov edx, dword [rsp + 0x80]
mov ecx, edx
xor ecx, edx
not ecx
and ecx, eax
and eax, edx
xor ecx, edx
or ecx, eax
mov dword [rsp + 0x80], ecx
mov r15, qword [rsp + 0x60]
jmp 0x1403571a0
or r15d, dword [rsp + 0x80]
nop dword [rax + rax]
mov eax, dword [0x140567070]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140357410
mov ecx, 0x78fb02cd
mov edx, 0x7ce71744
call fcn.14008a080
mov rcx, rbp
mov rdx, r14
mov r8d, 0xb514d990
mov r9d, 0xe7bdbb71
call fcn.14035a130
mov eax, dword [rsp + 0x120]
imul eax, dword [rsp + 0x128]
test al, 1
jne 0x140357410
mov eax, dword [0x14054ac30]
lea edx, [rax + 1]
mov dword [0x14054ac30], edx
mov ecx, eax
not ecx
xor eax, edx
not edx
and edx, ecx
or edx, eax
xor edx, 0xffffffff
mov qword [rsp + 0x60], r15
mov dword [rsp + 0x98], edx
jne 0x140357491
cmp dword [rsp + 0x78], 0
jg 0x140357516
xor r13d, r13d
mov rcx, qword [rsp + 0x10c]
mov edx, 0xb395f078
mov r8d, 0x76c62d67
call fcn.1400ad970
test al, 1
mov qword [rsp + 0x80], r13
jne 0x140357020
mov rsi, qword [rsp + 0xf8]
test rsi, rsi
je 0x140357695
mov rdi, qword [rsp + 0x68]
mov rcx, rdi
mov rdx, r14
mov r8d, 0xe767acf8
mov r9d, 0x28af5233
call fcn.1400ac2c0
mov rax, qword [rsp + 0x128]
mov rax, qword [rax]
mov rbp, qword [rsp + 0xc0]
cmp rbp, rax
jne 0x14035769f
mov rax, qword [rdi + 0x58]
mov qword [rsp + 0xb8], rax
jmp 0x1403576b0
xor esi, esi
xor r13d, r13d
jmp 0x140357535
xor r13, rbp
add edi, 0xafa748be
mov esi, edi
cmp edi, dword [rsp + 0x78]
jge 0x140357494
movsxd rax, esi
mov rcx, qword [rsp + 0xa0]
mov rbp, qword [rcx + rax]
nop word cs:[rax + rax]
mov eax, dword [0x140567070]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14035765e
nop word cs:[rax + rax]
test r12b, r12b
jne 0x1403575b3
mov ecx, esi
mov rdx, r14
mov r8d, 0xabad58cf
mov r9d, 0x6c9a1193
call fcn.140359f20
mov edi, dword [rsp + 0x128]
mov rcx, r14
mov edx, 0x76c62d67
mov r8d, 0x9944d755
call fcn.140359db0
cmp dword [rsp + 0x128], 0
je 0x140357640
mov ecx, esi
neg ecx
mov eax, ecx
shl eax, cl
shl eax, cl
add eax, esi
shl eax, 3
mov edx, 0x40
sub edx, eax
mov ecx, 0x48
sub ecx, eax
mov eax, edx
xor eax, ecx
and edx, ecx
lea ebx, [rax + rdx*2]
shl ebx, cl
mov r15d, ebx
sub r15d, ecx
imul r15d, ecx
mov dword [rsp + 0x20], 0xf5c9108f
mov ecx, ebx
mov edx, r15d
mov r8, r14
mov r9d, 0x9bd764e9
call fcn.1400ad9c0
mov ecx, dword [rsp + 0x128]
mov dword [rsp + 0x20], 0xabcd2278
mov edx, r15d
mov r8d, ebx
mov r9d, 0x638c7188
call fcn.14008a080
mov eax, dword [0x140567074]
cmp eax, 0x51
jge 0x140357570
jmp 0x140357575
mov ecx, dword [0x140567074]
mov edx, 0x88290087
mov r8d, 0x2287376d
call fcn.14024ef60
test al, 1
jne 0x140357520
mov rcx, r14
mov edx, 0x9aff288e
mov r8d, 0xb514d990
call fcn.140359970
mov ecx, dword [rsp + 0x128]
mov edx, 0x54d40876
mov r8d, 0xffd642e6
call fcn.140359f60
test al, 1
je 0x140357550
jmp 0x140357570
mov rbp, qword [rsp + 0xc0]
jmp 0x1403576b0
cmp rsi, rax
mov rax, qword [rsp + 0x70]
cmove rax, rdi
mov qword [rsp + 0x70], rax
test r12b, r12b
mov r13d, dword [rsp + 0xa8]
lea rdi, [rsp + 0x120]
mov r15, qword [rsp + 0x68]
jne 0x140357730
nop word [rax + rax]
mov rcx, r15
mov rdx, r14
mov r8d, 0xdecf8f79
mov r9d, 0x6a4e39ee
call fcn.1400ac2c0
mov rax, qword [rsp + 0x128]
test r13d, r13d
sete bl
cmp rbp, qword [rax]
setne byte [rsp + 0x88]
mov esi, dword [0x140567070]
mov ecx, esi
mov rdx, r14
mov r8d, 0x3466cdc5
mov r9d, 0x3e8e2fd6
call fcn.140359ed0
imul esi, dword [rsp + 0x128]
test sil, 1
je 0x1403577a0
nop word [rax + rax]
test r13d, r13d
sete sil
mov qword [rsp + 0x20], r14
mov dword [rsp + 0x30], 0xae921af4
mov dword [rsp + 0x28], 0x602f36
mov rcx, r15
mov rdx, rbp
mov r8d, esi
mov r9, rdi
call fcn.140359f40
movzx edx, byte [rsp + 0x128]
xor dl, byte [rsp + 0x120]
xor dl, sil
add sil, dl
mov dword [rsp + 0x20], 0x5cd387b9
mov ecx, esi
mov r8, r14
mov r9d, 0xf812ce57
call fcn.14012f6b0
mov eax, dword [0x140567074]
cmp eax, 0x32
jge 0x140357730
jmp 0x1403576d0
or bl, byte [rsp + 0x88]
je 0x1403577c0
lea rbp, [rsp + 0x120]
mov rbx, qword [rsp + 0x68]
mov r15, qword [rsp + 0x60]
jmp 0x140357032
mov eax, dword [0x140567074]
cmp eax, 0x20
mov rbx, qword [rsp + 0x68]
jg 0x140357804
mov dword [rsp + 0x20], 0x27ec3004
xor ecx, ecx
mov edx, 1
xor r8d, r8d
mov r9d, 0x3619f222
call fcn.140359870
mov ecx, dword [rbx + 4]
mov edx, dword [0x140567070]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
je 0x140357840
mov dword [rsp + 0x20], 0x27ec3004
xor ecx, ecx
mov edx, 1
xor r8d, r8d
mov r9d, 0x3619f222
call fcn.140359870
mov dword [rsp + 0x20], 0x59beada
mov rcx, rax
mov rdx, rbx
mov r8, r14
mov r9d, 0x8fedef3c
call fcn.14035a120
jmp 0x1403577d0
test ecx, ecx
lea rbp, [rsp + 0x120]
mov r15, qword [rsp + 0x60]
je 0x140357032
mov rcx, qword [rsp + 0x10c]
mov r8d, dword [rcx + 4]
test r8, r8
je 0x140357032
mov ecx, r8d
and ecx, 3
cmp r8d, 4
jae 0x140357887
xor r8d, r8d
test rcx, rcx
jne 0x140357929
jmp 0x140357032
lea rdx, [rbx + 0x100]
mov r9, r8
not r9
mov r10d, 0xfffffffe
add r10, 0xfffffffffffffffe
xor r8, r10
not r10
and r10, r9
or r10, r8
mov r9, 0xfffffffffffffffb
sub r9, r10
lea r10, [rbx + 0x218]
xor r8d, r8d
nop
mov r11d, r15d
or r15d, 0x2000
mov rsi, r8
or rsi, 1
lea rsi, [rsi + rsi*4]
shl rsi, 4
mov rdi, qword [r10]
xor rdi, rax
mov rbx, qword [r10 - 0x50]
xor rbx, rax
or rbx, rdi
mov rsi, qword [rdx + rsi + 0x28]
xor rsi, rax
mov rdi, qword [r10 - 0xf0]
xor rdi, rax
or rdi, rsi
or rdi, rbx
cmove r15d, r11d
cmp r9, r8
je 0x140357917
add r10, 0x140
add r8, 4
jmp 0x1403578c0
add r8, 4
mov rbx, qword [rsp + 0x68]
test rcx, rcx
je 0x140357032
lea rdx, [r8 + r8*4]
shl rdx, 4
add rdx, rbx
add rdx, 0x128
lea rcx, [rcx + rcx*4]
shl rcx, 4
add rcx, 0xffffffffffffffb0
xor r8d, r8d
nop word [rax + rax]
mov r9d, r15d
or r15d, 0x2000
cmp qword [rdx + r8], rax
cmove r15d, r9d
cmp rcx, r8
je 0x140357032
add r8, 0x50
jmp 0x140357950
mov rdi, qword [rsp + 0xf8]
mov r12, qword [rsp + 0xb8]
test r12, r12
setne dl
test rdi, rdi
setne cl
mov qword [rsp + 0x20], r14
mov dword [rsp + 0x30], 0xcf3748a
mov dword [rsp + 0x28], 0x10a18c22
lea rsi, [rsp + 0x120]
mov rbx, qword [rsp + 0x70]
mov r8, rbx
mov r9, rsi
call fcn.14035a1d0
cmp byte [rsp + 0x120], 1
jne 0x140357ab0
test byte [rsp + 0x128], 1
je 0x140357ab0
mov rax, qword [rbx + 0x20]
mov rcx, qword [rsp + 0x10c]
cmp rax, qword [rcx + 0x20]
jae 0x140357ab0
mov rdx, qword [rsp + 0x90]
test rdx, rdx
je 0x140357ab0
mov dword [rsp + 0x20], 0x54a06080
lea r14, [rsp + 0x128]
mov rcx, rdi
mov r8, r14
mov r9d, 0xef71aba6
call fcn.14035a0a0
cmp qword [rsp + 0xf8], r12
sete dl
cmp dword [rsp + 0x128], 0
sete cl
mov qword [rsp + 0x28], r14
mov rdi, qword [rsp + 0x70]
mov qword [rsp + 0x20], rsi
mov dword [rsp + 0x38], 0xfd67fbb4
mov dword [rsp + 0x30], 0x27ccdb8f
mov r8d, r15d
mov r9, rdi
call fcn.140359980
mov r15d, dword [rsp + 0x120]
test al, 1
jne 0x140357ab0
cmp word [rdi + 0x3a], 0
je 0x140357ab0
cmp qword [rdi + 0x40], 0
je 0x140357ab0
mov rax, qword [rsp + 0x128]
mov qword [rsp + 0x68], rax
mov ecx, dword [0x140567074]
mov edx, 0x9a828a24
mov r8d, 0x81373aaa
call fcn.140359b30
test al, 1
mov r8d, dword [rsp + 0x98]
je 0x140357e39
jmp 0x140357e19
mov r12d, dword [rsp + 0x58]
mov r13d, dword [rsp + 0x54]
mov qword [rsp + 0xf8], 0
mov dword [rsp + 0x28], 0x88290087
mov dword [rsp + 0x20], 0xe4fe2db4
mov ecx, 1
mov rdx, qword [rsp + 0xb0]
mov r8d, 1
mov r9d, 0x6bc6848e
call fcn.140359a80
lea rdx, [rsp + 0x128]
mov ecx, r12d
mov r8d, 0x587466c0
mov r9d, 0xbf20d29b
call fcn.140359a40
mov ecx, dword [rsp + 0x128]
lea rdx, [rsp + 0x128]
mov r8d, 0x16daa50c
mov r9d, 0xab24d186
call fcn.14035a110
mov eax, r12d
xor eax, 0xffffffe3
test eax, r12d
je 0x140357d83
movzx edi, byte [rsp + 0x128]
mov dword [rsp + 0x28], 0x2af6d979
mov dword [rsp + 0x20], 0x28af5233
xor ecx, ecx
mov edx, 1
xor r8d, r8d
mov r9d, 0xb514d990
call fcn.140359f90
test rax, rax
je 0x140357d83
mov rsi, rax
mov eax, r12d
xor eax, 8
mov ebp, r13d
and ebp, 0xfffffff7
or ebp, eax
mov eax, r12d
xor eax, 0x10
mov ebx, r13d
and ebx, 0xffffffef
or ebx, eax
mov dword [rsp + 0xec], 0
mov dword [rsp + 0xe8], 0
mov qword [rsp + 0xe0], 0
mov dword [rsp + 0xdc], 1
test dil, 1
jne 0x140357c06
lea rax, [rsp + 0xec]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0xe8]
mov rcx, 0xffffffffffffffff
mov edx, 7
mov r9d, 4
mov rax, rsi
call qword [0x1404ee420]
test eax, eax
je 0x140357c06
mov dword [rsp + 0xe8], 0
not ebp
not ebx
xor r14d, r14d
lea rdi, [rsp + 0x128]
nop word cs:[rax + rax]
mov eax, dword [0x140567070]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140357c36
test r14b, r14b
je 0x140357c55
mov rcx, rdi
mov edx, 0x30367089
mov r8d, 0xf3404b8f
call fcn.140359ad0
test byte [rsp + 0x128], 1
jne 0x140357c20
jmp 0x140357c31
test ebp, ebp
je 0x140357cd3
lea rax, [rsp + 0xec]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0xe0]
mov rcx, 0xffffffffffffffff
mov edx, 0x1e
mov r9d, 8
mov rax, rsi
call qword [0x1404ee420]
test eax, eax
je 0x140357cd3
nop dword [rax]
mov ecx, 0x1f94ea53
mov edx, 0x80526a68
call fcn.14035a0c0
test al, 1
je 0x140357cba
mov qword [rsp + 0xe0], 0
mov eax, dword [0x140567074]
cmp eax, 0xd
jle 0x140357cd3
mov qword [rsp + 0xe0], 0
mov eax, dword [0x140567074]
cmp eax, 0x23
jge 0x140357c90
jmp 0x140357ca3
test ebx, ebx
je 0x140357d23
lea rax, [rsp + 0xec]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0xdc]
mov rcx, 0xffffffffffffffff
mov edx, 0x1f
mov r9d, 4
mov rax, rsi
call qword [0x1404ee420]
test eax, eax
je 0x140357d23
lea rcx, [rsp + 0xdc]
mov edx, 0x71e426a9
mov r8d, 0xeaf2150e
call fcn.140359bd0
mov eax, r15d
and eax, 0x100
mov ecx, r15d
xor ecx, 0x100
mov edx, r15d
xor edx, ecx
and edx, eax
and eax, ecx
xor edx, ecx
or edx, eax
cmp dword [rsp + 0xe8], 0
cmove edx, r15d
mov eax, edx
or eax, 0x200
cmp qword [rsp + 0xe0], 0
cmove eax, edx
mov ecx, eax
xor ecx, 0xfffffbff
and ecx, eax
mov r15d, eax
xor r15d, 0x400
or r15d, ecx
cmp dword [rsp + 0xdc], 0
cmovne r15d, eax
mov eax, dword [0x140567070]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
nop word cs:[rax + rax]
lea rdx, [rsp + 0x128]
mov ecx, r12d
mov r8d, 0x9f48971e
mov r9d, 0x419ead58
call fcn.14035a1c0
mov eax, dword [rsp + 0x128]
mov ecx, dword [0x140567070]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x140357da0
mov ecx, eax
xor ecx, 0xffffffdf
test eax, ecx
je 0x1403582c8
lea rcx, [rsp + 0x128]
mov edx, 0xd05f3a5e
mov r8d, 0x96783e9f
call fcn.140359ae0
mov rbx, qword [rsp + 0x128]
test rbx, rbx
je 0x1403582c8
xor eax, eax
test al, al
jne 0x140358286
jmp 0x140358277
xor esi, esi
test r8d, r8d
setne al
mov rdi, qword [0x14044be60]
mov ecx, dword [0x140567070]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x140357e42
mov rax, qword [0x14044be60]
jmp 0x140357e19
mov qword [rsp + 0x60], r15
mov sil, al
mov eax, dword [0x140567074]
mov eax, dword [0x140567074]
cmp eax, 0x35
jg 0x140357e50
lea r14, [rsp + 0x128]
lea r15, [rsp + 0x120]
jmp 0x140357e96
mov ecx, 0x3a0c5dc7
mov edx, 0x54f5f15
call fcn.14008a080
mov ecx, 0xf1c9e5f5
mov edx, 0xf6342f8e
call fcn.140359be0
test al, 1
jne 0x140357f5c
mov eax, dword [0x140567070]
lea ecx, [rax - 1]
imul ecx, eax
mov edx, 0x656392ee
mov r8d, 0xed8bd4e3
call fcn.140178560
test al, 1
je 0x140357ef5
nop word cs:[rax + rax]
mov rcx, rsi
mov rdx, r14
mov r8d, 0xf3404b8f
mov r9d, 0xd6b3979d
call fcn.140359920
mov rbx, qword [rsp + 0x128]
mov eax, dword [0x140567070]
mov ecx, eax
not ecx
imul ecx, eax
test cl, 1
je 0x140357e70
mov dword [rsp + 0x20], 0xeadd4de8
mov rcx, rsi
mov rdx, r15
mov r8, r14
mov r9d, 0xaea9556
call fcn.140359f10
movzx ecx, byte [rsp + 0x120]
mov rax, qword [rsp + 0x128]
mov rdx, rax
shl rdx, cl
mov rcx, rax
sub rcx, rdx
imul rcx, rdx
mov rdx, rax
sub rdx, rcx
imul rdx, rcx
sub rdx, rax
mov dword [rsp + 0x20], 0x15033724
mov rcx, rax
mov r8, r14
mov r9d, 0x2576efa2
call fcn.14035a0e0
jmp 0x140357ec0
inc rbx
neg rbx
movabs rax, 0xaf01ffa2cbfef2b
add rdi, rax
movabs rcx, 0x4cebd666d798c8af
add rdi, rcx
sub rdi, rax
sub rdi, qword [rsp + 0x80]
sub rdi, rcx
mov rax, rdi
xor rax, rbx
or rdi, rbx
not rdi
or rdi, rax
not rdi
lea rsi, [rsp + 0x128]
mov rcx, rdi
mov rdx, rsi
mov r8d, 0x96783e9f
mov r9d, 0x37ab69d3
call fcn.14011e320
shr rdi, 0x20
mov eax, dword [0x140567070]
or edi, dword [rsp + 0x128]
xor ebx, ebx
mov r12d, dword [rsp + 0x58]
mov r13d, dword [rsp + 0x54]
mov r14, qword [rsp + 0x70]
nop dword [rax]
mov rcx, rsi
mov edx, 0x46a94575
mov r8d, 0x739024cd
call fcn.1403598f0
mov eax, dword [rsp + 0x128]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
mov eax, dword [0x140567074]
cmp eax, 0x31
jg 0x140358003
mov ecx, 0x423d3e08
mov edx, 0x4a0aeb21
call fcn.14008a080
test bl, bl
jne 0x140357fe0
mov ecx, dword [0x140563fb8]
mov dword [rsp + 0x20], 0xf93d99ca
lea rsi, [rsp + 0x128]
mov edx, edi
mov r8, rsi
mov r9d, 0x5cb3975d
call fcn.140359e60
mov eax, dword [rsp + 0x128]
mov dword [0x140563fb8], eax
lea rax, [0x14044bc30]
mov qword [rsp + 0x78], rax
mov ebp, 0xb
xor edi, edi
nop word [rax + rax]
mov rax, qword [rsp + 0x68]
movzx eax, word [rax]
shr eax, 1
cmp ebp, eax
jne 0x140358200
mov rax, qword [r14 + 0x40]
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0x78]
mov rbx, qword [rax + 4]
mov ebp, ebp
dec rbp
mov r12, 0xffffffffffffffff
xor r14d, r14d
nop word cs:[rax + rax]
movzx r13d, byte [rbx + r14]
cmp r13d, 0x2a
je 0x140358133
cmp r13d, 0x3f
je 0x140358133
mov eax, 0xfffffffe
xor rax, r12
mov rcx, qword [rsp + 0xc8]
xor rax, rcx
and rax, rcx
or rax, r12
not rax
mov r15, rsi
mov rcx, qword [rsp + 0xa0]
movzx esi, byte [rcx + rax]
lea ecx, [rsi + 0xc]
mov rdx, r15
mov r8d, 0xfee5e8e7
mov r9d, 0x5cb3975d
call fcn.140359d80
movzx eax, byte [rsp + 0x128]
add al, 0xf4
lea ecx, [rsi + 0x20]
cmp al, 0x1a
movzx eax, cl
cmovae eax, esi
mov rsi, r15
mov ecx, eax
not cl
xor al, 0xcc
and cl, 0x33
or al, cl
not al
or al, cl
cmp al, r13b
jne 0x1403581ec
cmp rbp, r14
je 0x140358150
add r12, 0xfffffffffffffffe
inc r14
jmp 0x1403580b0
mov r14, qword [rsp + 0x70]
mov rcx, qword [r14 + 0x50]
mov rax, qword [rsp + 0x90]
call qword [0x1404ee420]
test eax, eax
mov r12d, dword [rsp + 0x58]
mov r13d, dword [rsp + 0x54]
mov ebx, 0
mov rbp, qword [rsp + 0x78]
je 0x140358202
lea r15, [rsp + 0x120]
nop dword [rax + rax]
mov eax, dword [0x140567074]
cmp eax, 0x4d
jg 0x14035819f
test bl, bl
je 0x1403581e7
lea rcx, [rbp + 0xc]
mov dword [rsp + 0x28], 0xcda8cb72
mov dword [rsp + 0x20], 0x933e4ce
mov edx, edi
mov r8, r15
mov r9, rsi
call fcn.140359d00
mov rcx, rsi
mov edx, 0xcda8cb72
mov r8d, 0x6bc6848e
call fcn.1403598f0
mov eax, dword [rsp + 0x128]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140358190
jmp 0x14035819b
or edi, dword [rbp + 0xc]
jmp 0x140358202
mov r12d, dword [rsp + 0x58]
mov r13d, dword [rsp + 0x54]
mov r14, qword [rsp + 0x70]
nop dword [rax + rax]
xor ebx, ebx
test bl, bl
mov dword [rsp + 0x20], 0x190f707b
mov rcx, qword [rsp + 0x78]
mov rdx, rsi
lea r8, [rsp + 0x120]
mov r9d, 0x1854422d
call fcn.140359f80
mov rbx, qword [rsp + 0x128]
mov ebp, dword [rsp + 0x120]
mov ecx, ebp
mov rdx, rsi
mov r8d, 0x246a34a3
mov r9d, 0x1a5db10e
call fcn.140359ba0
test al, 1
je 0x140358204
test byte [rsp + 0x128], 1
mov qword [rsp + 0x78], rbx
je 0x140358070
mov eax, dword [0x140567074]
cmp eax, 0x37
jg 0x1403583e0
jmp 0x1403583ac
movzx eax, byte [rbx + 2]
mov ecx, dword [0x140567074]
cmp ecx, 0x20
jl 0x1403582bd
lea esi, [r15 - 0x800]
lea rdi, [rsp + 0x128]
mov bpl, 1
nop dword [rax + rax]
mov ecx, esi
mov rdx, rdi
mov r8d, 0x106fa2f0
mov r9d, 0x3264253b
call fcn.140359ef0
test bpl, bpl
je 0x1403582a0
jmp 0x140358277
test al, al
je 0x1403582c8
or r15d, 0x800
lea rdx, [rsp + 0x128]
mov ecx, r12d
mov r8d, 0x6aa29fdf
mov r9d, 0x84a31790
call fcn.140359c00
cmp dword [rsp + 0x128], 0
je 0x140358328
lea rcx, [rsp + 0x128]
mov edx, 0xfd67fbb4
mov r8d, 0xc3116860
call fcn.14035a140
test al, 1
jne 0x140358328
mov rax, qword [rsp + 0x128]
mov rax, qword [rax + 0x20]
test rax, rax
je 0x140358328
cmp dword [rax + 0xc], 0
je 0x140358328
or r15d, 0x1000
test r12d, 0x200
je 0x140358358
mov ecx, 0x1825fd9d
mov edx, 0x86b90422
mov r8d, 0x53695b6c
call fcn.140359e50
mov ecx, r15d
or ecx, 0x40000
test al, al
cmove ecx, r15d
mov r15d, ecx
mov eax, r12d
xor eax, 0xfffffbff
test eax, r12d
je 0x140358373
mov ecx, r12d
call fcn.140358a50
or eax, r15d
mov r15d, eax
mov eax, r13d
and eax, 0x1000
mov ecx, r12d
and ecx, 0xffffefff
or ecx, eax
mov eax, r13d
and eax, 0xffffefff
or eax, ecx
cmp eax, 0xffffffff
je 0x1403583a4
xor eax, eax
test al, al
jne 0x140358606
jmp 0x1403585dc
mov edi, r15d
jmp 0x14035865a
lea rsi, [rsp + 0x128]
mov rcx, rsi
mov edx, 0x81373aaa
mov r8d, 0x780da4eb
call fcn.1403598f0
mov eax, dword [rsp + 0x128]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x1403583ed
nop dword [rax]
mov eax, dword [0x140567074]
cmp eax, 0xc
jge 0x1403583e0
jmp 0x1403583ac
test edi, edi
mov r15, qword [rsp + 0x60]
je 0x140357aba
mov eax, dword [0x140567074]
cmp eax, 0x1f
jg 0x14035841e
mov eax, dword [0x140567070]
mov ecx, 1
sub ecx, eax
imul ecx, eax
test cl, 1
je 0x1403585bf
lea r14, [rsp + 0x120]
mov bl, 1
nop dword [rax + rax]
mov eax, r15d
mov ecx, edi
shl eax, cl
mov r15d, eax
sub r15d, edi
imul r15d, edi
sub eax, r15d
imul eax, r15d
mov ecx, r15d
sub ecx, eax
mov eax, ecx
not eax
xor ecx, r15d
not r15d
and r15d, eax
or r15d, ecx
not r15d
or r15d, ecx
mov dword [rsp + 0x20], 0xf812ce57
mov ecx, r15d
mov rdx, r14
mov r8, rsi
mov r9d, 0x44a10f2d
call fcn.1403598d0
mov ecx, dword [rsp + 0x120]
mov eax, dword [rsp + 0x128]
mov edx, eax
xor edx, 0x7fff7fff
and edx, eax
xor eax, 0x8000
lea edx, [rax + rdx*2]
sub edx, ecx
mov dword [rsp + 0x28], 0x247d62c8
mov dword [rsp + 0x20], 0x7890e46e
mov r8, r14
mov r9, rsi
call fcn.140359bc0
mov eax, dword [rsp + 0x120]
mov ecx, dword [rsp + 0x128]
sub eax, ecx
imul eax, ecx
neg eax
mov edx, eax
xor edx, ecx
and eax, ecx
lea eax, [rdx + rax*2]
mov ebp, eax
sub ebp, ecx
imul ebp, ecx
and ebp, eax
lea eax, [r15 + 0x1e69e3b7]
mov ecx, eax
xor ecx, 0x19c49
and eax, 0x9c49
lea edx, [rcx + rax*2]
shl edx, 0xf
mov r8d, edx
sub r8d, r15d
mov ecx, r8d
sub ecx, edx
mov qword [rsp + 0x20], rsi
mov dword [rsp + 0x30], 0xfb139255
mov dword [rsp + 0x28], 0x7b925a00
mov r9, r14
call fcn.140359d90
mov r15d, dword [rsp + 0x120]
mov ecx, dword [rsp + 0x128]
mov dword [0x140567070], 0
mov dword [rsp + 0x20], 0xf151fb22
mov edx, r15d
mov r8, rsi
mov r9d, 0xf1a98e61
call fcn.14012ed60
mov ecx, dword [rsp + 0x128]
mov edx, ecx
sub edx, r15d
imul edx, r15d
mov r15, qword [rsp + 0x60]
sub ecx, edx
imul ecx, edx
sub ecx, edx
mov dword [rsp + 0x20], 0x6493f330
mov r8, rsi
mov r9d, 0x52fd5321
call fcn.140359f00
movzx ecx, byte [rsp + 0x128]
mov edx, ebp
shl edx, cl
mov dword [rsp + 0x28], 0xe05a10be
mov dword [rsp + 0x20], 0xfb139255
mov ecx, ebp
mov r8, r14
mov r9, rsi
call fcn.140359df0
test bl, bl
je 0x140358430
jmp 0x140358405
or r15d, edi
mov eax, r15d
xor eax, 0xffff7fff
and eax, r15d
xor r15d, 0x8000
or r15d, eax
jmp 0x140357aba
mov ecx, 0x1825fd9d
mov edx, 0x86b90422
mov r8d, 0x53695b6c
call fcn.140359e50
mov edi, r15d
or edi, 0x200000
test al, al
cmove edi, r15d
mov al, 1
test al, al
jne 0x14035865a
lea rdi, [fcn.140356b00]
add edi, 0x1ed0
not edi
add edi, edi
lea rsi, [rsp + 0x128]
nop
mov ecx, 0x1825fd9d
mov edx, 0x86b90422
mov r8d, 0x53695b6c
call fcn.140359e50
mov dword [rsp + 0x20], 0x810fc242
xor ecx, ecx
xor edx, edx
mov r8, rsi
mov r9d, 0x996cddd5
call fcn.140359c40
test dil, 1
jne 0x140358620
jmp 0x1403585dc
mov eax, dword [0x140567070]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x140358685
mov ecx, dword [0x140567074]
mov edx, 0x9b142442
mov r8d, 0x83ae864b
call fcn.140276690
test al, 1
jne 0x1403586c7
mov esi, r12d
shl esi, 0xd
add esi, 0xfc000000
lea rbx, [rsp + 0x128]
nop dword [rax]
mov dword [rsp + 0x20], 0x5e496c6b
mov ecx, esi
mov edx, esi
mov r8, rbx
mov r9d, 0x289adb37
call fcn.14012f070
mov eax, dword [0x140567074]
cmp eax, 0x37
jge 0x1403586a0
jmp 0x14035866b
test r12d, 0x2000
je 0x140358707
xor ecx, ecx
mov edx, 0x44a10f2d
mov r8d, 0x29d3d5e7
mov r9d, 0xbbeec3c9
call fcn.1403599d0
test rax, rax
je 0x140358707
cmp qword [rax + 0x16a0], 0
jne 0x140358701
cmp qword [rax + 0x16a8], 0
je 0x140358707
or edi, 0x400000
mov esi, r12d
xor esi, 0x10000
mov dword [rsp + 0x20], 0x296030
lea r8, [rsp + 0x128]
mov ecx, r13d
mov edx, 0xfffeffff
mov r9d, 0x84ccb94d
call fcn.140359e10
or esi, dword [rsp + 0x128]
cmp esi, 0xffffffff
je 0x14035874e
call fcn.1403590a0
mov ecx, edi
or ecx, 8
test al, al
cmovne edi, ecx
mov eax, r12d
xor eax, 0x4000
and r13d, 0xffffbfff
or r13d, eax
cmp r13d, 0xffffffff
je 0x14035883d
lea rcx, [rsp + 0x128]
mov edx, 0x98b9188
mov r8d, 0x434fbf82
call fcn.140359d20
mov rsi, qword [rsp + 0x128]
mov rcx, rsi
mov edx, 0x64854ea
mov r8d, 0x9f19d18f
call fcn.1400ad970
test al, 1
jne 0x14035883d
mov dword [rsp + 0x38], 0x780da4eb
mov dword [rsp + 0x30], 0xaea9556
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov ecx, 1
xor edx, edx
xor r8d, r8d
xor r9d, r9d
call fcn.140359790
test eax, eax
je 0x14035883d
movzx eax, al
cmp eax, 0xa
ja 0x14035883d
cmp eax, 6
mov eax, 0x70
mov edx, 0x14
cmovae rdx, rax
mov dword [rsp + 0x20], 0x921dee16
lea r8, [rsp + 0x128]
mov rcx, rsi
mov r9d, 0xd8f9e920
call fcn.1400aadd0
mov rax, qword [rsp + 0x128]
mov ecx, dword [rax]
lea rdx, [rsp + 0x128]
mov r8d, 0x87fb26e7
mov r9d, 0xffb04935
call fcn.140359ac0
or edi, dword [rsp + 0x128]
mov eax, r12d
xor eax, 0xffff7fff
test eax, r12d
je 0x140358927
mov eax, dword [0x140567074]
cmp eax, 0x4f
jg 0x1403588ad
mov dword [rsp + 0x28], 0x2af6d979
mov dword [rsp + 0x20], 0x28af5233
xor ecx, ecx
xor edx, edx
xor r8d, r8d
mov r9d, 0xb514d990
call fcn.140359f90
mov rsi, rax
lea rdx, [rsp + 0x128]
mov rcx, rax
mov r8d, 0xe6a472d
mov r9d, 0x9c290dfb
call fcn.140124bf0
movzx eax, byte [rsp + 0x128]
mov ecx, dword [0x140567074]
cmp ecx, 0x18
jle 0x1403588d1
mov dword [rsp + 0x28], 0x2af6d979
mov dword [rsp + 0x20], 0x28af5233
xor ecx, ecx
xor edx, edx
xor r8d, r8d
mov r9d, 0xb514d990
call fcn.140359f90
jmp 0x140358859
test al, 1
jne 0x140358927
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov ecx, 7
xor edx, edx
xor r8d, r8d
xor r9d, r9d
mov rax, rsi
call qword [0x1404ee420]
xor eax, 0x756e6971
cmp eax, 0xb56e6953
je 0x140358927
cmp eax, 0xb56e6973
je 0x140358927
cmp eax, 0xb56e6a25
je 0x140358927
mov eax, edi
xor eax, 0xff7fffff
and eax, edi
xor edi, 0x800000
or edi, eax
mov rcx, qword [rsp + 0x150]
xor rcx, rsp
call fcn.1403e4010
mov eax, edi
add rsp, 0x158
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov eax, dword [0x140567074]
cmp eax, 0x59
jg 0x140358990
movsxd rax, dword [0x14044bf74]
mov ecx, dword [0x140567074]
cmp ecx, 0x16
jge 0x140358990
mov ecx, dword [0x140567070]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
je 0x1403589ab
mov eax, dword [0x14044bf74]
jmp 0x14035894d
mov eax, dword [0x14044bf74]
mov ecx, 0x1d052f6
mov edx, 0xef82c627
call fcn.1403598b0
test al, 1
je 0x140358990
jmp 0x140358958
mov dword [rsp + 0xa8], edi
mov qword [rsp + 0xc0], rsi
mov dword [rsp + 0x54], r13d
mov dword [rsp + 0x58], r12d
movabs rcx, 0xdb5dd295445b8f4d
add rax, rcx
lea rdx, [0x14044bf74]
add rdx, rax
sub rdx, rcx
mov qword [rsp + 0xa0], rdx
xor eax, eax
mov cl, 1
nop word [rax + rax]
mov edx, dword [0x140567070]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
jne 0x140358a08
test al, al
je 0x140358a0e
test cl, cl
je 0x1403589f0
jmp 0x140358a04
mov eax, dword [0x14044bfc0]
mov dword [rsp + 0x78], eax
xor r12d, r12d
lea rbp, [rsp + 0x120]
xor eax, eax
mov qword [rsp + 0xb8], rax
mov rbx, qword [rsp + 0xb0]
xor eax, eax
mov qword [rsp + 0x70], rax
xor r15d, r15d
jmp 0x140357043