Function at 0x1402df060
Capabilities:
Encrypt data using speck

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x308
lea rbp, [rsp + 0x80]
movaps xmmword [rbp + 0x270], xmm6
mov qword [rbp + 0x268], 0xfffffffffffffffe
mov byte [rbp + 0x266], r8b
mov r12, rcx
mov dword [rbp + 0x1a4], edx
movsxd rdi, edx
mov rax, qword [rcx + 0x348]
lea rdx, [rdi + rdi*2]
mov rcx, qword [rax + rdx*8 + 8]
mov qword [rbp + 0x168], rdx
sub rcx, qword [rax + rdx*8]
sar rcx, 4
movabs rax, 0xeeeeeeeeeeeeeeef
and dword [r12 + 0x98], 0xfffffbff
imul rax, rcx
mov rcx, rax
shl rcx, 0x20
mov qword [rbp + 0x170], rax
movsxd r14, eax
xorps xmm0, xmm0
movaps xmmword [rbp + 0x180], xmm0
mov qword [rbp + 0x190], 0
mov qword [rbp + 0x120], rcx
test rcx, rcx
je 0x1402df1c4
js 0x1402e0df9
mov rcx, qword [rbp + 0x120]
mov rbx, rcx
shr rbx, 0x1e
movabs rax, 0x3ff00000001
cmp rcx, rax
jb 0x1402df176
mov eax, 0xffff6117
add eax, dword [0x1404fa0b4]
lea rcx, [rbx + 0x27]
cdqe
add rax, qword [0x1404fa108]
mov edx, 0xd51eb932
mov r8d, 0xaabb9ad5
call qword [case.0x1400f5c95.0]
lea rdx, [rax + 0x27]
mov ecx, edx
not ecx
xor rdx, 0xffffffffffffffe0
and ecx, 0x1f
or rcx, rdx
not rcx
mov qword [rcx - 8], rax
jmp 0x1402df1a1
mov eax, 0xffff6117
add eax, dword [0x1404fa0b4]
cdqe
add rax, qword [0x1404fa108]
mov rcx, rbx
mov edx, 0xd51eb932
mov r8d, 0xaabb9ad5
call qword [case.0x1400f5c95.0]
mov rcx, rax
mov qword [rbp + 0x180], rcx
lea rsi, [rcx + r14*4]
mov qword [rbp + 0x190], rsi
xor edx, edx
mov r8, rbx
call fcn.1403d1170
mov qword [rbp + 0x188], rsi
mov rax, qword [rbp + 0x180]
mov rcx, qword [rbp + 0x188]
sub rcx, rax
shr rcx, 2
test ecx, ecx
jle 0x1402df21a
mov ecx, 1
nop word cs:[rax + rax]
mov dword [rax + rcx*4 - 4], 0
mov rax, qword [rbp + 0x180]
mov rdx, qword [rbp + 0x188]
sub rdx, rax
shr rdx, 2
movsxd rdx, edx
cmp rcx, rdx
jge 0x1402df21a
inc rcx
jmp 0x1402df1f0
mov qword [rbp + 0xe8], rdi
mov ecx, 0x28
mov qword [rbp + 0x128], r14
mov rax, r14
mul rcx
mov rcx, 0xffffffffffffffff
cmovo rax, rcx
mov qword [rbp + 0xf0], rax
lea rax, [r12 + 0x3b8]
mov qword [rbp + 0x138], rax
lea rax, [r12 + 0x3bc]
mov qword [rbp + 0x140], rax
mov rdx, qword [rbp + 0x170]
mov rax, rdx
not rax
movabs rcx, 0xffffffff00000000
and rcx, rax
mov eax, 0xffffffff
xor rax, rdx
or rcx, rax
mov rax, 0xfffffffffffffffe
sub rax, rcx
mov qword [rbp + 0x130], rax
xorps xmm6, xmm6
xor eax, eax
mov qword [rbp + 0x178], rax
mov qword [rbp + 0x258], r12
mov rcx, r12
mov edx, dword [rbp + 0x1a4]
xor r8d, r8d
call fcn.1402cae30
xor ecx, ecx
mov rax, qword [rbp + 0x258]
jmp 0x1402df2eb
mov eax, 0xc8
mov dword [rdi + rbx + 0xd8], eax
mov dword [r15 + 0xc], 5
mov rax, qword [rbp + 0x258]
mov ecx, dword [rbp + 0x254]
inc ecx
cmp ecx, dword [rbp + 0x170]
jge 0x1402df460
mov rax, qword [rax + 0x348]
mov dword [rbp + 0x254], ecx
mov ecx, ecx
mov rdx, qword [rbp + 0x168]
mov rdi, qword [rax + rdx*8]
imul rbx, rcx, 0xf0
lea r15, [rdi + rbx]
mov eax, dword [rdi + rbx + 0xc]
and eax, 0x17
lea r13, [rdi + rbx]
add r13, 0xb0
cmp eax, 5
jne 0x1402df3b0
lea r14, [rdi + rbx]
add r14, 0xb8
mov r12b, 1
mov eax, 1
xor esi, esi
nop dword [rax]
mov dword [r15 + 0xc], eax
mov rcx, qword [r13]
mov r9d, dword [r15 + 0x1c]
mov eax, dword [r15 + 0x20]
mov dword [rsp + 0x20], eax
mov rdx, r15
mov r8, r13
call fcn.1402ca680
cmp dword [r14], 0
setne cl
cmp qword [r14], 0
setne dl
or dl, cl
test eax, eax
sete cl
or cl, dl
jne 0x1402df400
mov dword [r14 + 0x20], eax
not r12b
or r12b, cl
mov sil, 1
mov eax, 2
test r12b, 1
mov r12d, 0
je 0x1402df350
jmp 0x1402df2d4
mov rcx, qword [r13]
mov r9d, dword [r15 + 0x1c]
mov eax, dword [r15 + 0x20]
mov dword [rsp + 0x20], eax
mov rdx, r15
mov r8, r13
call fcn.1402ca680
test eax, eax
je 0x1402e0c9b
cmp dword [rdi + rbx + 0xb8], 0
jne 0x1402e0c9b
cmp qword [rdi + rbx + 0xb8], 0
jne 0x1402e0c9b
mov dword [rdi + rbx + 0xd8], eax
jmp 0x1402df2dc
and sil, cl
cmp sil, 1
jne 0x1402e0c93
xor ecx, ecx
call fcn.1402e2e50
cmp eax, 4
je 0x1402e0c93
mov eax, dword [r15 + 8]
mov ecx, 0xf00
and eax, ecx
cmp eax, 0x400
je 0x1402df2c8
cmp eax, 0x200
je 0x1402df2c8
cmp eax, 0x100
jne 0x1402df2d4
mov eax, 0x11
jmp 0x1402df2cd
lea rcx, [rbp - 0x10]
mov edx, 1
call fcn.1400b2930
lea rax, [0x14040ea68]
mov qword [rbp - 0x50], rax
lea rax, [rbp - 0x48]
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
mov byte [rbp - 0x30], 1
movups xmmword [rax + 0x28], xmm6
movups xmmword [rax + 0x1c], xmm6
cmp qword [rbp + 0x120], 0
je 0x1402df4c2
mov rcx, qword [rbp + 0xf0]
call fcn.1403a8a78
mov r11, qword [rbp + 0x128]
mov qword [rbp - 0x38], r11
mov qword [rbp - 0x40], r11
mov r12, qword [rbp + 0x258]
jmp 0x1402df4d2
xor eax, eax
mov r12, qword [rbp + 0x258]
mov r11, qword [rbp + 0x128]
mov rsi, qword [rbp + 0x130]
mov qword [rbp - 0x48], rax
cmp dword [rbp + 0x170], 0
jle 0x1402df550
mov eax, 8
xor ecx, ecx
nop dword [rax]
mov rdx, qword [r12 + 0x348]
mov r8, qword [rbp + 0x168]
mov rdx, qword [rdx + r8*8]
mov r8, qword [rbp - 0x48]
cmp qword [rbp - 0x40], rcx
mov r9d, 0
cmova r9, rcx
lea r9, [r9 + r9*4]
mov r10, qword [rdx + rax + 0x20]
mov qword [r8 + r9*8 + 0x20], r10
movups xmm0, xmmword [rdx + rax]
movups xmm1, xmmword [rdx + rax + 0x10]
movups xmmword [r8 + r9*8 + 0x10], xmm1
movups xmmword [r8 + r9*8], xmm0
cmp rsi, rcx
je 0x1402df550
add rax, 0xf0
inc rcx
jmp 0x1402df4f0
mov r9, qword [rbp - 0x40]
test r9, r9
je 0x1402df55d
mov r9, qword [rbp - 0x48]
mov rax, qword [r12]
mov rax, qword [rax + 0x10]
mov r10, qword [case.0x1400f5c95.0]
mov qword [rsp + 0x20], r11
mov r8d, 0x20
mov rcx, r12
lea rdx, [rbp + 0x1a8]
call r10
mov eax, dword [0x14051d328]
add eax, dword [rbp + 0x1a8]
cmp qword [rbp + 0x178], 0
setne bl
cmp eax, 4
je 0x1402e0c40
cmp eax, 8
jne 0x1402df5b4
mov r14d, 1
jmp 0x1402e0c4a
mov rax, qword [r12]
mov rax, qword [rax + 0x10]
mov r10, qword [case.0x1400f5c95.0]
mov qword [rsp + 0x20], 0
mov r8d, 9
mov rcx, r12
lea rdx, [rbp + 0x1a8]
xor r9d, r9d
call r10
cmp dword [rbp + 0x1a8], 4
jne 0x1402df62d
mov rax, qword [r12]
mov rax, qword [rax + 0x10]
mov r10, qword [case.0x1400f5c95.0]
mov qword [rsp + 0x20], 0
mov r8d, 8
mov rcx, r12
lea rdx, [rbp + 0x1a8]
xor r9d, r9d
call r10
cmp dword [rbp + 0x1a8], 4
sete al
mov dword [rbp + 0x1a0], eax
mov bl, 1
jmp 0x1402df637
mov dword [rbp + 0x1a0], 0
mov rax, qword [r12]
mov rax, qword [rax + 0x10]
mov r10, qword [case.0x1400f5c95.0]
mov qword [rsp + 0x20], 0
mov r8d, 6
mov rcx, r12
lea rdx, [rbp + 0x1a8]
mov r9, qword [rbp + 0x138]
call r10
mov rax, qword [r12]
mov rax, qword [rax + 0x10]
mov r10, qword [case.0x1400f5c95.0]
mov qword [rsp + 0x20], 0
mov r8d, 7
mov rcx, r12
lea rdx, [rbp + 0x1a8]
mov r9, qword [rbp + 0x140]
call r10
mov qword [rbp + 0x248], 0
mov eax, dword [0x1404fa090]
mov ecx, 0xffff6117
add eax, ecx
cdqe
add rax, qword [0x1404fa128]
mov ecx, 1
mov edx, 1
mov r8d, 0x6595910e
mov r9d, 0x402b6b85
call qword [case.0x1400f5c95.0]
lea rcx, [rbp]
mov rdx, rax
call fcn.1400b2b80
mov rcx, rax
call fcn.14024a930
mov al, 1
mov dword [rbp + 0x244], eax
xor edi, edi
xor eax, eax
mov byte [rbp + 0x267], bl
cmp eax, dword [rbp + 0x170]
jge 0x1402e023d
nop word [rax + rax]
mov dword [rbp + 0x254], eax
mov rax, qword [r12 + 0x348]
mov rcx, qword [rbp + 0x168]
mov rsi, qword [rax + rcx*8]
cmp dword [r12 + 0x3bc], 0x4e4
jne 0x1402df770
mov eax, dword [0x1404fa094]
mov ecx, 0xffff6117
add eax, ecx
cdqe
add rax, qword [0x1404fa118]
xor ecx, ecx
mov edx, 1
mov r8d, 0xbaa5ec91
call qword [case.0x1400f5c95.0]
lea rcx, [rbp]
mov rdx, rax
call fcn.1400b2b80
jmp 0x1402df7ab
mov eax, dword [0x1404fa088]
mov ecx, 0xffff6117
add eax, ecx
cdqe
add rax, qword [0x1404fa0e0]
mov ecx, 1
xor edx, edx
mov r8d, 0x64a9b180
mov r9d, 0xfe658c0d
call qword [case.0x1400f5c95.0]
lea rcx, [rbp]
mov rdx, rax
call fcn.1400b2b80
mov r14d, dword [rbp + 0x254]
imul r15, r14, 0xf0
lea r13, [rsi + r15]
or edi, dword [r13 + 8]
mov rcx, r13
lea rdx, [rbp + 0x1a8]
call fcn.1401bde90
cmp qword [rbp + 0x1c8], 0x10
lea rdx, [rbp + 0x1b0]
jb 0x1402df7e8
mov rdx, qword [rbp + 0x1b0]
mov r8, qword [rbp + 0x1c0]
lea rcx, [rbp]
call fcn.140234ae0
mov rax, qword [rbp + 0x1c8]
cmp rax, 0x10
jb 0x1402df864
mov rcx, qword [rbp + 0x1b0]
mov rdx, rax
xor rdx, 1
mov r8d, eax
and r8d, 1
lea rdx, [rdx + r8*2]
cmp rdx, 0x1000
jb 0x1402df846
mov r8, qword [rcx - 8]
sub rcx, r8
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jae 0x1402e0dea
add rax, 0x28
mov rdx, rax
mov rcx, r8
mov eax, dword [0x1404fa098]
mov r8d, 0xffff6117
add eax, r8d
cdqe
add rax, qword [0x1404fa0d8]
call qword [case.0x1400f5c95.0]
test bl, bl
je 0x1402e0220
mov dword [rbp + 0x19c], edi
nop word cs:[rax + rax]
mov eax, dword [0x14051faa4]
cmp eax, 0x4d
jg 0x1402df8a8
mov r12, qword [0x1404f9d48]
lea rax, [fcn.1402df060]
add eax, eax
add eax, 0x980
mov ecx, eax
not ecx
test ecx, eax
je 0x1402df8c0
mov rax, qword [0x1404f9d48]
mov eax, dword [0x14051faa4]
cmp eax, 0x4f
jge 0x1402df880
jmp 0x1402df88b
movsxd rbx, dword [r12]
mov edi, dword [0x14040e728]
mov r15d, dword [rsi + r15 + 0xd8]
mov rax, qword [rbp + 0x180]
mov dword [rax + r14*4], r15d
test r15d, r15d
js 0x1402dfd98
cmp byte [rbp + 0x1a0], 0
je 0x1402dfdca
mov qword [rbp + 0x1c0], 0
mov qword [rbp + 0x1c8], 0xf
mov byte [rbp + 0x1b0], 0
lea rax, [0x1403eb8c8]
mov qword [rbp + 0x1a8], rax
test r15d, r15d
js 0x1402df948
lea rax, [rbp + 0x248]
mov qword [rsp + 0x20], rax
mov rcx, qword [rbp + 0x258]
mov rdx, r13
mov r8d, r15d
lea r9, [rbp + 0x1a8]
call fcn.1402cb4d0
lea rcx, [rbp]
call fcn.14024a930
mov r13, rax
add rbx, r12
mov eax, dword [0x14051faa0]
mov eax, dword [0x1404f9d30]
mov ecx, dword [0x14051faa0]
lea edx, [rcx + 1]
jmp 0x1402df979
mov ecx, dword [0x14051faa0]
lea edx, [rcx - 1]
imul edx, ecx
test dl, 1
jne 0x1402df970
lea r12d, [rax + 1]
mov dword [0x1404f9d30], r12d
mov ecx, dword [0x14051faa4]
cmp ecx, 0x3c
jge 0x1402df970
mov ecx, eax
not ecx
nop dword [rax + rax]
mov edx, dword [0x14051faa4]
cmp edx, 0x16
jl 0x1402df9c0
nop dword [rax + rax]
mov edx, dword [0x14051faa4]
cmp edx, 0x15
jge 0x1402df9b0
jmp 0x1402df9a0
xor eax, r12d
xor r12d, ecx
and r12d, ecx
or r12d, eax
not r12d
mov esi, 0
mov r14d, 0
test r12d, r12d
jne 0x1402dfad0
mov esi, 0
mov r14d, 0
test edi, edi
jle 0x1402dfad0
xor eax, eax
xor esi, esi
xor r14d, r14d
nop dword [rax]
movsxd rcx, eax
nop word cs:[rax + rax]
mov edx, dword [0x14051faa0]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
jne 0x1402dfa38
mov edx, dword [0x14051faa0]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
je 0x1402dfa50
mov edx, dword [0x14051faa0]
lea r8d, [rdx - 1]
imul r8d, edx
test r8b, 1
jne 0x1402dfa10
jmp 0x1402dfa24
add rcx, rbx
nop word cs:[rax + rax]
mov edx, dword [0x14051faa4]
cmp edx, 0x51
jg 0x1402dfa87
mov r8, qword [rcx]
mov rdx, qword [rcx + 8]
mov r9d, dword [0x14051faa0]
lea r10d, [r9 - 1]
imul r10d, r9d
test r10b, 1
je 0x1402dfaa0
mov rdx, qword [rcx]
mov rdx, qword [rcx + 8]
mov edx, dword [0x14051faa4]
cmp edx, 0x14
jge 0x1402dfa60
jmp 0x1402dfa6b
xor rsi, r8
xor r14, rdx
mov ecx, dword [0x14051faa4]
nop dword [rax]
mov ecx, dword [0x14051faa4]
cmp ecx, 0x59
jg 0x1402dfab0
add eax, 0x10
cmp eax, edi
jl 0x1402dfa00
nop word cs:[rax + rax]
mov eax, dword [0x1404fa090]
mov ecx, 0xffff6117
add eax, ecx
cdqe
add rax, qword [0x1404fa128]
xor ecx, ecx
xor edx, edx
mov r8d, 0x6595910e
mov r9d, 0x402b6b85
call qword [case.0x1400f5c95.0]
mov rcx, r13
mov rdx, rax
call fcn.1400b2b80
mov qword [rbp + 0x118], 0
mov rax, qword [rbp + 0x258]
mov rax, qword [rax]
nop dword [rax]
mov ecx, dword [0x14051faa4]
cmp ecx, 0x4b
jg 0x1402dfb5b
xor ecx, ecx
test r12d, r12d
setne cl
mov r8, qword [0x14040e750]
mov r9, qword [0x14040e748]
add rcx, 0xffffffffffffffff
mov edx, 0
adc rdx, 0xffffffffffffffff
mov r10d, dword [0x14051faa4]
cmp r10d, 0x17
jle 0x1402dfb80
mov rcx, qword [0x14040e750]
mov rcx, qword [0x14040e748]
mov ecx, dword [0x14051faa0]
lea edx, [rcx + 1]
imul edx, ecx
test dl, 1
jne 0x1402dfb20
jmp 0x1402dfb2b
mov r10d, dword [0x14051faa0]
lea r11d, [r10 - 1]
imul r11d, r10d
test r11b, 1
movabs r11, 0x4256f686dcceb2d5
mov rdi, r9
add rdi, r11
mov rbx, r8
adc rbx, 0xffffffffffffffff
mov r10d, dword [0x14051faa4]
cmp r10d, 0x56
jg 0x1402dfb9d
sub rdi, rsi
sbb rbx, r14
mov r9, rdi
movabs r8, 0xbda9097923314d2b
add r9, r8
mov r10, rbx
adc r10, 0
movabs r11, 0x4256f686dcceb2d4
sub r11, rdi
mov rdi, 0xffffffffffffffff
sbb rdi, rbx
mov rbx, rcx
not rbx
mov r14, rdx
not r14
mov rsi, rdi
and rsi, rdx
mov r12, r11
and r12, rcx
mov r8, r10
and r8, r14
or r8, rsi
mov rsi, r9
and rsi, rbx
or rsi, r12
mov r12d, dword [0x14051faa4]
nop dword [rax]
mov r12d, dword [0x14051faa0]
lea r13d, [r12 - 1]
imul r13d, r12d
test r13b, 1
jne 0x1402dfc20
xor rdi, r14
xor r11, rbx
and r10, rdx
or r10, rdi
and r9, rcx
or r9, r11
not r10
or r8, r10
not r9
or rsi, r9
not rsi
not r8
or r8, rsi
mov rdx, r8
shr rdx, 0x20
mov ecx, r8d
xor ecx, edx
not ecx
and ecx, edx
nop dword [rax]
mov r9d, dword [0x14051faa4]
cmp r9d, 0x1b
jg 0x1402dfc70
mov r9d, edx
xor r9d, edx
not r9d
and r9d, r8d
xor r9d, edx
or ecx, r9d
mov edx, ecx
shr edx, 0x10
or edx, ecx
mov r9d, edx
shr r9d, 8
mov rcx, qword [rbp + 0x258]
nop word cs:[rax + rax]
mov r8d, dword [0x14051faa4]
cmp r8d, 0x26
jg 0x1402dfcb0
or r9b, dl
add byte [0x14051e460], r9b
mov rax, qword [rax + 0x10]
mov r10, qword [case.0x1400f5c95.0]
lea rdx, [rbp + 0x118]
mov qword [rsp + 0x20], rdx
mov r8d, 0xa
lea rdx, [rbp + 0x218]
lea r9, [rbp + 0x248]
call r10
cmp dword [rbp + 0x218], 4
jne 0x1402dfe75
test r15d, r15d
js 0x1402e0131
lea rcx, [rbp + 8]
lea rdx, [rbp + 0x148]
call fcn.1400dbbc0
lea rcx, [rbp + 8]
lea rdx, [rbp + 0xf8]
call fcn.1400dbbc0
mov rax, qword [rbp + 0x108]
mov qword [rbp + 0x228], 0
mov qword [rbp + 0x230], 0xf
mov byte [rbp + 0x218], 0
mov r15, qword [rbp + 0x158]
sub r15, rax
jb 0x1402e0def
cmp qword [rbp + 0x160], 0x10
lea r9, [rbp + 0x148]
jb 0x1402dfd77
mov r9, qword [rbp + 0x148]
add r9, rax
cmp r15, 0xf
jbe 0x1402dfea2
lea rcx, [rbp + 0x218]
mov rdx, r15
call fcn.14008aa10
jmp 0x1402dfec4
mov word [rbp + 0x24c], 0
mov byte [rbp + 0x24e], 0
mov eax, dword [rbp + 0x244]
and al, 1
mov byte [rbp + 0x24f], al
mov dword [rbp + 0x248], r15d
cmp byte [rbp + 0x1a0], 0
jne 0x1402df8f3
mov rcx, r13
call fcn.1401be450
mov r12, qword [rbp + 0x258]
mov edi, dword [rbp + 0x19c]
mov bl, byte [rbp + 0x267]
mov r13, rax
mov eax, dword [0x1404fa090]
mov ecx, 0xffff6117
add eax, ecx
cdqe
add rax, qword [0x1404fa128]
xor ecx, ecx
mov edx, 1
mov r8d, 0x6595910e
mov r9d, 0x402b6b85
call qword [case.0x1400f5c95.0]
lea rcx, [rbp]
mov rdx, rax
call fcn.1400b2b80
mov rcx, rax
mov rdx, r13
call fcn.1400b2b80
mov rcx, rax
mov edx, r15d
call fcn.14022d1a0
mov r15, rax
mov eax, dword [0x1404fa0ac]
mov ecx, 0xffff6117
add eax, ecx
cdqe
add rax, qword [0x1404fa110]
mov ecx, 1
xor edx, edx
mov r8d, 0x5c3648e9
call qword [case.0x1400f5c95.0]
mov rcx, r15
mov rdx, rax
call fcn.1400b2b80
jmp 0x1402e0220
cmp qword [rbp + 0x1c8], 0x10
lea rdx, [rbp + 0x1b0]
jb 0x1402dfe8d
mov rdx, qword [rbp + 0x1b0]
mov r8, qword [rbp + 0x1c0]
lea rcx, [rbp]
call fcn.140234ae0
jmp 0x1402e0141
mov qword [rbp + 0x228], r15
lea rcx, [rbp + 0x218]
mov rdx, r9
mov r8, r15
call fcn.1403d0ac0
mov byte [rbp + r15 + 0x218], 0
mov eax, dword [rbp + 0x78]
mov ecx, eax
xor ecx, 0xfffffffe
test ecx, eax
je 0x1402dff41
mov rax, qword [rbp + 0x48]
mov rax, qword [rax]
lea rcx, [rbp + 0x60]
test rax, rax
jne 0x1402dfeeb
mov rax, qword [rbp + 0x40]
mov rax, qword [rax]
lea rcx, [rbp + 0x58]
mov rcx, qword [rcx]
movsxd rdx, dword [rcx]
add rdx, rax
mov rax, qword [rbp + 0x20]
mov rcx, qword [rax]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x1402dff23
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rcx, 0x20
jae 0x1402e0e18
add rdx, 0x27
mov rcx, rax
mov eax, dword [0x1404fa098]
mov r8d, 0xffff6117
add eax, r8d
cdqe
add rax, qword [0x1404fa0d8]
call qword [case.0x1400f5c95.0]
mov rax, qword [rbp + 0x20]
mov qword [rax], 0
mov rax, qword [rbp + 0x40]
mov qword [rax], 0
mov rax, qword [rbp + 0x58]
mov dword [rax], 0
mov rax, qword [rbp + 0x28]
mov qword [rax], 0
mov rax, qword [rbp + 0x48]
mov qword [rax], 0
mov rax, qword [rbp + 0x60]
mov dword [rax], 0
mov qword [rbp + 0x70], 0
mov eax, dword [rbp + 0x78]
mov r9d, eax
not r9d
xor eax, 0xfffffffe
and r9d, 1
or r9d, eax
not r9d
mov dword [rbp + 0x78], r9d
mov r8, qword [rbp + 0x228]
cmp qword [rbp + 0x230], 0x10
lea rdx, [rbp + 0x218]
jb 0x1402dffc2
mov rdx, qword [rbp + 0x218]
lea rcx, [rbp + 8]
call fcn.1402e4820
mov rax, qword [rbp + 0x230]
cmp rax, 0x10
jb 0x1402e0040
mov rcx, qword [rbp + 0x218]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1402e0022
mov r8, qword [rcx - 8]
sub rcx, r8
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jae 0x1402e0e1d
neg rax
mov rcx, rax
xor rcx, 0xffffffffffffffd8
movabs rdx, 0x7fffffffffffffd8
and rax, rdx
lea rdx, [rcx + rax*2]
neg rdx
mov rcx, r8
mov eax, dword [0x1404fa098]
mov r8d, 0xffff6117
add eax, r8d
cdqe
add rax, qword [0x1404fa0d8]
call qword [case.0x1400f5c95.0]
mov qword [rbp + 0x228], 0
mov qword [rbp + 0x230], 0xf
mov byte [rbp + 0x218], 0
mov rax, qword [rbp + 0x110]
cmp rax, 0x10
jb 0x1402e00cc
mov rcx, qword [rbp + 0xf8]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1402e00ae
mov r8, qword [rcx - 8]
mov rdx, rcx
xor rdx, 0xfffffffffffffff8
mov r9, rcx
xor r9, 7
and r9, rcx
lea rcx, [rdx + r9*2]
sub rcx, r8
cmp rcx, 0x20
jae 0x1402e0e22
add rax, 0x28
mov rdx, rax
mov rcx, r8
mov eax, dword [0x1404fa098]
mov r8d, 0xffff6117
add eax, r8d
cdqe
add rax, qword [0x1404fa0d8]
call qword [case.0x1400f5c95.0]
mov rax, qword [rbp + 0x160]
cmp rax, 0x10
jb 0x1402e0131
mov rcx, qword [rbp + 0x148]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1402e0113
mov r8, qword [rcx - 8]
sub rcx, r8
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jae 0x1402e0e27
mov rcx, rax
xor rcx, 0x28
and eax, 0x28
lea rdx, [rcx + rax*2]
mov rcx, r8
mov eax, dword [0x1404fa098]
mov r8d, 0xffff6117
add eax, r8d
cdqe
add rax, qword [0x1404fa0d8]
call qword [case.0x1400f5c95.0]
mov rdx, qword [rbp + 0x118]
lea rcx, [rbp]
call fcn.1400b2b80
cmp byte [rbp + 0x24f], 0
mov ecx, dword [rbp + 0x244]
movzx ecx, cl
mov eax, 0
cmove ecx, eax
mov dword [rbp + 0x244], ecx
mov rax, qword [rbp + 0x1c8]
cmp rax, 0x10
mov r12, qword [rbp + 0x258]
mov edi, dword [rbp + 0x19c]
movzx ebx, byte [rbp + 0x267]
jb 0x1402e0220
mov rcx, qword [rbp + 0x1b0]
mov rdx, rax
xor rdx, 1
mov r8d, eax
and r8d, 1
lea rdx, [rdx + r8*2]
cmp rdx, 0x1000
jb 0x1402e01f3
mov r8, qword [rcx - 8]
mov rdx, rcx
xor rdx, 0xfffffffffffffff8
movabs r9, 0x7ffffffffffffff8
and rcx, r9
lea rcx, [rdx + rcx*2]
sub rcx, r8
cmp rcx, 0x20
jae 0x1402e0df4
mov rcx, rax
xor rcx, 0x28
not rax
movabs rdx, 0x7fffffffffffffd7
and rax, rdx
or rax, rcx
not rax
lea rdx, [rcx + rax*2]
mov rcx, r8
mov eax, dword [0x1404fa098]
mov r8d, 0xffff6117
add eax, r8d
cdqe
add rax, qword [0x1404fa0d8]
call qword [case.0x1400f5c95.0]
nop word cs:[rax + rax]
lea rcx, [rbp]
call fcn.14024a930
mov eax, dword [rbp + 0x254]
inc eax
cmp eax, dword [rbp + 0x170]
jl 0x1402df710
mov ecx, dword [rbp + 0x244]
mov eax, ecx
xor al, 0xfe
and al, cl
add al, byte [0x14051e460]
je 0x1402e05a9
mov qword [rbp + 0xf8], 0
mov rax, qword [r12]
mov rax, qword [rax + 0x10]
mov r10, qword [case.0x1400f5c95.0]
lea rcx, [rbp + 0xf8]
mov qword [rsp + 0x20], rcx
mov r8d, 0xb
mov rcx, r12
lea rdx, [rbp + 0x1a8]
lea r9, [rbp + 0x248]
call r10
cmp dword [rbp + 0x1a8], 4
jne 0x1402e05a9
lea rcx, [rbp + 8]
lea rdx, [rbp + 0x218]
call fcn.1400dbbc0
lea rcx, [rbp + 8]
lea rdx, [rbp + 0x148]
call fcn.1400dbbc0
mov rax, qword [rbp + 0x158]
mov qword [rbp + 0x1b8], 0
mov qword [rbp + 0x1c0], 0xf
mov byte [rbp + 0x1a8], 0
mov r15, qword [rbp + 0x228]
sub r15, rax
jb 0x1402e0e2c
cmp qword [rbp + 0x230], 0x10
lea r9, [rbp + 0x218]
jb 0x1402e030e
mov r9, qword [rbp + 0x218]
add r9, rax
cmp r15, 0xf
jbe 0x1402e0331
lea rcx, [rbp + 0x1a8]
mov rdx, r15
call fcn.14008aa10
test byte [rbp + 0x78], 1
jne 0x1402e0359
jmp 0x1402e03ca
mov qword [rbp + 0x1b8], r15
lea rcx, [rbp + 0x1a8]
mov rdx, r9
mov r8, r15
call fcn.1403d0ac0
mov byte [rbp + r15 + 0x1a8], 0
test byte [rbp + 0x78], 1
je 0x1402e03ca
mov rax, qword [rbp + 0x48]
mov rax, qword [rax]
lea rcx, [rbp + 0x60]
test rax, rax
jne 0x1402e0374
mov rax, qword [rbp + 0x40]
mov rax, qword [rax]
lea rcx, [rbp + 0x58]
mov rcx, qword [rcx]
movsxd rdx, dword [rcx]
add rdx, rax
mov rax, qword [rbp + 0x20]
mov rcx, qword [rax]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x1402e03ac
mov rax, qword [rcx - 8]
sub rcx, rax
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jae 0x1402e0e45
add rdx, 0x27
mov rcx, rax
mov eax, dword [0x1404fa098]
mov r8d, 0xffff6117
add eax, r8d
cdqe
add rax, qword [0x1404fa0d8]
call qword [case.0x1400f5c95.0]
mov rax, qword [rbp + 0x20]
mov qword [rax], 0
mov rax, qword [rbp + 0x40]
mov qword [rax], 0
mov rax, qword [rbp + 0x58]
mov dword [rax], 0
mov rax, qword [rbp + 0x28]
mov qword [rax], 0
mov rax, qword [rbp + 0x48]
mov qword [rax], 0
mov rax, qword [rbp + 0x60]
mov dword [rax], 0
mov qword [rbp + 0x70], 0
mov r9d, dword [rbp + 0x78]
and r9d, 0xfffffffe
mov dword [rbp + 0x78], r9d
mov r8, qword [rbp + 0x1b8]
cmp qword [rbp + 0x1c0], 0x10
lea rdx, [rbp + 0x1a8]
jb 0x1402e043d
mov rdx, qword [rbp + 0x1a8]
lea rcx, [rbp + 8]
call fcn.1402e4820
mov rax, qword [rbp + 0x1c0]
cmp rax, 0x10
jb 0x1402e04ac
mov rcx, qword [rbp + 0x1a8]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1402e048e
mov r8, qword [rcx - 8]
sub rcx, r8
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jae 0x1402e0e4a
mov rcx, qword [0x14051d3b8]
lea rdx, [rax + rcx]
add rdx, 0x28
mov rcx, r8
mov eax, dword [0x1404fa098]
mov r8d, 0xffff6117
add eax, r8d
cdqe
add rax, qword [0x1404fa0d8]
call qword [case.0x1400f5c95.0]
mov qword [rbp + 0x1b8], 0
mov qword [rbp + 0x1c0], 0xf
mov byte [rbp + 0x1a8], 0
mov rax, qword [rbp + 0x160]
cmp rax, 0x10
jb 0x1402e053b
mov rcx, qword [rbp + 0x148]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1402e051d
mov r8, qword [rcx - 8]
mov rdx, rcx
xor rdx, 0xfffffffffffffff8
movabs r9, 0x7ffffffffffffff8
and rcx, r9
lea rcx, [rdx + rcx*2]
sub rcx, r8
cmp rcx, 0x20
jae 0x1402e0e4f
add rax, 0x28
mov rdx, rax
mov rcx, r8
mov eax, dword [0x1404fa098]
mov r8d, 0xffff6117
add eax, r8d
cdqe
add rax, qword [0x1404fa0d8]
call qword [case.0x1400f5c95.0]
mov rax, qword [rbp + 0x230]
cmp rax, 0x10
jb 0x1402e0599
mov rcx, qword [rbp + 0x218]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1402e057b
mov r8, qword [rcx - 8]
sub rcx, r8
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jae 0x1402e0e54
add rax, 0x28
mov rdx, rax
mov rcx, r8
mov eax, dword [0x1404fa098]
mov r8d, 0xffff6117
add eax, r8d
cdqe
add rax, qword [0x1404fa0d8]
call qword [case.0x1400f5c95.0]
mov rdx, qword [rbp + 0xf8]
lea rcx, [rbp]
call fcn.1400b2b80
lea rcx, [rbp + 8]
lea rdx, [rbp + 0x1a8]
call fcn.1400dbbc0
mov r14d, edi
lea rbx, [rbp + 0x220]
movups xmmword [rbx + 0x10], xmm6
cmp qword [rbp + 0x1c0], 0x10
lea r15, [rbp + 0x1a8]
jb 0x1402e05df
mov r15, qword [rbp + 0x1a8]
mov rsi, qword [rbp + 0x1b8]
cmp rsi, 0xf
ja 0x1402e05fa
movups xmm0, xmmword [r15]
movups xmmword [rbx], xmm0
mov edi, 0xf
jmp 0x1402e065d
mov rdi, rsi
or rdi, 0xf
movabs rax, 0x7fffffffffffffff
cmp rdi, rax
cmovae rdi, rax
cmp rdi, 0xfff
jb 0x1402e063e
lea rcx, [rdi + 0x28]
call fcn.1403a8a84
mov rcx, rax
mov rdx, rax
add rdx, 0x27
mov rax, rdx
xor rax, 0x1f
and rax, rdx
mov qword [rax - 8], rcx
jmp 0x1402e0647
lea rcx, [rdi + 1]
call fcn.1403a8a84
mov qword [rbp + 0x220], rax
lea r8, [rsi + 1]
mov rcx, rax
mov rdx, r15
call fcn.1403d0ac0
mov qword [rbp + 0x230], rsi
mov qword [rbp + 0x238], rdi
lea rax, [0x1403eb8c8]
mov qword [rbp + 0x218], rax
mov rax, qword [rbp + 0x1c0]
cmp rax, 0x10
jb 0x1402e0713
mov rcx, qword [rbp + 0x1a8]
mov rdx, rax
xor rdx, 1
mov r8d, eax
and r8d, 1
lea rdx, [rdx + r8*2]
cmp rdx, 0x1000
jb 0x1402e06f5
mov r8, qword [rcx - 8]
mov rdx, rcx
movabs r9, 0x9de949cbef082fb1
xor rdx, r9
movabs r9, 0x1de949cbef082fb1
and rcx, r9
lea rcx, [rdx + rcx*2]
sub rcx, r8
movabs rdx, 0x6216b63410f7d047
add rcx, rdx
cmp rcx, 0x20
jae 0x1402e0e31
add rax, 0x28
mov rdx, rax
mov rcx, r8
mov eax, dword [0x1404fa098]
mov r8d, 0xffff6117
add eax, r8d
cdqe
add rax, qword [0x1404fa0d8]
call qword [case.0x1400f5c95.0]
cmp qword [rbp + 0x238], 0x10
mov r15, rbx
jb 0x1402e0727
mov r15, qword [rbp + 0x220]
mov rax, qword [r12]
mov rax, qword [rax + 0x10]
mov r10, qword [case.0x1400f5c95.0]
mov qword [rsp + 0x20], 0
mov r8d, 0x21
mov rcx, r12
lea rdx, [rbp + 0x1a8]
mov r9, r15
call r10
mov eax, dword [rbp + 0x1a8]
cmp eax, 8
je 0x1402e0770
cmp eax, 4
jne 0x1402e077b
mov r14d, 0x11
jmp 0x1402e0bad
mov r14d, 0x12
jmp 0x1402e0bad
mov edi, r14d
mov eax, dword [0x1404fa088]
mov ecx, 0xffff6117
add eax, ecx
cdqe
add rax, qword [0x1404fa0e0]
xor ecx, ecx
mov edx, 1
mov r8d, 0x64a9b180
mov r9d, 0xfe658c0d
call qword [case.0x1400f5c95.0]
mov qword [rbp + 0x148], rax
mov rax, qword [r12]
mov rax, qword [rax + 0x10]
mov r10, qword [case.0x1400f5c95.0]
mov qword [rsp + 0x20], 0
mov r8d, 4
mov rcx, r12
lea rdx, [rbp + 0x1a8]
lea r9, [rbp + 0x148]
call r10
mov rax, qword [r12]
mov rax, qword [rax + 0x10]
mov r10, qword [case.0x1400f5c95.0]
mov rcx, qword [rbp + 0x178]
mov qword [rsp + 0x20], rcx
mov r8d, 2
mov rcx, r12
lea rdx, [rbp + 0x1a8]
lea r9, [rbp + 0x248]
call r10
mov eax, dword [rbp + 0x1a8]
mov rcx, qword [rbp + 0x178]
cmp rcx, qword [r12 + 0x3c0]
setb sil
cmp eax, 4
je 0x1402e0844
cmp eax, 8
jne 0x1402e0847
xor esi, esi
xor eax, eax
jmp 0x1402e088f
mov sil, 1
xor eax, eax
cmp byte [rbp + 0x266], 0
je 0x1402e088f
test sil, sil
je 0x1402e088f
mov rax, qword [r12]
mov rax, qword [rax + 0x10]
mov r10, qword [case.0x1400f5c95.0]
mov qword [rsp + 0x20], 0
mov r8d, 3
mov rcx, r12
lea rdx, [rbp + 0x1a8]
xor r9d, r9d
call r10
cmp dword [rbp + 0x1a8], 4
sete al
mov qword [rbp + 0x1d8], 0
mov qword [rbp + 0x1e0], 0xf
mov byte [rbp + 0x1c8], 0
lea rcx, [0x1403eb8c8]
mov qword [rbp + 0x1c0], rcx
mov qword [rbp + 0x200], 0
mov qword [rbp + 0x208], 0xf
mov byte [rbp + 0x1f0], 0
mov qword [rbp + 0x1e8], rcx
mov ecx, dword [rbp + 0x1a4]
mov dword [rbp + 0x1a8], ecx
movabs rcx, 0x400000001
mov qword [rbp + 0x1ac], rcx
test sil, sil
je 0x1402e0915
test al, al
mov eax, 0x22
mov ecx, 0xb0
cmovne eax, ecx
mov dword [rbp + 0x1ac], eax
mov rax, qword [rbp + 0x180]
mov r8, qword [rbp + 0x188]
sub r8, rax
shr r8, 2
test r8d, r8d
jle 0x1402e0a0b
mov rcx, qword [r12 + 0x348]
mov rdx, qword [rbp + 0x168]
mov rcx, qword [rcx + rdx*8]
mov rdx, r8
movabs r9, 0x3fffffff00000000
xor rdx, r9
and rdx, r8
dec rdx
add rcx, 8
xor r10d, r10d
xor r9d, r9d
xor r8d, r8d
nop dword [rax]
mov r11d, dword [rcx]
cmp r11d, 0x100
je 0x1402e09c0
cmp r11d, 0x200
je 0x1402e098e
cmp r11d, 0x400
jne 0x1402e09f0
mov r11d, dword [rax + r10*4]
test r9d, r9d
je 0x1402e09b0
cmp r11d, 0x65
je 0x1402e09f0
cmp r9d, 0x65
je 0x1402e09b0
cmp r9d, 0xc8
jne 0x1402e09cb
nop dword [rax]
mov r9d, r11d
jmp 0x1402e09f0
test r8d, r8d
jne 0x1402e09f0
mov r8d, dword [rax + r10*4]
jmp 0x1402e09f0
cmp r11d, 0xc8
je 0x1402e09f0
cmp r11d, r9d
mov r11d, 0xe6
cmovne r9d, r11d
nop word cs:[rax + rax]
cmp rdx, r10
je 0x1402e0a04
add rcx, 0xf0
inc r10
jmp 0x1402e0970
test r9d, r9d
jne 0x1402e0a11
jmp 0x1402e0a0e
xor r8d, r8d
mov r9d, r8d
mov dword [rbp + 0x1b4], r9d
mov dword [rbp + 0x1b8], edi
mov rdx, qword [rbp + 0x148]
lea rcx, [rbp + 0x1c0]
call fcn.140227aa0
lea rcx, [rbp + 0x1e8]
mov rdx, r15
call fcn.140227aa0
mov byte [rbp + 0x210], 1
mov rax, qword [r12]
mov rax, qword [rax + 8]
mov r10, qword [case.0x1400f5c95.0]
mov qword [rsp + 0x20], 0
mov rcx, r12
lea rdx, [rbp + 0xf8]
xor r8d, r8d
lea r9, [rbp + 0x1a8]
call r10
mov eax, dword [rbp + 0xf8]
cmp eax, 0x80
je 0x1402e0a90
cmp eax, 0x20
jne 0x1402e0a9c
mov r14d, 0x11
jmp 0x1402e0a9f
or dword [r12 + 0x98], 0x200
xor r14d, r14d
mov rax, qword [rbp + 0x208]
cmp rax, 0x10
jb 0x1402e0b2b
mov rcx, qword [rbp + 0x1f0]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1402e0b0d
mov r8, qword [rcx - 8]
movabs rdx, 0xe92d42ed9dc4b4d0
add rcx, rdx
mov rdx, rcx
xor rdx, 0xfffffffffffffff8
movabs r9, 0x7ffffffffffffff8
and rcx, r9
lea rcx, [rdx + rcx*2]
sub rcx, r8
movabs rdx, 0x16d2bd12623b4b30
add rcx, rdx
cmp rcx, 0x20
jae 0x1402e0e3b
add rax, 0x28
mov rdx, rax
mov rcx, r8
mov eax, dword [0x1404fa098]
mov r8d, 0xffff6117
add eax, r8d
cdqe
add rax, qword [0x1404fa0d8]
call qword [case.0x1400f5c95.0]
mov qword [rbp + 0x200], 0
mov qword [rbp + 0x208], 0xf
mov byte [rbp + 0x1f0], 0
mov rax, qword [rbp + 0x1e0]
cmp rax, 0x10
jb 0x1402e0bad
mov rcx, qword [rbp + 0x1c8]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1402e0b8f
mov r8, qword [rcx - 8]
sub rcx, r8
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jae 0x1402e0e40
mov rcx, rax
xor rcx, 0x28
and eax, 0x28
lea rdx, [rcx + rax*2]
mov rcx, r8
mov eax, dword [0x1404fa098]
mov r8d, 0xffff6117
add eax, r8d
cdqe
add rax, qword [0x1404fa0d8]
call qword [case.0x1400f5c95.0]
mov rax, qword [rbp + 0x238]
cmp rax, 0x10
jb 0x1402e0c1f
mov rcx, qword [rbp + 0x220]
lea rdx, [rax + 1]
cmp rdx, 0x1000
jb 0x1402e0c01
mov r8, qword [rcx - 8]
mov rdx, rcx
xor rdx, 0xfffffffffffffff8
movabs r9, 0x7ffffffffffffff8
and rcx, r9
lea rcx, [rdx + rcx*2]
sub rcx, r8
cmp rcx, 0x20
jae 0x1402e0e36
add rax, 0x28
mov rdx, rax
mov rcx, r8
mov eax, dword [0x1404fa098]
mov r8d, 0xffff6117
add eax, r8d
cdqe
add rax, qword [0x1404fa0d8]
call qword [case.0x1400f5c95.0]
test r14d, r14d
je 0x1402df5a9
cmp r14d, 0x11
je 0x1402e0c40
cmp r14d, 0x12
je 0x1402df5a9
jmp 0x1402e0c4a
inc qword [rbp + 0x178]
xor r14d, r14d
mov eax, dword [0x1404fa084]
mov esi, 0xffff6117
add eax, esi
cdqe
add rax, qword [0x1404fa0f8]
lea rcx, [rbp - 0x50]
call qword [case.0x1400f5c95.0]
mov eax, dword [0x1404fa080]
add eax, esi
cdqe
add rax, qword [0x1404fa0e8]
lea rcx, [rbp - 0x10]
call qword [case.0x1400f5c95.0]
test r14d, r14d
je 0x1402df2ac
jmp 0x1402e0d7e
mov dword [r15 + 0xc], 5
mov rcx, qword [rbp + 0x258]
mov rax, qword [rcx + 0x390]
mov rdx, qword [rbp + 0xe8]
mov r8d, dword [rbp + 0x254]
mov dword [rax + rdx*4], r8d
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
mov r10, qword [case.0x1400f5c95.0]
mov qword [rsp + 0x20], 0
lea rdx, [rbp - 0x10]
mov r8d, 0x24
mov r9, r15
call r10
cmp dword [rbp - 0x10], 0
mov rcx, qword [rbp + 0x258]
jne 0x1402e0d7e
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
mov r10, qword [case.0x1400f5c95.0]
mov qword [rsp + 0x20], 0
lea rdx, [rbp - 0x10]
mov r8d, 6
mov r9, qword [rbp + 0x138]
call r10
mov rcx, qword [rbp + 0x258]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
mov r10, qword [case.0x1400f5c95.0]
mov qword [rsp + 0x20], 0
lea rdx, [rbp - 0x10]
mov r8d, 7
mov r9, qword [rbp + 0x140]
call r10
mov rcx, qword [rbp + 0x258]
mov rax, qword [rcx]
mov rax, qword [rax + 0x10]
mov r10, qword [case.0x1400f5c95.0]
mov qword [rsp + 0x20], 0
lea rdx, [rbp - 0x10]
mov r8d, 0x25
mov r9, r15
call r10
mov rcx, qword [rbp + 0x180]
test rcx, rcx
je 0x1402e0dcf
mov rdx, qword [rbp + 0x190]
sub rdx, rcx
cmp rdx, 0x1000
jb 0x1402e0db5
mov rax, qword [rcx - 8]
sub rcx, rax
add rcx, 0xfffffffffffffff8
cmp rcx, 0x20
jae 0x1402e0e13
add rdx, 0x27
mov rcx, rax
mov eax, 0xffff6117
add eax, dword [0x1404fa098]
cdqe
add rax, qword [0x1404fa0d8]
call qword [case.0x1400f5c95.0]
movaps xmm6, xmmword [rbp + 0x270]
add rsp, 0x308
pop rbx
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
call fcn.140388c3c
call fcn.1400d6dc0
call fcn.140388c3c
mov eax, 0xffff6117
add eax, dword [0x1404fa0a0]
cdqe
add rax, qword [0x1404fa120]
call qword [case.0x1400f5c95.0]
call fcn.140388c3c
call fcn.140388c3c
call fcn.140388c3c
call fcn.140388c3c
call fcn.140388c3c
call fcn.1400d6dc0
call fcn.140388c3c
call fcn.140388c3c
call fcn.140388c3c
call fcn.140388c3c
call fcn.140388c3c
call fcn.140388c3c
call fcn.140388c3c
call fcn.140388c3c
int3