Function at 0x1400108c0
Capabilities:
Write file on windows

Disassembly:
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
push rbp
sub rsp, 0x1c8
mov rbp, rcx
mov r15, rdx
lea rcx, [rsp + 0x188]
mov rax, qword [rbp + 0x4f8]
mov r8d, dword [rbp + 0x4e0]
mov r14d, dword [rbp + 0xc8]
mov qword [rcx], rax
mov qword [rcx - 0x68], r8
call fcn.140013670
nop
lea rbx, [rbp + 0x4e4]
movzx r10d, byte [rbx]
mov r11d, 0xf
cmp r10d, 0xf
mov r8, qword [rbp + 0x60]
cmovl r11d, r10d
mov dword [rsp + 0x11c], eax
pxor xmm1, xmm1
mov eax, dword [rbp + 0xc0]
pcmpeqd xmm0, xmm0
lea rcx, [r8 + 0x27a358]
mov edx, dword [rcx]
neg rax
mov r9d, dword [rcx - 4]
mov byte [rbx], r11b
mov dword [rsp + 0x10c], edx
lea rdx, [0x140003d80]
shl r11, 4
mov dword [rsp + 0x118], r9d
movups xmmword [rsp + 0x70], xmm6
movdqa xmm6, xmm0
movups xmmword [rsp + 0x60], xmm7
movdqa xmm7, xmm1
movups xmmword [rsp + 0x50], xmm8
add rdx, r11
mov qword [rbx + 4], rdx
mov edx, 0x1000000
mov qword [rsp + 0x90], r14
mov r14, r15
mov qword [rsp + 0x1c0], rax
mov r15, rdx
mov eax, dword [rbp + 0xc0]
mov r12d, eax
and r12, 0xffffff
shr eax, 0x18
mov rdx, r12
lea rcx, [rbp + rax*8 + 0xd0]
mov rdi, qword [rcx]
add rdi, 0x1000000
mov rbx, qword [rcx + 8]
lea rsi, [r14 + r12]
cmp rsi, 0x1000000
cmovae rsi, r15
test r12, r12
je 0x140012373
movzx r11d, byte [rbx + r12 - 1]
cmp r12, rsi
jae 0x140011800
mov qword [rsp + 0x1b8], rsi
mov qword [rsp + 0x190], rbx
mov qword [rsp + 0x88], rdx
mov qword [rsp + 0x110], rdi
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x80], r14
mov rsi, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x1c0]
lea rdx, [0x140000000]
movzx ebx, byte [rbp + 0x80]
movzx eax, byte [rbp + 0x4e4]
shl rax, 4
add rdi, r12
and rbx, rdi
add rbx, rax
mov r10d, dword [rsp + 0x11c]
movzx r13d, byte [rdx + rbx + 0x3e80]
movzx eax, byte [rdx + rbx + 0x3d80]
cmp r13d, 9
jge 0x140010b25
mov rdx, rsi
mov ebx, r10d
shl rdx, 4
and ebx, 0x7fff
add rdx, qword [rbp + 0x60]
shl rax, 8
add rdx, rax
movd xmm2, ebx
pshuflw xmm3, xmm2, 0
shr r10d, 0xf
movdqu xmm8, xmmword [rdx + 0x820]
movdqa xmm4, xmm8
pcmpgtw xmm4, xmm3
packsswb xmm4, xmm4
pmovmskb eax, xmm4
add eax, 0x10
bsf r14d, eax
lea eax, [r14 - 1]
movzx r15d, word [rdx + rax*2 + 0x820]
sub ebx, r15d
movzx r14d, word [rdx + r14*2 + 0x820]
sub r14d, r15d
imul r14d, r10d
lea r10, [0x140000000]
add ebx, r14d
movsxd r14, eax
shl r14, 4
movdqu xmm5, xmmword [r10 + r14 + 0x10a0]
psubw xmm5, xmm8
psraw xmm5, 6
paddw xmm8, xmm5
movdqu xmmword [rdx + 0x820], xmm8
cmp ebx, 0x800000
jb 0x1400118dd
mov dword [rsp + 0x11c], ebx
jmp 0x140010b7f
mov rdx, qword [rbp + 0x60]
mov ebx, r10d
shl rax, 5
and ebx, 0x1fff
lea r15, [rdx + rsi*2]
mov edx, r10d
shr edx, 0xd
movzx r14d, word [rax + r15]
imul edx, r14d
cmp ebx, r14d
jae 0x140012309
add ebx, edx
mov edx, r14d
neg edx
add edx, 0x2000
shr edx, 5
add r14d, edx
mov word [rax + r15], r14w
cmp ebx, 0x800000
jb 0x1400122cc
mov dword [rsp + 0x11c], ebx
xor eax, eax
test eax, eax
jne 0x1400110dc
mov r13d, dword [rbp]
not r13
add r13, r12
js 0x14001194e
mov rax, qword [rsp + 0x190]
movzx r10d, byte [r13 + rax]
movzx eax, byte [rbp + 0x83]
and rdi, rax
mov rdx, qword [rbp + 0x4e8]
movdqa xmm4, xmm7
movzx r15d, r11b
movzx ecx, byte [rbp + 0x85]
mov r13, r15
movzx r11d, byte [rdi + rdx]
mov rdx, r10
shr rdx, cl
mov r14, r11
mov rax, rdx
shl rax, 5
movzx ecx, byte [rbp + 0x84]
shr r13, cl
shl r14, 4
add r14, r11
lea rax, [rax + rdx*2]
mov rdx, r13
shl rdx, 5
movzx ecx, byte [rbp + 0x87]
mov qword [rsp + 0x1a8], r15
shl r14, 9
shr r15, cl
lea rdx, [rdx + r13*2]
mov qword [rsp + 0x1a0], r14
add rax, r14
add rdx, r14
mov r14, r15
shl r14, 5
mov r13d, ebx
shl r15, 0xb
and r13d, 0x7fff
add r15, r14
mov qword [rsp + 0x1b0], r11
shl r11, 5
mov rdi, qword [rbp + 0x60]
add rax, rdi
lea r14, [r15 + rsi*2]
add r14, r11
add rdx, rdi
mov qword [rsp + 0x198], r11
mov r11d, 0x8000
mov word [rsp + 0x160], r11w
movdqu xmm1, xmmword [rax + 0x4930]
movdqu xmm0, xmmword [rdx + 0x8eb20]
movzx ecx, word [rdi + r14 + 0x5d7a9c]
shr ebx, 0xf
movd xmm2, ecx
pshuflw xmm3, xmm2, 0
pshufd xmm8, xmm3, 0
movdqu xmm3, xmmword [rax + 0x4920]
psubw xmm4, xmm8
movdqa xmm5, xmm8
movdqa xmm2, xmm4
pmulhuw xmm5, xmm3
pmulhuw xmm2, xmm0
pmulhuw xmm8, xmm1
paddw xmm5, xmm2
movdqu xmm2, xmmword [rdx + 0x8eb30]
movdqu xmmword [rsp + 0x140], xmm5
pmulhuw xmm4, xmm2
paddw xmm8, xmm4
movd xmm4, r13d
punpcklwd xmm4, xmm4
pshufd xmm4, xmm4, 0
movdqu xmmword [rsp + 0x150], xmm8
pcmpgtw xmm5, xmm4
pcmpgtw xmm8, xmm4
packsswb xmm5, xmm8
pmovmskb r11d, xmm5
add r11d, 0x10000
bsf r8d, r11d
lea r11d, [r8 - 1]
movzx r9d, word [rsp + r8*2 + 0x140]
movzx r15d, word [rsp + r11*2 + 0x140]
sub r9d, r15d
imul ebx, r9d
sub ebx, r15d
movzx r15d, word [rax + r8*2 + 0x4920]
add ebx, r13d
movzx r13d, word [rax + r11*2 + 0x4920]
sub r15d, r13d
movzx r13d, word [rdx + r8*2 + 0x8eb20]
mov r8d, ecx
shr r8d, 4
sub ecx, r8d
movzx r9d, word [rdx + r11*2 + 0x8eb20]
sub r13d, r9d
cmp r15w, r13w
mov r13, qword [rsp + 0x1b0]
lea r9d, [rcx + 0xfff]
cmovae ecx, r9d
mov word [rdi + r14 + 0x5d7a9c], cx
lea rdi, [0x140000000]
movsxd rcx, r11d
shl rcx, 5
movdqu xmm5, xmmword [rdi + rcx + 0x10e0]
movdqu xmm4, xmmword [rdi + rcx + 0x10f0]
movdqa xmm8, xmm5
psubw xmm5, xmm0
psubw xmm8, xmm3
psraw xmm5, 6
psraw xmm8, 6
paddw xmm0, xmm5
paddw xmm3, xmm8
movdqu xmmword [rax + 0x4920], xmm3
movdqa xmm3, xmm4
psubw xmm4, xmm2
psubw xmm3, xmm1
psraw xmm4, 6
psraw xmm3, 6
paddw xmm2, xmm4
paddw xmm1, xmm3
movdqu xmmword [rax + 0x4930], xmm1
movdqu xmmword [rdx + 0x8eb20], xmm0
movdqu xmmword [rdx + 0x8eb30], xmm2
mov rdi, qword [rsp + 0x1a8]
cmp ebx, 0x800000
jae 0x140010e3d
mov rax, qword [rsp + 0x188]
shl ebx, 8
movzx edx, byte [rax]
or ebx, edx
inc rax
cmp ebx, 0x800000
jb 0x140011936
mov qword [rsp + 0x188], rax
mov r15, r10
mov rdx, r13
shr r10, 4
and r15, 0xf
add r15, 0x10
cmp r11, r10
mov r14, rdi
movdqa xmm4, xmm7
cmovne r15, r11
shl rdx, 4
add rdx, r13
mov r13, r15
shl r13, 5
movzx ecx, byte [rbp + 0x86]
shl rdx, 6
shr r14, cl
movzx ecx, byte [rbp + 0x87]
lea r10, [r13 + r15*2]
add rdx, r10
mov r10, r14
shl r10, 5
shr rdi, cl
mov rax, qword [rbp + 0x60]
add rdx, rax
mov dword [rsp + 0x11c], ebx
lea r9, [r10 + r14*2]
mov r10, rdi
shl r10, 5
shl rdi, 0xb
add rdi, r10
mov r10d, 0x8000
add r9, qword [rsp + 0x1a0]
add r9, rax
movdqu xmm1, xmmword [rdx + 0x118d30]
movdqu xmm0, xmmword [r9 + 0x12a160]
mov word [rsp + 0x182], r10w
lea rdi, [rdi + rsi*2]
add rdi, qword [rsp + 0x198]
mov r10d, ebx
and r10d, 0x7fff
shr ebx, 0xf
movzx r8d, word [rax + rdi + 0x659a9c]
movd xmm2, r8d
pshuflw xmm3, xmm2, 0
pshufd xmm8, xmm3, 0
movdqu xmm3, xmmword [rdx + 0x118d20]
psubw xmm4, xmm8
movdqa xmm5, xmm8
movdqa xmm2, xmm4
pmulhuw xmm5, xmm3
pmulhuw xmm2, xmm0
pmulhuw xmm8, xmm1
paddw xmm5, xmm2
movdqu xmm2, xmmword [r9 + 0x12a170]
movdqu xmmword [rsp + 0x162], xmm5
pmulhuw xmm4, xmm2
paddw xmm8, xmm4
movd xmm4, r10d
punpcklwd xmm4, xmm4
pshufd xmm4, xmm4, 0
movdqu xmmword [rsp + 0x172], xmm8
pcmpgtw xmm5, xmm4
pcmpgtw xmm8, xmm4
packsswb xmm5, xmm8
pmovmskb r13d, xmm5
add r13d, 0x10000
bsf r14d, r13d
lea ecx, [r14 - 1]
movzx r15d, word [rsp + r14*2 + 0x162]
movzx r13d, word [rsp + rcx*2 + 0x162]
sub r15d, r13d
imul ebx, r15d
sub ebx, r13d
movzx r15d, word [rdx + rcx*2 + 0x118d20]
add ebx, r10d
movzx r10d, word [rdx + r14*2 + 0x118d20]
sub r10d, r15d
mov r15d, r8d
shr r15d, 4
sub r8d, r15d
movzx r14d, word [r9 + r14*2 + 0x12a160]
movzx r13d, word [r9 + rcx*2 + 0x12a160]
sub r14d, r13d
cmp r10w, r14w
lea r13d, [r8 + 0xfff]
cmovae r8d, r13d
mov word [rax + rdi + 0x659a9c], r8w
lea rax, [0x140000000]
movsxd rdi, ecx
shl rdi, 5
movdqu xmm5, xmmword [rax + rdi + 0x12e0]
movdqu xmm4, xmmword [rax + rdi + 0x12f0]
movdqa xmm8, xmm5
psubw xmm5, xmm0
psubw xmm8, xmm3
psraw xmm5, 7
psraw xmm8, 7
paddw xmm0, xmm5
paddw xmm3, xmm8
movdqu xmmword [rdx + 0x118d20], xmm3
movdqa xmm3, xmm4
psubw xmm4, xmm2
psubw xmm3, xmm1
psraw xmm4, 7
psraw xmm3, 7
paddw xmm2, xmm4
paddw xmm1, xmm3
movdqu xmmword [rdx + 0x118d30], xmm1
movdqu xmmword [r9 + 0x12a160], xmm0
movdqu xmmword [r9 + 0x12a170], xmm2
cmp ebx, 0x800000
jae 0x1400110a7
mov rax, qword [rsp + 0x188]
shl ebx, 8
movzx edx, byte [rax]
or ebx, edx
inc rax
cmp ebx, 0x800000
jb 0x14001191e
mov qword [rsp + 0x188], rax
lea rdx, [0x140000000]
mov rax, qword [rsp + 0x190]
shl r11, 4
add r11, rcx
mov dword [rsp + 0x11c], ebx
mov byte [rax + r12], r11b
inc r12
movzx esi, byte [rdx + rsi + 0x3f80]
movzx r11d, r11b
jmp 0x1400117cc
cmp eax, 1
jne 0x140011671
mov eax, dword [rbp]
mov qword [rsp + 0x138], rax
not rax
add rax, r12
js 0x140011d1e
mov rdx, qword [rsp + 0x190]
movzx r13d, byte [rax + rdx]
mov rdx, rsi
movzx eax, byte [rbp + 0x81]
and rax, rdi
shl rdx, 5
mov r14, qword [rbp + 0x4e8]
mov r10, qword [rbp + 0x60]
movzx r15d, byte [rax + r14]
lea rcx, [rdx + rsi*2]
mov rdx, r15
shl rdx, 4
add rdx, r15
shl rdx, 5
add rdx, rcx
mov rax, qword [rsp + 0x138]
add rdx, r10
mov qword [rsp + 0x130], rcx
test eax, eax
je 0x140011d16
bsr r14d, eax
inc r14d
movzx ecx, byte [rbp + 0x82]
mov r15, r14
shr r13, cl
movdqa xmm4, xmm7
movzx r11d, r11b
mov rax, r13
movzx ecx, byte [rbp + 0x87]
shl r15, 5
shr r11, cl
shl rax, 4
shl r11, 5
add rax, r13
shl rax, 6
lea r14, [r15 + r14*2]
add rax, r10
mov r13d, ebx
add rax, r14
and r13d, 0x7fff
movdqu xmm1, xmmword [rdx + 0x1b4370]
movdqu xmm0, xmmword [rax + 0x1bcd80]
shr ebx, 0xf
lea r14, [r11 + rsi*2]
movzx ecx, word [r10 + r14 + 0x6dba9c]
mov r11d, 0x8000
mov word [rsp + 0x108], r11w
movd xmm2, ecx
pshuflw xmm3, xmm2, 0
pshufd xmm8, xmm3, 0
movdqu xmm3, xmmword [rdx + 0x1b4360]
psubw xmm4, xmm8
movdqa xmm5, xmm8
movdqa xmm2, xmm4
pmulhuw xmm5, xmm3
pmulhuw xmm2, xmm0
pmulhuw xmm8, xmm1
paddw xmm5, xmm2
movdqu xmm2, xmmword [rax + 0x1bcd90]
movdqu xmmword [rsp + 0xe8], xmm5
pmulhuw xmm4, xmm2
paddw xmm8, xmm4
movd xmm4, r13d
punpcklwd xmm4, xmm4
pshufd xmm4, xmm4, 0
movdqu xmmword [rsp + 0xf8], xmm8
pcmpgtw xmm5, xmm4
pcmpgtw xmm8, xmm4
packsswb xmm5, xmm8
pmovmskb r11d, xmm5
add r11d, 0x10000
bsf r8d, r11d
lea r11d, [r8 - 1]
movzx r9d, word [rsp + r8*2 + 0xe8]
movzx r15d, word [rsp + r11*2 + 0xe8]
sub r9d, r15d
imul ebx, r9d
sub ebx, r15d
movzx r15d, word [rdx + r8*2 + 0x1b4360]
add ebx, r13d
movzx r13d, word [rdx + r11*2 + 0x1b4360]
sub r15d, r13d
movzx r13d, word [rax + r8*2 + 0x1bcd80]
mov r8d, ecx
shr r8d, 4
sub ecx, r8d
movzx r9d, word [rax + r11*2 + 0x1bcd80]
sub r13d, r9d
cmp r15w, r13w
lea r9d, [rcx + 0xfff]
cmovae ecx, r9d
mov word [r10 + r14 + 0x6dba9c], cx
lea r10, [0x140000000]
movsxd rcx, r11d
shl rcx, 5
movdqu xmm5, xmmword [r10 + rcx + 0x10e0]
movdqu xmm4, xmmword [r10 + rcx + 0x10f0]
movdqa xmm8, xmm5
psubw xmm5, xmm0
psubw xmm8, xmm3
psraw xmm5, 6
psraw xmm8, 6
paddw xmm0, xmm5
paddw xmm3, xmm8
movdqu xmmword [rdx + 0x1b4360], xmm3
movdqa xmm3, xmm4
psubw xmm4, xmm2
psubw xmm3, xmm1
psraw xmm4, 6
psraw xmm3, 6
paddw xmm2, xmm4
paddw xmm1, xmm3
movdqu xmmword [rdx + 0x1b4370], xmm1
movdqu xmmword [rax + 0x1bcd80], xmm0
movdqu xmmword [rax + 0x1bcd90], xmm2
cmp ebx, 0x800000
jae 0x14001137f
mov rax, qword [rsp + 0x188]
shl ebx, 8
movzx edx, byte [rax]
or ebx, edx
inc rax
cmp ebx, 0x800000
jb 0x140011cfe
mov qword [rsp + 0x188], rax
mov dword [rsp + 0x11c], ebx
cmp r11, 0xa
ja 0x140011c6f
lea rdx, [0x140000000]
movzx eax, word [rdx + r11*2 + 0x8440]
lea rax, [rdx + rax + 0x113aa]
jmp rax
cmp r13, r12
jae 0x140011a69
not r13
xor eax, eax
add r13, r12
mov rbx, r13
and r13, 0xffffff
sar rbx, 0x18
add rbx, qword [rsp + 0x128]
mov rdx, qword [rsp + 0x190]
cmovl rax, qword [rsp + 0x120]
add rbx, rax
add rdx, r12
add r13, qword [rbp + rbx*8 + 0xd8]
mov rax, r13
sub rax, rdx
cmp r14, 6
jle 0x140011656
cmp rdx, r13
jbe 0x140011637
neg rax
cmp rax, r14
jge 0x140011641
jmp 0x140011656
cmp r13, rdx
jbe 0x140011656
cmp rax, r14
jl 0x140011656
xor eax, eax
movzx r11d, byte [rax + r13]
mov byte [rax + rdx], r11b
inc rax
cmp rax, r14
jl 0x140011643
jmp 0x140011669
xor eax, eax
movzx r11d, byte [rax + r13]
mov byte [rax + rdx], r11b
inc rax
cmp rax, r14
jl 0x140011658
add r12, r14
jmp 0x1400117cc
cmp eax, 2
jne 0x1400117cc
cmp r13d, 4
ja 0x1400117cc
lea rdx, [0x140000000]
movzx eax, word [rdx + r13*2 + 0x8458]
lea rax, [rdx + rax + 0x1169e]
jmp rax
cmp r12, qword [rsp + 0x1b8]
jb 0x140010a27
mov qword [rsp + 0x90], rsi
mov r15d, 0x1000000
mov rbx, qword [rsp + 0x190]
mov rdx, qword [rsp + 0x88]
mov r14, qword [rsp + 0x80]
mov rax, qword [rbp + 0x528]
mov r13, r12
sub r13, rdx
add rdx, rbx
cmp dword [rax], 0
je 0x140011f45
mov rsi, qword [rax + 8]
mov r8, r13
mov rcx, qword [rsi + 0x38]
mov rdi, qword [rsi + 0x28]
call fcn.140023e60
mov dword [rdi], 2
mov dword [rdi + 4], r13d
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_SetEvent]
mov rcx, qword [rsi + 8]
xor edx, edx
dec edx
call qword [sym.imp.KERNEL32.dll_WaitForSingleObject]
mov eax, dword [rdi + 8]
test eax, eax
jl 0x140012386
lea rdx, [rbp + 0xc0]
mov eax, dword [rdx]
add rax, r13
sub r14, r13
add dword [rbp + 0x504], r13d
mov dword [rdx], eax
cmp r12, 0x1000000
ja 0x140011f13
test r14, r14
jne 0x14001099c
lea rcx, [rbp + 0x60]
mov rdx, qword [rcx]
mov r14, qword [rsp + 0x90]
mov eax, dword [rsp + 0x10c]
mov dword [rcx + 0x68], r14d
mov dword [rdx + 0x27a358], eax
xor eax, eax
mov rbp, qword [rcx]
movups xmm6, xmmword [rsp + 0x70]
movups xmm7, xmmword [rsp + 0x60]
movups xmm8, xmmword [rsp + 0x50]
mov ecx, dword [rsp + 0x118]
mov dword [rbp + 0x27a354], ecx
add rsp, 0x1c8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret
mov rdx, qword [rsp + 0x188]
shl ebx, 8
movzx r10d, byte [rdx]
or ebx, r10d
inc rdx
cmp ebx, 0x800000
jb 0x140011907
mov qword [rsp + 0x188], rdx
jmp 0x140010b1c
shl ebx, 8
movzx r10d, byte [rdx]
or ebx, r10d
inc rdx
cmp ebx, 0x800000
jb 0x140011907
jmp 0x1400118fa
shl ebx, 8
movzx edx, byte [rax]
or ebx, edx
inc rax
cmp ebx, 0x800000
jb 0x14001191e
jmp 0x14001109f
shl ebx, 8
movzx edx, byte [rax]
or ebx, edx
inc rax
cmp ebx, 0x800000
jb 0x140011936
jmp 0x140010e35
mov rdx, r13
xor eax, eax
sar rdx, 0x18
and r13, 0xffffff
add rdx, qword [rsp + 0x128]
cmovl rax, qword [rsp + 0x120]
add rdx, rax
mov r10, qword [rbp + rdx*8 + 0xd8]
movzx r10d, byte [r10 + r13]
jmp 0x140010ba5
not r13
xor eax, eax
add r13, r12
mov r10, r13
mov rbx, r13
sar r10, 0x18
and rbx, 0xffffff
add r10, qword [rsp + 0x128]
cmovl rax, qword [rsp + 0x120]
add r10, rax
lea rax, [r12 + r14]
add r14, rbx
cmp r14, 0x1000000
ja 0x140012222
sub rbx, r12
add rbx, qword [rbp + r10*8 + 0xd8]
mov rdx, qword [rsp + 0x190]
movzx r11d, byte [rbx + r12]
mov byte [rdx + r12], r11b
inc r12
cmp r12, rax
jae 0x1400117cc
movzx r11d, byte [rbx + r12]
mov byte [rdx + r12], r11b
inc r12
cmp r12, rax
jb 0x140011abd
jmp 0x1400117cc
mov rdi, r11
lea rdx, [rbp + r11*4]
mov r13d, dword [rdx - 0x30]
add rdi, 0xfffffffffffffff4
je 0x140011ce0
mov rax, rdi
mov r10d, 1
shr rax, 0x3f
xor ebx, ebx
lea rax, [r11 + rax - 0xc]
sar rax, 1
test rax, rax
jbe 0x140011ccb
lea r15, [rbx*8]
inc rbx
neg r15
add r15, rdx
mov r10d, dword [r15 - 0x34]
mov r14d, dword [r15 - 0x38]
mov dword [r15 - 0x30], r10d
mov dword [r15 - 0x34], r14d
cmp rbx, rax
jb 0x140011c9d
lea r10, [rbx*2 + 1]
dec r10
cmp r10, rdi
jae 0x140011ce0
sub r11, r10
mov eax, dword [rbp + r11*4 - 0x34]
mov dword [rbp + r11*4 - 0x30], eax
lea rax, [0x140000000]
mov r14d, 2
mov dword [rbp], r13d
movzx esi, byte [rax + rsi + 0x3fa0]
jmp 0x1400115d6
shl ebx, 8
movzx edx, byte [rax]
or ebx, edx
inc rax
cmp ebx, 0x800000
jb 0x140011cfe
jmp 0x140011377
xor r14d, r14d
jmp 0x140011161
mov r13, rax
xor edx, edx
sar r13, 0x18
and rax, 0xffffff
add r13, qword [rsp + 0x128]
mov r10, qword [rsp + 0x120]
cmovge r10, rdx
add r13, r10
mov r14, qword [rbp + r13*8 + 0xd8]
movzx r13d, byte [r14 + rax]
jmp 0x140011109
shr eax, 0x18
add rbx, 0x1000000
mov rcx, qword [rbp + rax*8 + 0xd8]
cmp rcx, rbx
je 0x14001187e
and r12, 0xffffff
mov rdx, rbx
mov r8, r12
call fcn.14001ea40
jmp 0x14001187e
mov rcx, rdx
xor edx, edx
inc rdx
mov r8, r13
mov r9, qword [rax + 0x18]
call fcn.140027c8c
jmp 0x140011851
mov rdx, qword [rsp + 0x190]
or r13, 0xffffffffff000000
lea rdi, [r12 + rdx]
mov rdx, qword [rbp + r10*8 + 0xd8]
add rbx, rdx
add rdx, 0x1000000
sub r12, r13
movdqu xmm2, xmmword [rbx]
movdqu xmmword [rdi], xmm2
lea r11, [rbx + 0x10]
cmp r11, rdx
jae 0x140012272
movdqu xmm2, xmmword [rbx + 0x10]
add rbx, 0x20
movdqu xmmword [rdi + 0x10], xmm2
add rdi, 0x20
cmp rbx, rdx
jb 0x14001224a
cmp r12, rax
jae 0x1400122b9
mov rdx, qword [rbp + r10*8 + 0xe0]
mov rbx, qword [rsp + 0x190]
sub rdx, r12
movzx r11d, byte [rdx + r12]
mov byte [rbx + r12], r11b
inc r12
cmp r12, rax
jae 0x1400122ac
movzx r11d, byte [rdx + r12]
mov byte [rbx + r12], r11b
inc r12
cmp r12, rax
jb 0x14001228a
mov qword [rsp + 0x190], rbx
jmp 0x1400117cc
mov rax, qword [rsp + 0x190]
movzx r11d, byte [rax + r12 - 1]
jmp 0x1400117cc
mov rax, qword [rsp + 0x188]
shl ebx, 8
movzx edx, byte [rax]
or ebx, edx
inc rax
cmp ebx, 0x800000
jb 0x1400122f4
mov qword [rsp + 0x188], rax
jmp 0x140010b76
shl ebx, 8
movzx edx, byte [rax]
or ebx, edx
inc rax
cmp ebx, 0x800000
jb 0x1400122f4
jmp 0x1400122e7
sub r10d, edx
mov edx, r14d
mov ebx, r10d
shr edx, 5
sub ebx, r14d
sub r14d, edx
mov word [rax + r15], r14w
cmp ebx, 0x800000
jb 0x140012339
mov dword [rsp + 0x11c], ebx
mov eax, 1
jmp 0x140010b7f
mov rax, qword [rsp + 0x188]
shl ebx, 8
movzx edx, byte [rax]
or ebx, edx
inc rax
cmp ebx, 0x800000
jb 0x14001235e
mov qword [rsp + 0x188], rax
jmp 0x140012328
shl ebx, 8
movzx edx, byte [rax]
or ebx, edx
inc rax
cmp ebx, 0x800000
jb 0x14001235e
jmp 0x140012354
movzx r11d, byte [rdi - 1]
cmp r12, rsi
jb 0x1400109ef
jmp 0x140011800
movups xmm6, xmmword [rsp + 0x70]
movups xmm7, xmmword [rsp + 0x60]
movups xmm8, xmmword [rsp + 0x50]
cdqe
add rsp, 0x1c8
pop rbp
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
ret