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

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x238
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x1a0], xmm6
mov qword [rbp + 0x198], 0xfffffffffffffffe
mov edi, r9d
mov r13, rcx
mov eax, dword [0x14055e99c]
cmp eax, 0x38
jle 0x14031e3ef
nop word cs:[rax + rax]
xor ecx, ecx
cmp dword [rdx + 4], 0x147
setb cl
mov eax, dword [r13 + 0x98]
sub eax, ecx
imul eax, ecx
shl eax, cl
sub ecx, eax
shl eax, cl
mov r9d, eax
sub r9d, ecx
imul r9d, ecx
sub eax, r9d
imul eax, r9d
sub r9d, eax
mov ecx, eax
sub ecx, r9d
imul ecx, r9d
mov r10d, eax
sub r10d, ecx
add r10d, 0x1f7bbb7a
mov r9d, r10d
xor r9d, 0xe0844486
and r10d, 0x60844486
lea r9d, [r9 + r10*2]
imul r9d, ecx
mov ecx, eax
sub ecx, r9d
imul ecx, r9d
mov r9d, eax
shl r9d, cl
mov ecx, r9d
xor ecx, r9d
not ecx
and ecx, eax
and eax, r9d
xor eax, r9d
xor eax, ecx
mov dword [r13 + 0x98], eax
mov eax, dword [r13 + 0x98]
mov eax, dword [0x14055e99c]
cmp eax, 0xb
jge 0x14031e350
xor eax, eax
cmp dword [rdx + 4], 0x147
setb al
or dword [r13 + 0x98], eax
mov eax, dword [r13 + 0x98]
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
je 0x14031e437
mov rcx, r13
mov r9d, edi
movaps xmm6, xmmword [rbp + 0x1a0]
add rsp, 0x238
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
jmp fcn.14031ca20
mov eax, dword [rdx]
mov dword [r13 + 0x334], eax
test al, 1
jne 0x14031e44b
xor eax, eax
jmp 0x14031f9cc
mov dword [r13 + 0xa0], edi
mov qword [rbp + 0x148], rdx
lea rax, [rdx + 0x20]
mov qword [r13 + 0x338], rax
add r8d, 0xffffffe0
mov dword [r13 + 0x340], r8d
mov rax, qword [r13]
mov rax, qword [rax + 0x20]
mov rcx, r13
call qword [case.0x140303ece.0]
test al, al
je 0x14031e591
mov rdx, qword [rbp + 0x148]
mov eax, dword [rdx + 8]
mov dword [rbp + 0x20], eax
mov eax, dword [rdx + 4]
mov ecx, eax
xor ecx, eax
not ecx
and ecx, dword [r13 + 0xa0]
xor ecx, eax
mov dword [rbp + 0x24], ecx
mov eax, dword [rdx]
mov dword [rbp + 0x28], eax
mov eax, dword [rdx + 0xc]
mov dword [rbp + 0x2c], eax
lea rbx, [r13 + 0x1e4]
lea rax, [r13 + 0x234]
movzx ecx, byte [r13 + 0x1e0]
mov qword [rsp + 0x30], rax
mov dword [rsp + 0x28], ecx
mov dword [rsp + 0x48], 0xbb938b45
mov dword [rsp + 0x40], 0x7ee9b738
mov dword [rsp + 0x38], 0x62f9a23a
mov qword [rsp + 0x20], 0x10
lea r9, [rbp + 0x20]
mov ecx, 1
mov edx, 1
mov r8, rbx
call fcn.140326910
mov eax, dword [r13 + 0xa0]
mov dword [r13 + 0xa4], eax
mov r14d, dword [r13 + 0x340]
mov r15, qword [r13 + 0x338]
mov rax, qword [r13]
mov rax, qword [rax + 0x20]
mov rcx, r13
call qword [case.0x140303ece.0]
cmp byte [0x14055d200], 0
jne 0x14031e545
test al, al
je 0x14031e591
mov eax, dword [r13 + 0xa0]
mov dword [r13 + 0x234], eax
mov dword [r13 + 0x238], 0
mov dword [r13 + 0x23c], eax
mov dword [r13 + 0x240], 0
mov dword [rsp + 0x28], 0xb0969d34
mov dword [rsp + 0x20], 0xfdad4ce3
mov rcx, rbx
mov rdx, r15
mov r8, r14
mov r9, r15
call fcn.140146630
test byte [r13 + 0x334], 2
mov rsi, qword [rbp + 0x148]
jne 0x14031e62d
movzx ebx, word [rsi + 8]
movzx r14d, bx
lea rcx, [r13 + 0x348]
mov qword [rbp + 0x120], rcx
call fcn.140094800
mov rax, qword [r13 + 0x358]
sub rax, qword [r13 + 0x348]
sar rax, 3
movabs rcx, 0xaaaaaaaaaaaaaaab
imul rcx, rax
cmp rcx, r14
jae 0x14031e5f5
mov rcx, qword [rbp + 0x120]
mov rdx, r14
call fcn.1403233d0
lea rdi, [r13 + 0x390]
mov rdx, qword [r13 + 0x390]
mov rcx, qword [r13 + 0x398]
mov rax, rcx
sub rax, rdx
sar rax, 2
cmp rax, r14
jbe 0x14031e733
lea rax, [rdx + r14*4]
mov qword [r13 + 0x398], rax
jmp 0x14031e775
lea rbx, [r13 + 0xa0]
not edi
lea r14, [r13 + 0xe8]
nop dword [rax]
mov eax, dword [0x14055e99c]
cmp eax, 0x40
jg 0x14031e6c3
mov eax, dword [rsi + 4]
mov edx, edi
or edx, eax
and eax, edi
not edx
or edx, eax
mov dword [rsp + 0x20], 0xd9d5273e
mov rcx, r14
mov r8d, 0xb6fd3d87
mov r9d, 0xc67948b6
call fcn.140326b80
mov rcx, rbx
mov rdx, rsi
mov r8, r14
call fcn.14031d850
mov r8d, dword [r13 + 0x340]
mov rdx, qword [r13 + 0x338]
mov dword [rsp + 0x28], 0x75fad97d
mov dword [rsp + 0x20], 0x4b3ae3e5
mov rcx, r14
mov r9d, 0x502c3daa
call fcn.140326b90
mov eax, dword [0x14055e998]
lea ecx, [rax + 1]
imul ecx, eax
test cl, 1
je 0x14031e5a6
mov dword [rsp + 0x20], 0xd9d5273e
mov rcx, r14
mov r8d, 0xb6fd3d87
mov r9d, 0xc67948b6
call fcn.140326b80
mov rcx, rbx
mov rdx, rsi
mov r8, r14
call fcn.14031d850
mov r8d, dword [r13 + 0x340]
mov rdx, qword [r13 + 0x338]
mov dword [rsp + 0x28], 0x75fad97d
mov dword [rsp + 0x20], 0x4b3ae3e5
mov rcx, r14
mov r9d, 0x502c3daa
call fcn.140326b90
mov eax, dword [0x14055e998]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14031e640
jmp 0x14031e64b
jae 0x14031e775
mov r8, qword [r13 + 0x3a0]
sub r8, rdx
sar r8, 2
cmp r8, r14
jae 0x14031e759
lea r8, [rbp + 0x20]
mov rcx, rdi
mov rdx, r14
call fcn.140323740
jmp 0x14031e775
mov r8, r14
sub r8, rax
lea rsi, [rcx + r8*4]
shl r8, 2
xor edx, edx
call fcn.14040d340
mov qword [r13 + 0x398], rsi
mov qword [rbp + 0x118], r14
test bx, bx
mov qword [rbp + 0x190], r13
je 0x14031e7f6
mov rax, qword [rbp + 0x118]
mov rcx, rax
or rcx, 0xfffffffffffffffc
mov qword [rbp + 0x170], rcx
and ecx, 3
mov qword [rbp + 0x168], rcx
cmp bx, 4
jae 0x14031e876
xor r14d, r14d
cmp qword [rbp + 0x168], 0
mov r13, qword [rbp + 0x190]
je 0x14031e7f6
mov rcx, qword [rbp + 0x170]
xor rcx, 3
mov rax, 0xfffffffffffffffe
sub rax, rcx
nop word [rax + rax]
mov rcx, qword [rdi]
mov dword [rcx + r14*4], 0xffffffff
sub rax, 1
jb 0x14031e7f6
inc r14
jmp 0x14031e7e0
xorps xmm6, xmm6
movaps xmmword [rbp + 0x130], xmm6
mov qword [rbp + 0x140], 0
xor r12d, r12d
test r12b, r12b
jne 0x14031ea69
mov rsi, qword [rbp + 0x138]
mov ecx, 0x44
call fcn.1403e4d2c
mov rdi, rax
mov rbx, qword [rbp + 0x130]
mov r8, qword [rbp + 0x138]
sub r8, rbx
mov rcx, rax
mov rdx, rbx
call fcn.14040cc90
test rbx, rbx
mov r13, qword [rbp + 0x190]
je 0x14031ea46
lea rax, [fcn.14031e300]
add eax, eax
add eax, 0x360
mov ecx, eax
not ecx
test ecx, eax
je 0x14031e9ce
jmp 0x14031e9e6
mov r12, rax
not r12
xor eax, 0xfffc
and r12, 0xffffffffffff0003
or r12, rax
not r12
xor r14d, r14d
lea rbx, [0x1403251a0]
mov r13b, 1
jmp 0x14031e8ad
add r14, 4
cmp r14, r12
je 0x14031e7b4
mov eax, dword [0x14055e998]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14031e920
nop
mov rax, qword [rdi]
lea rcx, [r14*4]
mov dword [rax + r14*4], 0xffffffff
mov rax, qword [rdi]
mov rdx, rcx
or rdx, 4
mov dword [rax + rdx], 0xffffffff
mov rax, qword [rdi]
mov rdx, rcx
or rdx, 8
mov dword [rax + rdx], 0xffffffff
mov rax, qword [rdi]
or rcx, 0xc
mov dword [rax + rcx], 0xffffffff
mov eax, dword [0x14055e998]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14031e8a0
nop word cs:[rax + rax]
mov rax, qword [rdi]
mov dword [rax + r14*4], 0xffffffff
lea rdx, [r14 + r14]
lea r15, [r14*4]
sub rdx, r15
imul rdx, r15
or rdx, r15
lea rax, [r14 + r14]
add rax, 0xfffffffffffffffc
lea ecx, [rax*4]
shl rax, cl
shl rax, cl
mov r8, rax
shl r8, cl
mov rcx, qword [rdi]
mov dword [rcx + rdx*4], 0xffffffff
mov ecx, eax
neg ecx
lea edx, [rax - 1]
xor edx, ecx
and edx, r8d
xor edx, ecx
and ecx, r8d
lea ecx, [rdx + rcx*2]
mov rsi, rax
shl rsi, cl
or rsi, rax
mov ecx, 0x53
call fcn.1403c4b54
mov qword [0x14055e980], rax
mov rcx, rbx
call fcn.1403e5350
mov rax, qword [rdi]
mov dword [rax + rsi*4], 0xffffffff
lea rax, [r15 + r15*2]
mov ecx, 0x30
sub rcx, rax
mov rax, qword [rdi]
or rcx, 0xc
mov dword [rax + rcx], 0xffffffff
test r13b, r13b
je 0x14031e920
jmp 0x14031e8c0
mov rdx, qword [rbp + 0x140]
mov eax, dword [0x14055e998]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14031ea16
lea r14, [0x140325180]
nop dword [rax]
mov ecx, 0x20
call fcn.1403c4b54
mov qword [0x14055e978], rax
mov rcx, r14
call fcn.1403e5350
mov eax, dword [0x14055e99c]
cmp eax, 0x25
jge 0x14031e9f0
jmp 0x14031e9ce
sub rdx, rbx
cmp rdx, 0x1000
jb 0x14031ea3e
mov rax, qword [rbx - 8]
sub rbx, rax
add rbx, 0xfffffffffffffff8
cmp rbx, 0x20
jae 0x14031f598
add rdx, 0x27
mov rbx, rax
mov rcx, rbx
call fcn.1400a7e90
add rsi, qword [0x14055d370]
mov qword [rbp + 0x130], rdi
add rsi, rdi
mov qword [rbp + 0x138], rsi
add rdi, 0x44
mov qword [rbp + 0x140], rdi
lea rax, [r13 + 0xe8]
mov qword [rbp + 0x170], rax
lea rdi, [fcn.14031e300]
xor r8d, r8d
xor eax, eax
mov qword [rbp + 0x188], rax
jmp 0x14031ea9a
mov r8d, dword [rbp + 0x12c]
inc r8d
mov eax, dword [0x14055e998]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
mov rdx, qword [rbp + 0x118]
mov eax, dword [0x14055e998]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14031eab0
cmp r8d, edx
jae 0x14031f48d
mov dword [rbp + 0x12c], r8d
xor esi, esi
mov rax, qword [rbp + 0x188]
mov r14d, eax
jmp 0x14031eb01
mov rax, qword [r13 + 0x338]
mov ecx, r14d
movzx eax, byte [rax + rcx]
mov byte [rbp + rsi + 0x17f], al
inc rsi
inc r14d
cmp rsi, 5
je 0x14031eb40
test byte [r13 + 0x334], 2
je 0x14031eae0
mov eax, dword [0x14055e99c]
cmp eax, 0x53
mov eax, dword [0x14055e998]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14031eb14
mov rcx, qword [rbp + 0x170]
mov edx, r14d
call fcn.1403af3e0
mov r13, qword [rbp + 0x190]
jmp 0x14031eaee
movzx edx, byte [rbp + 0x17f]
movzx eax, dl
mov ecx, 1
test al, al
js 0x14031eb60
mov dword [rbp + 0x184], eax
jmp 0x14031ecf0
mov ecx, eax
not ecx
mov r8d, ecx
and r8d, 0xc0
mov r9d, eax
xor r9d, 0x3f
or r9d, r8d
not r9d
mov r10d, ecx
and r10d, 0xffffff3f
or r10d, r8d
or r10d, r9d
cmp r10d, 0xffffff7f
jne 0x14031ebc8
mov eax, edx
not al
xor dl, 0x3f
and al, 0xc0
or al, dl
not al
movzx edx, al
shl edx, 8
movzx eax, byte [rbp + 0x180]
mov ecx, eax
not ecx
and ecx, eax
or edx, eax
or edx, ecx
mov dword [rbp + 0x184], edx
mov ecx, 2
jmp 0x14031ecf0
mov edx, eax
xor edx, 0x1f
and edx, eax
cmp edx, 0xc0
jne 0x14031ec06
shl eax, 0x10
mov ecx, eax
not ecx
xor eax, 0x1f0000
and ecx, 0xffe0ffff
or ecx, eax
not ecx
movzx eax, word [rbp + 0x180]
or eax, ecx
mov dword [rbp + 0x184], eax
mov ecx, 3
jmp 0x14031ecf0
mov edx, dword [0x14055e99c]
cmp edx, 0x3b
jg 0x14031ec90
nop word cs:[rax + rax]
lea edx, [rdi + rdi]
add edx, 0x4800
mov r8d, edx
not r8d
test r8d, edx
jne 0x14031ec90
mov edx, eax
xor edx, 0xf0
and ecx, 0xffffff0f
or ecx, edx
not ecx
cmp ecx, 0xe0
jne 0x14031eca9
and eax, 0xf
shl eax, 0x18
movzx ecx, byte [rbp + 0x180]
or ecx, eax
movzx eax, word [rbp + 0x181]
shl eax, 8
mov edx, eax
not edx
or eax, ecx
not ecx
and ecx, edx
or ecx, eax
not ecx
or ecx, eax
mov dword [rbp + 0x184], ecx
mov ecx, 4
jmp 0x14031ecf0
mov edx, dword [0x14055e998]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
jne 0x14031ec90
jmp 0x14031ec20
and eax, 0xfffffff8
mov ecx, 5
cmp eax, 0xf0
jne 0x14031ecf0
mov eax, dword [0x14055e99c]
cmp eax, 0x33
lea eax, [rdi + rdi]
add eax, 0x4e00
not eax
mov edx, eax
and edx, 0xfffffffe
xor edx, eax
cmp edx, 1
jne 0x14031ecc1
mov eax, dword [rbp + 0x180]
jmp 0x14031eb53
add ecx, dword [rbp + 0x188]
movaps xmmword [rbp + 0x150], xmm6
mov qword [rbp + 0x160], 0
xor edx, edx
mov eax, ecx
jmp 0x14031ed24
lea rcx, [rbp + 0x20]
call fcn.140129120
mov edx, dword [rbp + 0x128]
inc edx
mov eax, r14d
mov qword [rbp + 0x188], rax
cmp edx, dword [rbp + 0x184]
jge 0x14031f320
mov dword [rbp + 0x128], edx
movsxd rcx, dword [0x14044aa34]
lea rax, [0x14044aa34]
add rcx, rax
mov qword [rbp + 0x168], rcx
mov ebx, dword [0x14044aa20]
xor esi, esi
mov rax, qword [rbp + 0x188]
mov r14d, eax
nop word [rax + rax]
mov rdx, qword [rbp + 0x190]
mov eax, dword [rdx + 0x334]
mov ecx, eax
not ecx
xor eax, 2
and ecx, 0xfffffffd
or ecx, eax
cmp ecx, 0xffffffff
je 0x14031eda0
mov eax, dword [0x14055e99c]
cmp eax, 0x14
jg 0x14031ee10
jmp 0x14031edb0
mov rax, qword [rdx + 0x338]
mov ecx, r14d
movzx eax, byte [rax + rcx]
jmp 0x14031edcf
lea eax, [rdi + rdi]
add eax, 0x25a0
mov ecx, eax
not ecx
test ecx, eax
jne 0x14031ee10
mov rcx, qword [rbp + 0x170]
mov edx, r14d
call fcn.1403af3e0
mov byte [rbp + rsi - 0x30], al
mov eax, dword [0x140539ee8]
mov ecx, dword [0x14055e99c]
cmp ecx, 0xf
mov ecx, dword [0x14055e998]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x14031ede2
mov ecx, dword [0x14055e99c]
cmp ecx, 0x21
jg 0x14031f020
jmp 0x14031ee20
mov eax, dword [0x14055e99c]
cmp eax, 0x63
jge 0x14031ee10
jmp 0x14031edb0
mov ecx, dword [0x14055e998]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x14031ee20
lea r13d, [rax + 1]
mov dword [0x140539ee8], r13d
mov ecx, dword [0x14055e99c]
cmp ecx, 0x1b
jge 0x14031ee20
mov cl, 1
test cl, cl
je 0x14031f020
mov ecx, eax
not ecx
xor eax, r13d
not r13d
and r13d, ecx
or r13d, eax
xor r15d, r15d
xor r13d, 0xffffffff
jne 0x14031efe0
test ebx, ebx
jle 0x14031efe0
xor eax, eax
xor ecx, ecx
nop word [rax + rax]
mov edx, dword [0x14055e998]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
je 0x14031eec9
mov edx, dword [0x14055e998]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
je 0x14031eeb3
mov edx, dword [0x14055e99c]
cmp edx, 0x54
jge 0x14031ee94
mov edx, dword [0x14055e998]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
jne 0x14031eea8
jmp 0x14031ee80
mov edx, dword [0x14055e99c]
cmp edx, 0x5d
jge 0x14031ee94
movsxd rdx, eax
add rdx, qword [rbp + 0x168]
mov r8d, dword [0x14055e998]
nop word cs:[rax + rax]
test r12b, r12b
jne 0x14031eef0
jmp 0x14031ef15
mov r8d, dword [0x14055e998]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
je 0x14031ef22
mov r8d, dword [0x14055e99c]
cmp r8d, 0x4d
jg 0x14031ef00
mov r8d, dword [0x14055e99c]
cmp r8d, 0x32
jg 0x14031ef00
mov edx, dword [rdx]
nop word cs:[rax + rax]
mov r8d, dword [0x14055e99c]
cmp r8d, 0x61
jle 0x14031ef93
lea r8d, [rdi + rdi]
add r8d, 0x700
mov r9d, r8d
not r9d
and r8d, r9d
lea r10d, [rdi + rdi]
add r10d, 0x701
and r9d, 0xfffffffe
xor r9d, r10d
or r9d, r8d
cmp r9d, 0xffffffff
jne 0x14031ef40
jmp 0x14031ef93
mov r8d, dword [0x14055e998]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
mov r8d, dword [0x14055e998]
lea r9d, [r8 - 1]
imul r9d, r8d
test r9b, 1
jne 0x14031ef80
mov r8d, edx
not r8d
mov r9d, r8d
and r9d, ecx
not ecx
and ecx, edx
or ecx, r9d
mov r15d, ecx
not r15d
xor ecx, edx
and r15d, r8d
or r15d, ecx
not r15d
or r15d, r9d
add eax, 4
mov ecx, r15d
cmp eax, ebx
jl 0x14031ee80
nop dword [rax]
mov eax, dword [0x14055e99c]
nop word cs:[rax + rax]
mov eax, dword [0x14055e998]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14031eff0
inc rsi
inc r14d
cmp rsi, 0x2c
jne 0x14031ed70
jmp 0x14031f030
mov ecx, dword [0x14055e99c]
cmp ecx, 0x27
jge 0x14031f020
jmp 0x14031ee20
mov rcx, qword [rbp + 0x190]
lea rdx, [rbp - 0x30]
mov r8d, 0x2c
call fcn.14031bb30
mov eax, dword [0x14044aa2c]
cmp r13d, 1
mov ecx, 0
sbb ecx, ecx
sub eax, r15d
mov edx, eax
xor edx, ecx
or eax, ecx
not eax
or eax, edx
not eax
add qword [0x14055d960], rax
lea rcx, [rbp + 0x20]
mov rdx, qword [rbp + 0x190]
call fcn.140127770
mov rax, qword [rbp + 0x188]
lea r14d, [rax + 0x2c]
nop dword [rax + rax]
mov eax, dword [0x14055e998]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14031f0ac
mov eax, dword [0x14055e99c]
cmp eax, 0x60
jle 0x14031f0c0
mov al, 1
test al, al
je 0x14031f090
jmp 0x14031f0a1
lea rcx, [rbp + 0x20]
lea rdx, [rbp - 0x30]
call fcn.1401f77f0
mov r13, qword [rbp + 0x190]
mov edx, dword [rbp - 8]
mov eax, edx
not eax
mov ecx, edx
xor ecx, 0xc0000000
and eax, 0x3fffffff
or eax, ecx
not eax
cmp eax, 0x80000000
je 0x14031f140
test eax, eax
je 0x14031f120
cmp eax, 0x40000000
jne 0x14031f293
and edx, 0x3fffffff
mov rcx, r13
lea r8, [rbp + 0x20]
lea r9, [rbp + 0x130]
call fcn.14031e0e0
jmp 0x14031f293
and edx, 0x3fffffff
mov rcx, r13
lea r8, [rbp + 0x20]
lea r9, [rbp + 0x130]
call fcn.14031d9a0
jmp 0x14031f293
and edx, 0x3fffffff
mov rcx, r13
lea r8, [rbp + 0x20]
lea r9, [rbp + 0x130]
call fcn.14031d9a0
mov dword [rbp + 0x178], 0
xor esi, esi
jmp 0x14031f180
inc rsi
inc r14d
cmp rsi, 4
je 0x14031f240
mov eax, dword [r13 + 0x334]
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xfffffffd
and eax, 2
or eax, edx
xor ecx, eax
test ecx, eax
je 0x14031f1e0
nop dword [rax + rax]
mov eax, dword [0x14055e99c]
cmp eax, 0x5b
jle 0x14031f1c0
mov eax, dword [0x14055e99c]
cmp eax, 0x28
jmp 0x14031f1a0
mov rcx, qword [rbp + 0x170]
mov edx, r14d
call fcn.1403af3e0
jmp 0x14031f1ee
mov rax, qword [r13 + 0x338]
mov ecx, r14d
movzx eax, byte [rax + rcx]
mov ecx, dword [0x14055e99c]
cmp ecx, 0x12
jg 0x14031f220
nop dword [rax]
mov byte [rbp + rsi + 0x178], al
mov ecx, dword [0x14055e998]
lea edx, [rcx + 1]
imul edx, ecx
test dl, 1
je 0x14031f170
nop dword [rax]
mov byte [rbp + rsi + 0x178], al
mov ecx, dword [0x14055e99c]
cmp ecx, 0xb
jge 0x14031f220
jmp 0x14031f200
mov rcx, r13
lea rdx, [rbp + 0x178]
mov r8d, 4
call fcn.14031bb30
mov edx, dword [rbp + 0x178]
mov eax, 0x3fffffff
and edx, eax
mov rcx, r13
lea r8, [rbp + 0x20]
lea r9, [rbp + 0x130]
call fcn.14031e0e0
mov rcx, qword [rbp + 0x188]
add ecx, 0xd8f0a6a8
mov eax, ecx
xor eax, 0x270f5988
and ecx, 0x270f5988
lea r14d, [rax + rcx*2]
mov rdx, qword [rbp + 0x158]
cmp rdx, qword [rbp + 0x160]
je 0x14031f2c0
lea rcx, [rbp + 0x150]
lea r8, [rbp + 0x20]
call fcn.14012afb0
add qword [rbp + 0x158], 0xf0
jmp 0x14031f2d0
lea rcx, [rbp + 0x150]
lea r8, [rbp + 0x20]
call fcn.14012ab60
lea rax, [0x14042a628]
mov qword [rbp + 0x20], rax
mov dword [rbp + 0xf8], 0
mov r15, qword [rbp + 0xf0]
test r15, r15
je 0x14031ed10
mov rcx, r15
mov edx, 0x7b54b96f
mov r8d, 0x56f67998
mov r9d, 0xa66f8afb
call fcn.14012b420
mov rcx, r15
call fcn.1400a7ea0
jmp 0x14031ed10
mov rdx, qword [r13 + 0x350]
cmp rdx, qword [r13 + 0x358]
je 0x14031f370
mov rax, qword [rbp + 0x160]
mov qword [rbp + 0x160], 0
movaps xmm0, xmmword [rbp + 0x150]
movaps xmmword [rbp + 0x150], xmm6
movups xmmword [rdx], xmm0
mov qword [rdx + 0x10], rax
add qword [r13 + 0x350], 0x18
jmp 0x14031f3a8
lea eax, [rdi + rdi]
add eax, 0x60
mov ecx, eax
not ecx
mov r8d, ecx
and r8d, eax
xor eax, 0xfffffffe
and eax, ecx
lea ecx, [rdi + rdi]
add ecx, 0x61
xor ecx, eax
or ecx, r8d
cmp ecx, 0xffffffff
jne 0x14031f370
mov rcx, qword [rbp + 0x120]
lea r8, [rbp + 0x150]
call fcn.1403239a0
mov r14, qword [rbp + 0x150]
test r14, r14
mov r13, qword [rbp + 0x190]
je 0x14031ea90
mov rsi, qword [rbp + 0x158]
cmp r14, rsi
je 0x14031f3ed
nop dword [rax + rax]
mov rax, qword [r14]
mov rax, qword [rax]
mov rcx, r14
xor edx, edx
call qword [case.0x140303ece.0]
add r14, 0xf0
cmp r14, rsi
jne 0x14031f3d0
mov rsi, qword [rbp + 0x150]
mov r14, qword [0x14055d960]
add r14, qword [rbp + 0x160]
sub r14, rsi
cmp r14, 0x1000
jb 0x14031f44a
mov eax, dword [0x14055e99c]
cmp eax, 0x36
mov rax, qword [rsi - 8]
add rsi, 0xfffffffffffffff8
sub rsi, rax
cmp rsi, 0x20
jae 0x14031f593
mov rcx, r14
xor rcx, 0x27
add r14d, r14d
and r14d, 0x4e
mov rdx, rcx
xor rdx, r14
and ecx, r14d
lea r14, [rdx + rcx*2]
mov rsi, rax
mov eax, dword [0x14055e998]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14031f480
nop dword [rax + rax]
mov rcx, rsi
mov rdx, r14
call fcn.1400a7e90
mov eax, dword [0x14055e998]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14031ea90
mov rcx, rsi
mov rdx, r14
call fcn.1400a7e90
jmp 0x14031f460
mov rax, qword [rbp + 0x148]
movzx r15d, word [rax + 0xa]
mov rax, qword [r13 + 0x370]
mov rcx, qword [r13 + 0x378]
cmp rax, rcx
je 0x14031f4f7
add rax, 0xa0
xorps xmm0, xmm0
nop word cs:[rax + rax]
movups xmmword [rax - 0x40], xmm0
movups xmmword [rax - 0x50], xmm0
movups xmmword [rax - 0x60], xmm0
movups xmmword [rax - 0x70], xmm0
movups xmmword [rax - 0x80], xmm0
movups xmmword [rax - 0x90], xmm0
movups xmmword [rax - 0xa0], xmm0
mov qword [rax - 0x30], 0
cmp rax, rcx
je 0x14031f4f7
add rax, 0xa0
jmp 0x14031f4c0
lea rax, [r13 + 0x370]
mov qword [rbp + 0x168], rax
movabs rax, 0xcccccccccccccccd
lea rcx, [fcn.14031e300]
add ecx, ecx
add ecx, 0x45c0
mov edx, ecx
not edx
xor r8d, r8d
nop word cs:[rax + rax]
mov r10, qword [r13 + 0x370]
mov r9, qword [r13 + 0x380]
mov qword [r13 + 0x378], r10
test edx, ecx
je 0x14031f570
nop dword [rax]
mov r9, qword [r13 + 0x370]
mov qword [r13 + 0x378], r9
test r8b, r8b
mov r9d, dword [0x14055e99c]
cmp r9d, 0x53
jge 0x14031f550
jmp 0x14031f530
sub r9, r10
sar r9, 5
imul r9, rax
cmp r9, r15
jae 0x14031f5c5
mov eax, dword [0x14055e998]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14031f5ae
jmp 0x14031f59d
call fcn.1403c4adc
call fcn.1403c4adc
mov eax, dword [0x14055e998]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14031f5b6
mov al, 1
test al, al
je 0x14031f5b0
jmp 0x14031f59d
mov rcx, qword [rbp + 0x168]
mov rdx, r15
call fcn.140323c50
lea rsi, [rbp + 0xa8]
nop dword [rax]
mov eax, dword [0x14055e99c]
cmp eax, 0x1f
jg 0x14031f5ec
mov eax, dword [0x14055e998]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14031f5f9
mov eax, dword [0x14055e99c]
cmp eax, 0x47
jge 0x14031f5d0
jmp 0x14031f5db
xor edi, edi
lea r12, [rbp - 0x30]
xorps xmm6, xmm6
lea r13, [rbp + 0x20]
jmp 0x14031f646
mov r8d, 0xa0
mov rcx, r14
mov rdx, r13
call fcn.14040cc90
mov rax, qword [rbp + 0x190]
add qword [rax + 0x378], 0xa0
mov rax, qword [rbp + 0x188]
add eax, 0x20
mov qword [rbp + 0x188], rax
inc edi
cmp edi, r15d
jae 0x14031f7e7
mov eax, dword [0x14055e99c]
cmp eax, 0x1c
jg 0x14031f680
nop word [rax + rax]
mov eax, dword [0x14055e998]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
je 0x14031f6a0
nop word cs:[rax + rax]
mov eax, dword [0x14055e998]
lea ecx, [rax - 1]
imul ecx, eax
test cl, 1
jne 0x14031f680
jmp 0x14031f660
xor ebx, ebx
mov rax, qword [rbp + 0x188]
mov r14d, eax
jmp 0x14031f6ce
mov rax, qword [r8 + 0x338]
mov ecx, r14d
movzx eax, byte [rax + rcx]
mov byte [rbp + rbx - 0x30], al
inc rbx
inc r14d
cmp rbx, 0x20
je 0x14031f710
mov r8, qword [rbp + 0x190]
mov eax, dword [r8 + 0x334]
mov ecx, eax
not ecx
mov edx, ecx
and edx, 2
and eax, 0xfffffffd
or eax, edx
and ecx, 0xfffffffd
or ecx, eax
cmp ecx, 0xffffffff
je 0x14031f6b0
mov rcx, qword [rbp + 0x170]
mov edx, r14d
call fcn.1403af3e0
jmp 0x14031f6be
mov rcx, qword [rbp + 0x190]
mov rdx, r12
mov r8d, 0x20
call fcn.14031bb30
mov rax, qword [rbp + 0x190]
mov qword [rbp + 0x98], rax
mov qword [rbp + 0xa0], rax
movups xmmword [rsi], xmm6
mov dword [rsi + 0x10], 0
movaps xmmword [rbp + 0x80], xmm6
movaps xmmword [rbp + 0x70], xmm6
movaps xmmword [rbp + 0x60], xmm6
movaps xmmword [rbp + 0x50], xmm6
movaps xmmword [rbp + 0x40], xmm6
movaps xmmword [rbp + 0x30], xmm6
movaps xmmword [rbp + 0x20], xmm6
mov qword [rbp + 0x90], 0
mov rcx, r13
mov rdx, r12
mov r8d, edi
call fcn.140327760
mov rax, qword [rbp + 0x190]
mov r14, qword [rax + 0x378]
cmp r14, qword [rax + 0x380]
je 0x14031f7d0
mov eax, dword [0x14055e99c]
cmp eax, 0x5d
jle 0x14031f610
mov r8d, 0xa0
mov rcx, r14
mov rdx, r13
call fcn.14040cc90
mov rax, qword [rbp + 0x190]
add qword [rax + 0x378], 0xa0
jmp 0x14031f610
mov rcx, qword [rbp + 0x168]
mov rdx, r14
mov r8, r13
call fcn.140323ec0
jmp 0x14031f633
mov rdi, qword [rbp + 0x190]
mov r12, qword [rbp + 0x188]
mov dword [rdi + 0x388], r12d
mov rcx, qword [rbp + 0x148]
mov eax, dword [rcx + 0xc]
mov dword [rdi + 0x38c], eax
add r12d, dword [rcx + 0xc]
lea r14, [rdi + 0x360]
mov rsi, qword [rdi + 0x360]
mov r8, qword [rsi + 8]
mov rcx, r14
mov rdx, r14
call fcn.140094990
mov qword [rsi + 8], rsi
mov qword [rsi], rsi
mov qword [rsi + 0x10], rsi
mov qword [rdi + 0x368], 0
lea rsi, [rbp - 0x20]
xor ebx, ebx
lea r15, [rbp + 0x30]
nop dword [rax]
mov rax, qword [rbp + 0x148]
movzx eax, word [rax + 0x10]
cmp ebx, eax
jae 0x14031f915
xor edi, edi
mov r13d, r12d
jmp 0x14031f88e
mov rax, qword [rax + 0x338]
mov ecx, r13d
movzx eax, byte [rax + rcx]
mov byte [rbp + rdi + 0x20], al
inc rdi
inc r13d
cmp rdi, 0x50
je 0x14031f8b0
mov rax, qword [rbp + 0x190]
test byte [rax + 0x334], 2
je 0x14031f870
mov rcx, qword [rbp + 0x170]
mov edx, r13d
call fcn.1403af3e0
jmp 0x14031f87e
mov rcx, qword [rbp + 0x190]
lea rdx, [rbp + 0x20]
mov r8d, 0x50
call fcn.14031bb30
movaps xmm0, xmmword [rbp + 0x20]
movaps xmmword [rbp - 0x30], xmm0
movaps xmm0, xmmword [r15]
movaps xmm1, xmmword [r15 + 0x10]
movaps xmm2, xmmword [r15 + 0x20]
movaps xmm3, xmmword [r15 + 0x30]
movaps xmmword [rsi + 0x30], xmm3
movaps xmmword [rsi + 0x20], xmm2
movaps xmmword [rsi + 0x10], xmm1
movaps xmmword [rsi], xmm0
mov rcx, r14
lea rdx, [rbp + 0x150]
lea r8, [rbp - 0x30]
call fcn.140324260
add r12d, 0x50
inc ebx
mov rdi, qword [rbp + 0x190]
jmp 0x14031f850
mov rax, qword [rdi]
mov rax, qword [rax + 0x10]
mov r10, qword [case.0x140303ece.0]
mov qword [rsp + 0x20], 0
lea rdx, [rbp + 0x20]
mov r8d, 1
mov rcx, rdi
xor r9d, r9d
call r10
xor eax, eax
test al, al
je 0x14031f963
nop word cs:[rax + rax]
mov ecx, dword [0x14055e998]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
test al, al
jne 0x14031f950
mov rcx, qword [rbp + 0x130]
test rcx, rcx
je 0x14031f9ca
mov rdx, qword [rbp + 0x140]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x14031f9c5
mov eax, dword [0x14055e998]
lea r8d, [rax - 1]
imul r8d, eax
test r8b, 1
nop word cs:[rax + rax]
mov rax, qword [rcx - 8]
mov r8d, dword [0x14055e99c]
cmp r8d, 0x58
jg 0x14031f9a0
sub rcx, rax
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jae 0x14031f9e7
add rdx, 0x27
mov rcx, rax
call fcn.1400a7e90
mov al, 1
movaps xmm6, xmmword [rbp + 0x1a0]
add rsp, 0x238
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.1403c4adc
int3