Function at 0x140142dc0
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x128
mov rdi, r9
mov r13, r8
mov r15, rdx
mov qword [rsp + 0x30], rcx
mov esi, dword [rsp + 0x190]
xor r12d, r12d
mov r8d, 0x400
mov rcx, r13
xor edx, edx
call fcn.14038d2f0
mov r8d, 0x40000
mov qword [rsp + 0x98], rdi
mov rcx, rdi
xor edx, edx
call fcn.14038d2f0
mov rcx, rsi
mov r14d, ecx
test ecx, ecx
jle 0x140142ee2
lea r10d, [rcx - 1]
mov rax, qword [rsp + 0x30]
movzx r9d, byte [rax + r10]
mov r8d, 0x7530
mov r14d, ecx
mov rbx, qword [rsp + 0x98]
movzx eax, r9b
mov ebp, r10d
lea edi, [r10 - 1]
add r10d, 0xfffffffe
nop
mov r11, rbp
mov edx, eax
inc dword [r13 + rdx*4]
sub rbp, 1
jb 0x140142edb
mov esi, eax
mov ecx, edi
mov r9d, r10d
mov rax, qword [rsp + 0x30]
movzx eax, byte [rax + r11 - 1]
lea edi, [rcx - 1]
lea r10d, [r9 - 1]
cmp esi, eax
jbe 0x140142e50
mov edx, eax
shl edx, 8
add edx, esi
inc dword [rbx + rdx*4]
mov rdx, qword [rsp + 0x1a8]
mov dword [rdx + r8*4 - 4], ebp
dec r14d
cmp r11d, 2
jl 0x140142edb
dec r8
mov edx, r9d
add rdx, qword [rsp + 0x30]
nop dword [rax + rax]
movzx r9d, byte [rdx]
movzx ebp, r9b
cmp eax, ebp
jb 0x140142ed1
shl eax, 8
or eax, ebp
inc dword [rbx + rax*4]
dec ecx
dec rdx
mov eax, ebp
test ecx, ecx
jg 0x140142eb0
jmp 0x140142edb
dec ecx
mov r10d, ecx
jmp 0x140142e40
mov ecx, dword [rsp + 0x190]
mov dword [rsp + 0x40], r14d
sub ecx, r14d
mov qword [rsp + 0xf0], rcx
movsxd rax, ecx
lea r10, [r15 + rax*4]
mov qword [rsp + 0x108], rax
lea rax, [r15 + rax*4]
add rax, 0x300
mov qword [rsp + 0xa8], rax
xor eax, eax
xor ecx, ecx
mov qword [rsp + 0x38], rcx
xor r14d, r14d
mov rcx, qword [rsp + 0x98]
mov qword [rsp + 0x48], r10
jmp 0x140142f40
mov rax, r9
cmp r9, 0x100
je 0x140143142
lea edx, [r14 + r12]
add r12d, dword [r13 + rax*4]
mov dword [r13 + rax*4], edx
mov r11, rax
shl r11, 8
mov edx, r11d
or edx, eax
add r12d, dword [rcx + rdx*4]
lea r9, [rax + 1]
cmp rax, 0xfe
ja 0x140142f30
mov rdx, r9
or rdx, r11
test rax, rax
je 0x140143070
mov r8d, eax
mov r10d, edx
mov edi, dword [rcx + r10*4]
add r14d, edi
test edi, edi
je 0x140142fc5
mov rbp, qword [rsp + 0x38]
movsxd rdi, ebp
mov edx, dword [rcx + r11*4 - 4]
movzx edx, dx
mov rbx, qword [rsp + 0x48]
mov word [rbx + rdi*4 + 0x700], dx
mov word [rbx + rdi*4 + 0x702], r14w
movzx edi, r14w
sub edi, edx
xor edx, edx
cmp edi, 2
setge dl
add edx, ebp
mov qword [rsp + 0x38], rdx
mov dword [rcx + r10*4], r14d
mov rdx, r9
shl rdx, 8
or rdx, rax
add r12d, dword [rcx + rdx*4]
mov rdx, rax
add rdx, 2
mov eax, 0xff
cmp rdx, 0x100
mov r10, qword [rsp + 0x48]
je 0x140142f40
lea eax, [r11 + 0x200]
jmp 0x140143020
mov dword [rcx + rdi*4], r14d
mov ebp, eax
or ebp, r8d
add r12d, dword [rcx + rbp*4]
inc edx
add eax, 0x100
cmp edx, 0x100
je 0x140142f30
mov edi, edx
or edi, r11d
mov ebp, dword [rcx + rdi*4]
add r14d, ebp
test ebp, ebp
je 0x140143000
mov rsi, qword [rsp + 0x38]
movsxd rsi, esi
lea ebp, [rdx - 1]
or ebp, r11d
movsxd rbp, ebp
mov ebp, dword [rcx + rbp*4]
movzx ebp, bp
mov word [r10 + rsi*4 + 0x700], bp
mov word [r10 + rsi*4 + 0x702], r14w
movzx ebx, r14w
sub ebx, ebp
xor ebp, ebp
cmp ebx, 2
setge bpl
add esi, ebp
mov qword [rsp + 0x38], rsi
jmp 0x140143000
mov eax, dword [rcx + rdx*4]
add r14d, eax
test eax, eax
je 0x1401430a9
mov rsi, qword [rsp + 0x38]
movsxd rax, esi
mov word [r10 + rax*4 + 0x700], 0
mov word [r10 + rax*4 + 0x702], r14w
mov eax, r14d
and eax, 0xfffe
cmp eax, 1
sbb esi, 0xffffffff
mov qword [rsp + 0x38], rsi
mov dword [rcx + rdx*4], r14d
mov eax, r9d
shl eax, 8
add r12d, dword [rcx + rax*4]
mov edi, 2
mov edx, 0x800
movabs rsi, 0x100000001
jmp 0x1401430f2
mov dword [rcx + rax*4], r14d
add r12d, dword [rcx + rdx]
inc rdi
inc rsi
add rdx, 0x400
cmp rdx, 0x40000
je 0x140142f30
mov eax, edi
or eax, r11d
mov ebp, dword [rcx + rax*4]
add r14d, ebp
test ebp, ebp
je 0x1401430d0
mov r8, qword [rsp + 0x38]
movsxd r8, r8d
mov ebp, esi
or ebp, r11d
movsxd rbp, ebp
mov ebp, dword [rcx + rbp*4]
movzx ebp, bp
mov word [r10 + r8*4 + 0x700], bp
mov word [r10 + r8*4 + 0x702], r14w
movzx ebx, r14w
sub ebx, ebp
xor ebp, ebp
cmp ebx, 2
setge bpl
add r8d, ebp
mov qword [rsp + 0x38], r8
jmp 0x1401430d0
lea rax, [r10 + 0x180]
mov qword [rsp + 0xc8], rax
xor esi, esi
mov r8d, 0x300
mov rcx, r10
xor edx, edx
call fcn.14038d2f0
mov r10, qword [rsp + 0x48]
mov eax, dword [rsp + 0x190]
mov rcx, rax
add eax, 0xff
lea edx, [rcx + 0x1fe]
test eax, eax
cmovns edx, eax
movsxd rax, ecx
mov qword [rsp + 0xd0], rax
test ecx, ecx
mov qword [rsp + 0xf8], r13
mov r12, qword [rsp + 0x1a8]
jle 0x140143fc0
sar edx, 8
mov eax, dword [rsp + 0x190]
mov r11d, eax
movsxd r8, edx
movsxd rax, dword [rsp + 0x40]
mov rcx, qword [rsp + 0xd0]
sub rcx, rax
lea rax, [r15 + rcx*4]
add rax, 0x310
mov qword [rsp + 0xd8], rax
mov rbp, qword [rsp + 0x30]
lea rcx, [rbp + 0x103]
mov qword [rsp + 0x58], rcx
lea rax, [rbp + 6]
lea rcx, [rbp + 3]
mov qword [rsp + 0x100], rcx
mov dword [rsp + 0xec], edx
mov qword [rsp + 0x118], r8
mov qword [rsp + 0x110], rax
jmp 0x140143247
mov rsi, qword [rsp + 0x120]
mov edx, dword [rsp + 0xec]
cmp esi, edx
mov r13, qword [rsp + 0xf8]
mov r8, qword [rsp + 0x118]
jge 0x140143fc0
mov ecx, esi
mov qword [rsp + 0xe0], rcx
movsxd r9, ecx
lea ecx, [r9 + 1]
cmp edx, ecx
cmovg ecx, edx
lea rdx, [r9 + 1]
mov rdi, qword [rsp + 0x1a0]
nop dword [rax]
cmp rdx, r8
jge 0x140143290
movzx ebx, byte [rdi + rdx]
lea rbp, [rdx + 1]
inc esi
cmp bl, byte [rdi + rdx - 1]
mov rdx, rbp
je 0x140143270
jmp 0x140143292
mov esi, ecx
mov qword [rsp + 0x120], rsi
mov eax, esi
sub eax, dword [rsp + 0xe0]
mov dword [rsp + 0xa4], eax
cmp eax, 2
jl 0x140143220
mov rcx, qword [rsp + 0x1a0]
movzx eax, byte [rcx + r9]
mov rcx, qword [rsp + 0x198]
movzx r14d, byte [rcx + rax*2]
movzx eax, byte [rcx + rax*2 + 1]
mov qword [rsp + 0xc0], rax
mov eax, dword [rsp + 0xa4]
mov qword [rsp + 0x70], rax
cmp r14, 1
jbe 0x1401433d7
mov rax, qword [rsp + 0xe0]
shl eax, 8
mov rcx, qword [rsp + 0xa8]
mov dword [rcx], eax
mov rsi, qword [rsp + 0x70]
lea rcx, [rsi - 1]
lea rbx, [rsi - 2]
mov ebp, ecx
and ebp, 3
mov edx, 1
cmp rbx, 3
mov rdi, qword [rsp + 0xd8]
jb 0x140143362
and rcx, 0xfffffffffffffffc
xor edx, edx
lea ebx, [rax + 0x100]
mov dword [rdi + rdx*4 - 0xc], ebx
lea ebx, [rax + 0x200]
mov dword [rdi + rdx*4 - 8], ebx
lea ebx, [rax + 0x300]
mov dword [rdi + rdx*4 - 4], ebx
add eax, 0x400
mov dword [rdi + rdx*4], eax
add rdx, 4
cmp rcx, rdx
jne 0x140143330
inc rdx
test rbp, rbp
je 0x140143390
add eax, 0x100
lea rcx, [rdi + rdx*4]
add rcx, 0xfffffffffffffff0
xor edx, edx
nop word cs:[rax + rax]
mov dword [rcx + rdx*4], eax
inc rdx
add eax, 0x100
cmp rbp, rdx
jne 0x140143380
lea r9, [r10 + rsi*4]
add r9, 0x300
cmp dword [rsp + 0xa4], 2
jae 0x1401434fc
mov al, 1
mov rcx, qword [rsp + 0xa8]
mov r12, qword [rsp + 0x1a8]
nop dword [rax + rax]
mov edx, dword [rcx]
sar edx, 8
movsxd rdx, edx
mov byte [r10 + rdx], al
inc al
add rcx, 4
cmp rcx, r9
jb 0x1401433c0
cmp byte [rsp + 0xc0], 0xfc
mov r8, qword [rsp + 0xc8]
ja 0x140143220
mov rbx, qword [rsp + 0xe0]
shl ebx, 8
lea ecx, [rbx + 0xfd]
mov rax, qword [rsp + 0xa8]
mov dword [rax], ecx
mov r9, qword [rsp + 0x70]
lea rax, [r9 - 1]
lea rsi, [r9 - 2]
mov ebp, eax
and ebp, 3
mov edx, 1
cmp rsi, 3
jb 0x140143475
and rax, 0xfffffffffffffffc
add ebx, 0x4fd
xor edx, edx
mov rsi, qword [rsp + 0xd8]
nop dword [rax]
mov ecx, ebx
lea ebx, [rcx - 0x300]
mov dword [rsi + rdx*4 - 0xc], ebx
lea ebx, [rcx - 0x200]
mov dword [rsi + rdx*4 - 8], ebx
lea ebx, [rcx - 0x100]
mov dword [rsi + rdx*4 - 4], ebx
mov dword [rsi + rdx*4], ecx
add rdx, 4
lea ebx, [rcx + 0x400]
cmp rax, rdx
jne 0x140143440
inc rdx
test rbp, rbp
je 0x1401434b1
add ecx, 0x100
mov rax, qword [rsp + 0xd8]
lea rax, [rax + rdx*4]
add rax, 0xfffffffffffffff0
xor edx, edx
nop word cs:[rax + rax]
mov dword [rax + rdx*4], ecx
inc rdx
add ecx, 0x100
cmp rbp, rdx
jne 0x1401434a0
lea r13, [r10 + r9*4]
add r13, 0x300
cmp dword [rsp + 0xa4], 2
jae 0x140143a70
mov al, 1
mov rcx, qword [rsp + 0xa8]
nop word cs:[rax + rax]
mov edx, dword [rcx]
sar edx, 8
movsxd rdx, edx
mov byte [r8 + rdx], al
inc al
add rcx, 4
cmp rcx, r13
jb 0x1401434e0
jmp 0x140143220
mov rax, qword [rsp + 0x70]
lea rsi, [rax + 0xbe]
mov rax, qword [rsp + 0xc0]
cmp al, r14b
jb 0x14014386d
inc rax
mov qword [rsp + 0xb8], rax
jmp 0x14014354d
mov eax, dword [rsp + 0x80]
mov dword [r12 - 4], eax
lea rsi, [rcx - 1]
cmp rcx, 0xc0
jle 0x1401433a9
mov eax, dword [r10 + rsi*4]
mov edi, dword [r10 + rsi*4 + 4]
mov qword [rsp + 0xb0], rsi
lea r12, [r10 + rsi*4]
add r12, 4
mov dword [rsp + 0x80], eax
movsxd r8, eax
mov rax, qword [rsp + 0x30]
lea rcx, [rax + r8]
mov qword [rsp + 0x50], rcx
movsxd rsi, edi
add rax, rsi
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x68], rcx
mov qword [rsp + 0x90], rsi
xor eax, eax
mov qword [rsp + 0x88], rax
mov qword [rsp + 0x78], rsi
mov rbx, qword [rsp + 0x88]
shl rbx, 8
mov rax, r8
lea rcx, [rbx + r8]
mov qword [rsp + 0x60], rcx
add rbx, rsi
mov rbp, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x90]
mov r8, qword [rsp + 0x40]
mov r10, qword [rsp + 0xb8]
nop word cs:[rax + rax]
lea rdx, [r14 + rbp]
cmp rdx, r11
jge 0x1401437b0
lea rdx, [r14 + rsi]
cmp rdx, r11
jge 0x1401437b0
movzx r13d, byte [rcx + r14]
movzx edx, byte [r8 + r14]
cmp r13b, dl
jne 0x1401437d0
dec r10
inc r8
inc rsi
inc rcx
inc rbp
cmp r14, r10
jne 0x1401435f0
mov rcx, qword [rsp + 0x60]
add rcx, 0xff
cmp rcx, r11
mov r10, qword [rsp + 0x48]
mov r8, rax
mov rsi, qword [rsp + 0x78]
jge 0x140143819
lea rdx, [rbx + 0xff]
cmp rdx, r11
jge 0x140143819
mov rax, qword [rsp + 0x30]
movzx ebp, byte [rax + rcx]
movzx ecx, byte [rax + rdx]
cmp bpl, cl
jne 0x140143793
mov rax, qword [rsp + 0x60]
lea rcx, [rax + 0x100]
cmp rcx, r11
jge 0x140143819
lea rdx, [rbx + 0x100]
cmp rdx, r11
jge 0x140143819
mov rax, qword [rsp + 0x30]
movzx ebp, byte [rax + rcx]
movzx ecx, byte [rax + rdx]
cmp bpl, cl
jne 0x140143793
mov rax, qword [rsp + 0x60]
lea rcx, [rax + 0x101]
cmp rcx, r11
jge 0x140143819
lea rdx, [rbx + 0x101]
cmp rdx, r11
jge 0x140143819
mov rax, qword [rsp + 0x30]
movzx ebp, byte [rax + rcx]
movzx ecx, byte [rax + rdx]
cmp bpl, cl
jne 0x140143793
mov rax, qword [rsp + 0x60]
lea rcx, [rax + 0x102]
cmp rcx, r11
jge 0x140143819
lea rdx, [rbx + 0x102]
cmp rdx, r11
jge 0x140143819
mov rax, qword [rsp + 0x30]
movzx ebp, byte [rax + rcx]
movzx ecx, byte [rax + rdx]
cmp bpl, cl
jne 0x140143793
mov rcx, qword [rsp + 0x60]
add rcx, 0x103
cmp rcx, r11
jge 0x140143819
add rbx, 0x103
cmp rbx, r11
jge 0x140143819
mov rax, rcx
mov rcx, qword [rsp + 0x30]
movzx ebp, byte [rcx + rax]
movzx ecx, byte [rcx + rbx]
inc qword [rsp + 0x88]
add qword [rsp + 0x40], 0x100
add qword [rsp + 0x90], 0x100
add qword [rsp + 0x68], 0x100
add qword [rsp + 0x28], 0x100
cmp bpl, cl
je 0x1401435aa
movzx eax, cl
movzx r13d, bpl
sub r13d, eax
test r13d, r13d
jg 0x1401437e0
jmp 0x140143836
mov r13d, edi
sub r13d, dword [rsp + 0x80]
mov r10, qword [rsp + 0x48]
mov r8, rax
test r13d, r13d
jg 0x1401437e0
jmp 0x140143836
sub r13d, edx
mov r10, qword [rsp + 0x48]
mov r8, rax
test r13d, r13d
jle 0x140143836
add r12, 4
nop word cs:[rax + rax]
mov dword [r12 - 8], edi
cmp r12, r9
jae 0x140143830
mov edi, dword [r12]
add r12, 4
test edi, edi
js 0x1401437f0
add r12, 0xfffffffffffffffc
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x50]
jmp 0x14014357e
mov r13d, edi
sub r13d, dword [rsp + 0x80]
test r13d, r13d
jg 0x1401437e0
jmp 0x140143836
mov r13d, 1
test r13d, r13d
mov rcx, qword [rsp + 0xb0]
jne 0x140143530
not dword [r12]
jmp 0x140143530
mov r10, qword [rsp + 0x48]
mov dword [rbp - 4], r12d
lea rax, [rsi - 1]
cmp rsi, 0xc1
mov rsi, rax
jl 0x1401433a9
mov r12d, dword [r10 + rsi*4]
mov edx, dword [r10 + rsi*4 + 4]
lea rbp, [r10 + rsi*4]
add rbp, 4
movsxd r10, r12d
lea rax, [r10 + 0xff]
cmp rax, r11
jge 0x140143a10
mov r13, rsi
mov rax, qword [rsp + 0x58]
lea r8, [rax + r10]
movsxd rdi, edx
lea rsi, [rax + rdi]
xor ecx, ecx
lea rax, [rdi + rcx]
add rax, 0xff
cmp rax, r11
jge 0x1401439b0
movzx ebx, byte [r8 + rcx - 4]
movzx eax, byte [rsi + rcx - 4]
cmp bl, al
jne 0x1401439d0
lea rax, [r10 + rcx]
add rax, 0x100
cmp rax, r11
jge 0x1401439b0
lea rax, [rdi + rcx]
add rax, 0x100
cmp rax, r11
jge 0x1401439b0
movzx ebx, byte [r8 + rcx - 3]
movzx eax, byte [rsi + rcx - 3]
cmp bl, al
jne 0x1401439d0
lea rax, [r10 + rcx]
add rax, 0x101
cmp rax, r11
jge 0x1401439b0
lea rax, [rdi + rcx]
add rax, 0x101
cmp rax, r11
jge 0x1401439b0
movzx ebx, byte [r8 + rcx - 2]
movzx eax, byte [rsi + rcx - 2]
cmp bl, al
jne 0x1401439d0
lea rax, [r10 + rcx]
add rax, 0x102
cmp rax, r11
jge 0x1401439b0
lea rax, [rdi + rcx]
add rax, 0x102
cmp rax, r11
jge 0x1401439b0
movzx ebx, byte [r8 + rcx - 1]
movzx eax, byte [rsi + rcx - 1]
cmp bl, al
jne 0x1401439d0
lea rax, [r10 + rcx]
add rax, 0x103
cmp rax, r11
jge 0x1401439b0
lea rax, [rdi + rcx]
add rax, 0x103
cmp rax, r11
jge 0x1401439b0
movzx ebx, byte [r8 + rcx]
movzx eax, byte [rsi + rcx]
cmp bl, al
jne 0x1401439d0
lea rax, [r10 + rcx]
add rax, 0x1ff
add rcx, 0x100
cmp rax, r11
jl 0x1401438a6
mov ecx, edx
sub ecx, r12d
test ecx, ecx
mov rsi, r13
jg 0x1401439df
jmp 0x140143a53
movzx eax, al
movzx ecx, bl
sub ecx, eax
test ecx, ecx
mov rsi, r13
jle 0x140143a53
add rbp, 4
mov rax, qword [rsp + 0x58]
nop dword [rax + rax]
mov dword [rbp - 8], edx
cmp rbp, r9
jae 0x140143850
mov edx, dword [rbp]
add rbp, 4
test edx, edx
js 0x1401439f0
add rbp, 0xfffffffffffffffc
jmp 0x14014389d
mov ecx, edx
sub ecx, r12d
mov r10, qword [rsp + 0x48]
jle 0x140143a60
mov rax, rbp
add rax, 4
nop word cs:[rax + rax]
mov rbp, rax
mov dword [rax - 8], edx
cmp rax, r9
jae 0x140143a60
mov edx, dword [rbp]
lea rax, [rbp + 4]
test edx, edx
js 0x140143a30
add rax, 0xfffffffffffffffc
mov ecx, edx
sub ecx, r12d
jg 0x140143a1f
jmp 0x140143a60
mov r10, qword [rsp + 0x48]
nop dword [rax + rax]
test ecx, ecx
jne 0x140143855
not dword [rbp]
jmp 0x140143855
add r9, 0xbe
cmp r14b, byte [rsp + 0xc0]
jb 0x140143aaa
mov r14, qword [rsp + 0x110]
jmp 0x140143dfa
mov r12, rax
mov dword [rdx - 4], ecx
lea rax, [r9 - 1]
cmp r9, 0xc1
mov r9, rax
jl 0x1401434ca
mov rdi, r12
mov ecx, dword [r10 + r9*4]
mov ebp, dword [r10 + r9*4 + 4]
lea rdx, [r10 + r9*4]
add rdx, 4
movsxd rbx, ecx
lea r12, [rbx + 2]
cmp r12, r11
jge 0x140143d90
mov dword [rsp + 0x60], ecx
mov qword [rsp + 0x70], r9
mov r8, qword [rsp + 0x100]
lea rcx, [r8 + rbx]
lea rax, [rbx + 3]
mov qword [rsp + 0x88], rbx
mov qword [rsp + 0x80], r12
mov qword [rsp + 0xb0], rcx
mov qword [rsp + 0x50], rax
movsxd rsi, ebp
lea rdi, [r8 + rsi]
mov qword [rsp + 0x40], rdi
lea rdi, [rsi + 3]
mov qword [rsp + 0x28], rdi
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0xb8], rsi
xor eax, eax
mov qword [rsp + 0x78], rax
lea rcx, [rsi + 2]
cmp rcx, r11
jge 0x140143cf0
mov rax, qword [rsp + 0x30]
movzx r12d, byte [rax + r12]
movzx ecx, byte [rax + rcx]
cmp r12b, cl
jne 0x140143cfe
lea rcx, [rbx + 3]
cmp rcx, r11
jge 0x140143cf0
lea rdi, [rsi + 3]
cmp rdi, r11
jge 0x140143cf0
mov rax, qword [rsp + 0x30]
movzx r12d, byte [rax + rcx]
movzx ecx, byte [rax + rdi]
cmp r12b, cl
jne 0x140143cfe
lea rcx, [rbx + 4]
cmp rcx, r11
jge 0x140143cf0
lea rdi, [rsi + 4]
cmp rdi, r11
jge 0x140143cf0
mov rax, qword [rsp + 0x30]
movzx r12d, byte [rax + rcx]
movzx ecx, byte [rax + rdi]
cmp r12b, cl
jne 0x140143cfe
lea rcx, [rbx + 5]
cmp rcx, r11
jge 0x140143cf0
lea rdi, [rsi + 5]
cmp rdi, r11
jge 0x140143cf0
mov rax, qword [rsp + 0x30]
movzx r12d, byte [rax + rcx]
movzx ecx, byte [rax + rdi]
cmp r12b, cl
jne 0x140143cfe
add rbx, 6
cmp rbx, r11
jge 0x140143cf0
add rsi, 6
cmp rsi, r11
jge 0x140143cf0
mov rax, qword [rsp + 0x30]
movzx r12d, byte [rax + rbx]
movzx ecx, byte [rax + rsi]
mov rbx, qword [rsp + 0x68]
mov r10, qword [rsp + 0x90]
mov rdi, qword [rsp + 0x28]
mov r8, qword [rsp + 0x40]
mov r9, qword [rsp + 0xc0]
cmp r12b, cl
jne 0x140143cfe
nop dword [rax]
lea rcx, [r14 + rbx]
cmp rcx, r11
jge 0x140143cf0
lea rcx, [r14 + rdi]
cmp rcx, r11
jge 0x140143cf0
movzx esi, byte [r10 + r14]
movzx ecx, byte [r8 + r14]
cmp sil, cl
jne 0x140143cfa
dec r9
inc r8
inc rdi
inc r10
inc rbx
cmp r14, r9
jne 0x140143c40
mov rsi, qword [rsp + 0x78]
inc rsi
mov rax, rsi
mov qword [rsp + 0x78], rsi
shl rsi, 8
mov rax, qword [rsp + 0x88]
lea rbx, [rsi + rax]
lea r12, [rsi + rax]
add r12, 2
add rsi, qword [rsp + 0xb8]
add qword [rsp + 0x40], 0x100
add qword [rsp + 0x28], 0x100
add qword [rsp + 0x90], 0x100
add qword [rsp + 0x68], 0x100
cmp r12, r11
jl 0x140143b35
nop word cs:[rax + rax]
mov esi, ebp
mov ecx, dword [rsp + 0x60]
sub esi, ecx
jmp 0x140143d0b
sub esi, ecx
jmp 0x140143d07
movzx eax, cl
movzx esi, r12b
sub esi, eax
mov ecx, dword [rsp + 0x60]
test esi, esi
mov r12, qword [rsp + 0x1a8]
mov r10, qword [rsp + 0x48]
mov r8, qword [rsp + 0xc8]
mov r9, qword [rsp + 0x70]
jle 0x140143dc0
mov rax, r12
add rdx, 4
mov rbx, qword [rsp + 0x88]
mov r12, qword [rsp + 0x80]
nop word cs:[rax + rax]
mov dword [rdx - 8], ebp
cmp rdx, r13
jae 0x140143a90
mov ebp, dword [rdx]
add rdx, 4
test ebp, ebp
js 0x140143d50
add rdx, 0xfffffffffffffffc
mov r8, qword [rsp + 0x100]
mov rcx, qword [rsp + 0xb0]
mov rax, qword [rsp + 0x50]
jmp 0x140143b04
mov esi, ebp
sub esi, ecx
mov r12, rdi
jle 0x140143dc0
mov rax, rdx
add rax, 4
mov rdx, rax
mov dword [rax - 8], ebp
cmp rax, r13
jae 0x140143dc0
mov ebp, dword [rdx]
lea rax, [rdx + 4]
test ebp, ebp
js 0x140143da0
add rax, 0xfffffffffffffffc
mov esi, ebp
sub esi, ecx
jg 0x140143d9c
nop
test esi, esi
jne 0x140143a93
not dword [rdx]
jmp 0x140143a93
mov rbp, rdi
mov r10, qword [rsp + 0x48]
mov dword [rbp - 4], r9d
mov rcx, qword [rsp + 0x70]
lea r9, [rcx - 1]
cmp rcx, 0xc0
mov r8, qword [rsp + 0xc8]
jle 0x1401434ca
mov rdi, r9
mov r9d, dword [r10 + r9*4]
mov edx, dword [r10 + rdi*4 + 4]
mov qword [rsp + 0x70], rdi
lea rdi, [r10 + rdi*4]
add rdi, 4
movsxd r10, r9d
lea rax, [r10 + 2]
cmp rax, r11
jge 0x140143f60
lea r8, [r14 + r10]
movsxd rbp, edx
lea rsi, [r14 + rbp]
xor ecx, ecx
lea rax, [rcx + rbp]
add rax, 2
cmp rax, r11
jge 0x140143f20
movzx eax, byte [r8 + rcx - 4]
movzx ebx, byte [rsi + rcx - 4]
cmp al, bl
jne 0x140143f30
lea rax, [r10 + rcx]
add rax, 3
cmp rax, r11
jge 0x140143f20
lea rax, [rcx + rbp]
add rax, 3
cmp rax, r11
jge 0x140143f20
movzx eax, byte [r8 + rcx - 3]
movzx ebx, byte [rsi + rcx - 3]
cmp al, bl
jne 0x140143f30
lea rax, [r10 + rcx]
add rax, 4
cmp rax, r11
jge 0x140143f20
lea rax, [rcx + rbp]
add rax, 4
cmp rax, r11
jge 0x140143f20
movzx eax, byte [r8 + rcx - 2]
movzx ebx, byte [rsi + rcx - 2]
cmp al, bl
jne 0x140143f30
lea rax, [r10 + rcx]
add rax, 5
cmp rax, r11
jge 0x140143f20
lea rax, [rcx + rbp]
add rax, 5
cmp rax, r11
jge 0x140143f20
movzx eax, byte [r8 + rcx - 1]
movzx ebx, byte [rsi + rcx - 1]
cmp al, bl
jne 0x140143f30
lea rax, [r10 + rcx]
add rax, 6
cmp rax, r11
jge 0x140143f20
lea rax, [rcx + rbp]
add rax, 6
cmp rax, r11
jge 0x140143f20
movzx eax, byte [r8 + rcx]
movzx ebx, byte [rsi + rcx]
cmp al, bl
jne 0x140143f30
lea rax, [r10 + rcx]
add rax, 0x102
add rcx, 0x100
cmp rax, r11
jl 0x140143e30
mov ecx, edx
sub ecx, r9d
test ecx, ecx
jg 0x140143f3c
jmp 0x140143fa3
movzx esi, bl
movzx ecx, al
sub ecx, esi
test ecx, ecx
jle 0x140143fa3
add rdi, 4
mov dword [rdi - 8], edx
cmp rdi, r13
jae 0x140143dd0
mov edx, dword [rdi]
add rdi, 4
test edx, edx
js 0x140143f40
add rdi, 0xfffffffffffffffc
jmp 0x140143e27
mov ecx, edx
mov rbp, rdi
sub ecx, r9d
mov r10, qword [rsp + 0x48]
jle 0x140143fb0
add rdi, 4
nop word cs:[rax + rax]
mov rbp, rdi
mov dword [rdi - 8], edx
cmp rdi, r13
jae 0x140143fb0
mov edx, dword [rbp]
lea rdi, [rbp + 4]
test edx, edx
js 0x140143f80
add rdi, 0xfffffffffffffffc
mov ecx, edx
sub ecx, r9d
jg 0x140143f6f
jmp 0x140143fb0
mov rbp, rdi
mov r10, qword [rsp + 0x48]
nop dword [rax + rax]
test ecx, ecx
jne 0x140143dd8
not dword [rbp]
jmp 0x140143dd8
mov rdi, qword [rsp + 0xf0]
test edi, edi
mov r14, qword [rsp + 0x30]
jle 0x14014506b
mov rax, qword [rsp + 0x108]
shl rax, 2
sub r12, rax
add r12, 0x1d4c0
cmp edi, 1
mov rbx, qword [rsp + 0x98]
je 0x140144026
lea eax, [rdi - 2]
nop dword [rax + rax]
movsxd rcx, dword [r12 + rax*4]
movzx ecx, word [r14 + rcx]
rol cx, 8
movzx ecx, cx
movsxd rdx, dword [rbx + rcx*4]
lea rbp, [rdx - 1]
mov dword [rbx + rcx*4], ebp
mov dword [r15 + rdx*4 - 4], eax
add rax, 0xffffffffffffffff
jb 0x140144000
mov rcx, r14
lea r14d, [rdi - 1]
movsxd rax, dword [r12 + r14*4]
movzx eax, word [rcx + rax]
rol ax, 8
movzx eax, ax
movsxd rcx, dword [rbx + rax*4]
lea rdx, [rcx - 1]
mov dword [rbx + rax*4], edx
mov dword [r15 + rcx*4 - 4], r14d
mov rdx, qword [rsp + 0x38]
test edx, edx
jle 0x140144d65
mov rax, qword [rsp + 0x30]
lea rdi, [rax + 2]
mov rcx, qword [rsp + 0xd0]
add rax, rcx
add rax, 2
add rax, 0xfffffffffffffffe
mov qword [rsp + 0xb8], rax
mov eax, edx
mov qword [rsp + 0x88], rax
movsxd rax, r14d
mov qword [rsp + 0xb0], rax
xor eax, eax
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x40], rdi
jmp 0x1401440cf
mov rbp, r11
mov dword [rbp - 4], r14d
mov rax, qword [rsp + 0x90]
inc rax
cmp rax, qword [rsp + 0x88]
mov r12, qword [rsp + 0x38]
mov r10, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x40]
je 0x140144d65
movzx ecx, word [r10 + rax*4 + 0x700]
lea rbp, [r15 + rcx*4]
mov r13d, dword [r15 + rcx*4]
mov qword [rsp + 0x90], rax
movzx edx, word [r10 + rax*4 + 0x702]
lea r10, [r15 + rdx*4]
cmp r13d, r14d
jne 0x140144130
add rbp, 4
lea r11, [r10 - 8]
cmp r11, rbp
jae 0x140144220
cmp rbp, r10
jae 0x1401440a3
mov rax, qword [rsp + 0xb0]
movsxd rax, dword [r12 + rax*4]
lea r8, [rdi + rax]
mov rdi, qword [rsp + 0xb8]
jmp 0x14014441a
movsxd r8, r13d
mov r11d, dword [r12 + r8*4]
cmp r11d, dword [rsp + 0x1b0]
mov qword [rsp + 0x28], rbp
jge 0x1401441b0
mov eax, r11d
sar eax, 8
cdqe
mov rsi, qword [rsp + 0x1a0]
mov rbp, qword [rsp + 0x28]
movzx r9d, byte [rsi + rax]
movsxd rax, dword [r10 - 4]
mov eax, dword [r12 + rax*4]
sar eax, 8
cdqe
cmp r9b, byte [rsi + rax]
jne 0x1401441b0
lea rdi, [r10 - 4]
mov ebx, r11d
mov rsi, rbp
nop dword [rax]
cmp rsi, rdi
jae 0x140144791
movsxd rbp, dword [rsi + 4]
add rsi, 4
mov eax, dword [r12 + rbp*4]
mov ebp, eax
sub ebp, ebx
mov ebx, eax
cmp ebp, 0x100
mov rbp, qword [rsp + 0x28]
je 0x140144180
nop dword [rax + rax]
movsxd rcx, r11d
mov rax, r10
sub rax, rbp
cmp rax, 0xc
je 0x1401444db
cmp rax, 8
jne 0x1401445e7
movsxd rsi, dword [rbp + 4]
movsxd rdx, dword [r12 + rsi*4]
mov edi, dword [r12 + r8*4 + 4]
sub edi, r11d
mov ebx, dword [r12 + rsi*4 + 4]
sub ebx, edx
cmp edi, ebx
mov eax, ebx
cmovl eax, edi
movsxd r8, eax
mov rax, qword [rsp + 0x40]
add rdx, rax
add rcx, rax
call fcn.14038cb40
test eax, eax
js 0x1401440a7
jne 0x140144210
cmp edi, ebx
jle 0x140144954
mov rax, qword [rsp + 0x28]
mov dword [rax], esi
mov dword [rax + 4], r13d
jmp 0x1401440a7
mov qword [rsp + 0x28], rbp
jmp 0x140144243
not dword [rbx]
mov dword [rbx - 4], r9d
add r11, 0xfffffffffffffffc
cmp r11, rbp
jb 0x14014410b
movsxd r9, dword [r11]
lea rbx, [r11 + 4]
mov eax, dword [r11 + 4]
movsxd r13, dword [r12 + r9*4]
mov rsi, r12
movsxd r12, dword [r12 + r9*4 + 4]
lea r8, [rdi + r13]
add r12, rdi
cmp r8, r12
jae 0x140144380
movsxd rcx, eax
mov rsi, qword [rsp + 0x38]
movsxd rdx, dword [rsi + rcx*4]
movsxd rbp, dword [rsi + rcx*4 + 4]
lea rcx, [rdi + rdx]
add rbp, rdi
mov rdi, r8
cmp rcx, rbp
jae 0x1401442df
mov rcx, qword [rsp + 0x30]
nop
mov rsi, qword [rcx + r13 + 2]
cmp rsi, qword [rcx + rdx + 2]
jne 0x1401442d0
lea rdi, [rcx + r13]
add rdi, 0xa
lea rsi, [rcx + 8]
cmp rdi, r12
jae 0x1401442bd
lea rdi, [rcx + rdx]
add rdi, 0xa
mov rcx, rsi
cmp rdi, rbp
jb 0x140144290
lea rdi, [rsi + r13]
add rdi, 2
lea rcx, [rsi + rdx]
add rcx, 2
jmp 0x1401442df
lea rdi, [rcx + r13]
add rdi, 2
add rcx, rdx
add rcx, 2
cmp rbp, rcx
seta dl
cmp r12, rdi
jbe 0x1401443a0
inc rcx
nop word cs:[rax + rax]
test dl, 1
je 0x140144330
movzx esi, byte [rdi]
movzx edx, byte [rcx - 1]
cmp sil, dl
jne 0x140144340
inc rdi
cmp rcx, rbp
setb dl
inc rcx
cmp rdi, r12
jb 0x140144300
jmp 0x1401443a0
mov esi, 1
jmp 0x140144348
sub esi, edx
jle 0x1401443e2
add rbx, 4
mov rdi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x28]
nop word cs:[rax + rax]
mov dword [rbx - 8], eax
cmp rbx, r10
jae 0x1401443d0
mov eax, dword [rbx]
add rbx, 4
test eax, eax
js 0x140144360
add rbx, 0xfffffffffffffffc
jmp 0x14014426a
cdqe
movsxd rcx, dword [rsi + rax*4]
movsxd rax, dword [rsi + rax*4 + 4]
add rcx, rdi
add rax, rdi
cmp rax, rcx
seta dl
mov r12, rsi
jmp 0x1401443af
mov r12, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x28]
movzx esi, dl
neg esi
test esi, esi
jne 0x140144232
jmp 0x140144230
mov r12, qword [rsp + 0x38]
test esi, esi
jne 0x140144232
jmp 0x140144230
mov r12, qword [rsp + 0x38]
mov rdi, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x28]
test esi, esi
jne 0x140144232
jmp 0x140144230
jbe 0x1401440a0
mov rbp, r11
mov dword [r11 - 4], r9d
add rbp, 4
cmp rbp, r10
jae 0x1401440a3
mov r11, rbp
mov r9d, dword [rbp]
test r9d, r9d
js 0x140144406
movsxd rsi, dword [r12 + r9*4]
movsxd rbp, dword [r12 + r9*4 + 4]
mov rcx, qword [rsp + 0x40]
lea rbx, [rcx + rsi]
add rbp, rcx
mov rcx, r8
cmp r8, rdi
jae 0x14014449e
cmp rbx, rbp
jae 0x14014449e
mov rbx, qword [rsp + 0x30]
nop dword [rax]
mov rcx, qword [rbx + rax + 2]
cmp rcx, qword [rbx + rsi + 2]
jne 0x14014448f
lea rcx, [rbx + rax]
add rcx, 0xa
lea rdx, [rbx + 8]
cmp rcx, rdi
jae 0x14014447d
lea rcx, [rbx + rsi]
add rcx, 0xa
mov rbx, rdx
cmp rcx, rbp
jb 0x140144450
lea rcx, [rdx + rax]
add rcx, 2
lea rbx, [rdx + rsi]
add rbx, 2
jmp 0x14014449e
lea rcx, [rbx + rax]
add rcx, 2
add rbx, rsi
add rbx, 2
cmp rdi, rcx
jbe 0x1401440a0
cmp rbp, rbx
seta dl
inc rbx
test dl, 1
je 0x140144406
movzx edx, byte [rbx - 1]
cmp byte [rcx], dl
jne 0x140144400
inc rcx
cmp rbx, rbp
setb dl
inc rbx
cmp rcx, rdi
jb 0x1401444b0
jmp 0x1401440a0
mov dword [rsp + 0x78], r13d
movsxd rdx, dword [rbp + 8]
movsxd rbx, dword [r12 + rdx*4]
mov qword [rsp + 0x68], rbx
mov edi, dword [r12 + r8*4 + 4]
sub edi, r11d
mov rax, rbp
mov qword [rsp + 0x58], rdx
mov ebp, dword [r12 + rdx*4 + 4]
sub ebp, ebx
xor r13d, r13d
cmp edi, ebp
setl r13b
neg r13d
cmp edi, ebp
movsxd rax, dword [rax + 4]
mov qword [rsp + 0x50], rax
movsxd rdx, dword [r12 + rax*4]
mov esi, dword [r12 + rax*4 + 4]
mov eax, ebp
cmovl eax, edi
mov r9d, 1
cmovg r13d, r9d
sub esi, edx
xor ebx, ebx
cmp edi, esi
setl bl
neg ebx
cmp edi, esi
cmovge edi, esi
movsxd r8, edi
cdqe
mov qword [rsp + 0x70], rax
cmovg ebx, r9d
mov rdi, qword [rsp + 0x40]
add rdx, rdi
mov qword [rsp + 0x80], rdx
add rcx, rdi
mov r12, rcx
call fcn.14038cb40
mov dword [rsp + 0x60], eax
mov rdx, qword [rsp + 0x68]
add rdx, rdi
mov rcx, r12
mov rdi, rdx
mov r8, qword [rsp + 0x70]
call fcn.14038cb40
mov r12d, eax
cmp esi, ebp
mov eax, ebp
cmovl eax, esi
movsxd r8, eax
mov rcx, qword [rsp + 0x80]
mov rdx, rdi
call fcn.14038cb40
mov ecx, dword [rsp + 0x60]
test ecx, ecx
cmovne ebx, ecx
test r12d, r12d
cmovne r13d, r12d
test eax, eax
jne 0x14014483a
xor eax, eax
cmp esi, ebp
setl cl
jle 0x140144836
mov ebp, ebx
shr ebp, 0x1f
mov eax, 1
xor edx, edx
mov esi, dword [rsp + 0x78]
test ebx, ebx
jg 0x140144862
jmp 0x14014487b
lea r11, [r10 - 8]
cmp r11, rbp
jae 0x140144611
jmp 0x1401440a7
mov dword [rbx - 4], r8d
add r11, 0xfffffffffffffffc
cmp r11, rax
jb 0x1401440a7
movsxd r8, dword [r11]
lea rbx, [r11 + 4]
mov edx, dword [r11 + 4]
mov rdi, qword [rsp + 0x38]
movsxd r13, dword [rdi + r8*4]
movsxd rbp, dword [rdi + r8*4 + 4]
mov rsi, qword [rsp + 0x40]
lea r9, [rsi + r13]
add rbp, rsi
cmp r9, rbp
jae 0x140144760
mov qword [rsp + 0x68], r9
movsxd rcx, edx
movsxd rax, dword [rdi + rcx*4]
movsxd r12, dword [rdi + rcx*4 + 4]
mov rdi, qword [rsp + 0x40]
lea rcx, [rdi + rax]
add r12, rdi
cmp rcx, r12
jae 0x1401446bf
mov rcx, qword [rsp + 0x30]
nop word cs:[rax + rax]
mov rsi, qword [rcx + r13 + 2]
cmp rsi, qword [rcx + rax + 2]
jne 0x1401446b0
lea rdi, [rcx + r13]
add rdi, 0xa
lea rsi, [rcx + 8]
cmp rdi, rbp
jae 0x14014469d
lea rdi, [rcx + rax]
add rdi, 0xa
mov rcx, rsi
cmp rdi, r12
jb 0x140144670
lea r9, [rsi + r13]
add r9, 2
lea rcx, [rsi + rax]
add rcx, 2
jmp 0x1401446bf
lea r9, [rcx + r13]
add r9, 2
add rcx, rax
add rcx, 2
cmp r12, rcx
seta al
cmp rbp, r9
jbe 0x140144778
inc rcx
nop word cs:[rax + rax]
test al, 1
je 0x140144710
movzx esi, byte [r9]
movzx eax, byte [rcx - 1]
cmp sil, al
jne 0x140144720
inc r9
cmp rcx, r12
setb al
inc rcx
cmp r9, rbp
jb 0x1401446e0
jmp 0x140144778
mov esi, 1
jmp 0x140144724
sub esi, eax
jle 0x14014477d
add rbx, 4
mov rdi, qword [rsp + 0x38]
mov r9, qword [rsp + 0x68]
nop word cs:[rax + rax]
mov dword [rbx - 8], edx
cmp rbx, r10
jae 0x14014477d
mov edx, dword [rbx]
add rbx, 4
test edx, edx
js 0x140144740
add rbx, 0xfffffffffffffffc
jmp 0x140144644
movsxd rax, edx
movsxd rcx, dword [rdi + rax*4]
movsxd rax, dword [rdi + rax*4 + 4]
add rcx, rsi
add rax, rsi
cmp rax, rcx
seta al
movzx esi, al
neg esi
mov rax, qword [rsp + 0x28]
test esi, esi
jne 0x140144600
not dword [rbx]
jmp 0x140144600
mov r8, r10
sub r8, rbp
cmp r8, 4
je 0x1401440a7
mov rax, qword [rsp + 0x198]
movzx ebx, byte [rax + r9*2]
movzx ebp, r11b
mov edi, ebx
sub edi, ebp
movzx eax, byte [rax + r9*2 + 1]
test ebx, ebx
je 0x1401448c2
cmp edi, 2
jl 0x1401448c2
cmp ebp, ebx
jae 0x1401448c2
cmp cx, dx
mov r9, qword [rsp + 0x38]
jae 0x14014493d
mov rax, qword [rsp + 0x28]
mov rsi, qword [rsp + 0x48]
nop dword [rax]
movsxd rcx, dword [rax]
mov edx, dword [r9 + rcx*4]
sar edx, 8
movsxd rdx, edx
movsx edx, byte [rsi + rdx]
movsxd rdx, edx
lea ebp, [rdx - 1]
mov rbx, 0xfffffffffffffffe
sub rbx, rdx
xor edi, edi
test edx, edx
setle dil
cmovle rbp, rbx
neg edi
xor edi, ecx
mov dword [rsi + rbp*4 + 0x300], edi
add rax, 4
cmp rax, r10
jb 0x1401447f0
jmp 0x14014493d
mov al, cl
neg eax
mov ebp, ebx
shr ebp, 0x1f
mov edx, eax
shr edx, 0x1f
test ebx, ebx
jns 0x14014485a
test eax, eax
mov esi, dword [rsp + 0x78]
js 0x1401440a7
test ebx, ebx
jg 0x140144862
jmp 0x14014487b
mov esi, dword [rsp + 0x78]
test ebx, ebx
jle 0x14014487b
test r13d, r13d
jns 0x14014487b
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x50]
mov dword [rax], ecx
mov dword [rax + 4], esi
jmp 0x1401440a7
test ebx, ebx
jle 0x140144897
test eax, eax
jle 0x140144897
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x58]
mov dword [rax], ecx
mov dword [rax + 8], esi
jmp 0x1401440a7
test eax, eax
jle 0x140144969
test r13d, r13d
jns 0x140144969
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x58]
mov dword [rax + 4], ecx
mov rcx, qword [rsp + 0x50]
mov dword [rax + 8], ecx
jmp 0x1401440a7
cmp ebp, 0xfd
mov rsi, qword [rsp + 0x38]
ja 0x140144992
cmp al, r11b
jae 0x140144992
cmp cx, dx
jae 0x14014493d
mov rax, qword [rsp + 0x28]
nop word cs:[rax + rax]
movsxd rcx, dword [rax]
mov edx, dword [rsi + rcx*4]
sar edx, 8
movsxd rdx, edx
mov rbp, qword [rsp + 0xc8]
movsx edx, byte [rbp + rdx]
movsxd rdx, edx
lea ebp, [rdx - 1]
mov rbx, 0xfffffffffffffffe
sub rbx, rdx
xor edi, edi
test edx, edx
setle dil
cmovle rbp, rbx
neg edi
xor edi, ecx
mov rcx, qword [rsp + 0xa8]
mov dword [rcx + rbp*4], edi
add rax, 4
cmp rax, r10
jb 0x1401448f0
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rsp + 0xa8]
call fcn.14038cc40
jmp 0x1401440a7
jl 0x1401440a7
not esi
mov rax, qword [rsp + 0x28]
mov dword [rax + 4], esi
jmp 0x1401440a7
test r13d, r13d
setg cl
and dl, cl
cmp dl, 1
jne 0x1401449b1
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x50]
mov dword [rax], ecx
mov rcx, qword [rsp + 0x58]
mov dword [rax + 4], ecx
mov dword [rax + 8], esi
jmp 0x1401440a7
mov ecx, ebp
not cl
movzx edx, cl
lea esi, [rdx + 5]
cmp ebp, ebx
jae 0x1401449d3
sub eax, ebx
mov ecx, esi
lea ebx, [rax + rdi]
inc ebx
mov esi, ebx
mov ebp, edx
mov edx, edi
jmp 0x140144a16
test r13d, r13d
setg cl
and cl, bpl
cmp cl, 1
jne 0x1401449e3
mov rax, qword [rsp + 0x28]
mov dword [rax + 4], esi
mov rcx, qword [rsp + 0x58]
mov dword [rax], ecx
jmp 0x1401448b5
cmp ebp, eax
jbe 0x140144a08
lea ebp, [rbx + rdx]
inc ebp
lea ecx, [rax + rdx]
inc ecx
jmp 0x140144a16
test ebx, ebx
jne 0x140144ca6
test r13d, r13d
jns 0x140144ca6
mov rcx, qword [rsp + 0x50]
not ecx
mov rax, qword [rsp + 0x28]
mov dword [rax + 4], ecx
jmp 0x1401440a7
sub eax, ebp
inc eax
mov ecx, esi
mov esi, eax
mov ebp, edx
mov dx, 2
lea r13, [r10 - 8]
cmp r13, qword [rsp + 0x28]
jb 0x1401440a7
cmp bp, cx
setb al
movzx ebp, bp
mov qword [rsp + 0x68], rbp
movzx r12d, cx
cmp dx, si
jae 0x140144bce
movzx r9d, dx
movzx edx, si
test al, 1
jne 0x140144a78
mov r11, qword [rsp + 0x38]
jmp 0x140144b58
not esi
mov dword [rbp], esi
mov dword [rbp - 4], r11d
add r13, 0xfffffffffffffffc
cmp r13, qword [rsp + 0x28]
jb 0x1401440a7
movsxd r11, dword [r13]
lea rbp, [r13 + 4]
mov rbx, qword [rsp + 0x38]
movsxd rax, dword [rbx + r11*4]
mov esi, dword [r13 + 4]
mov rdi, qword [rsp + 0x30]
add rax, rdi
movsxd rcx, esi
movsxd r8, dword [rbx + rcx*4]
add r8, rdi
mov rdi, r9
nop word cs:[rax + rax]
movzx ecx, byte [rax + rdi]
movzx ebx, byte [r8 + rdi]
cmp cl, bl
jne 0x140144af0
inc rdi
cmp rdx, rdi
jne 0x140144ab0
mov rdi, qword [rsp + 0x68]
nop word [rax + rax]
movzx ecx, byte [rax + rdi]
movzx ebx, byte [r8 + rdi]
cmp cl, bl
jne 0x140144af0
inc rdi
cmp r12, rdi
jne 0x140144ad0
jmp 0x140144a60
cmp cl, bl
jbe 0x140144b30
add rbp, 4
nop dword [rax + rax]
mov dword [rbp - 8], esi
cmp rbp, r10
jae 0x140144b30
mov esi, dword [rbp]
add rbp, 4
test esi, esi
js 0x140144b00
add rbp, 0xfffffffffffffffc
mov rdi, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x38]
jmp 0x140144a95
cmp cl, bl
jne 0x140144a65
mov esi, dword [rbp]
jmp 0x140144a60
not esi
mov dword [rbp], esi
mov dword [rbp - 4], r8d
add r13, 0xfffffffffffffffc
cmp r13, qword [rsp + 0x28]
jb 0x1401440a7
movsxd r8, dword [r13]
lea rbp, [r13 + 4]
movsxd rbx, dword [r11 + r8*4]
mov esi, dword [r13 + 4]
mov rax, qword [rsp + 0x30]
add rbx, rax
movsxd rcx, esi
movsxd rcx, dword [r11 + rcx*4]
add rcx, rax
mov rdi, r9
nop dword [rax]
movzx eax, byte [rcx + rdi]
cmp byte [rbx + rdi], al
jne 0x140144ba0
inc rdi
cmp rdx, rdi
jne 0x140144b80
jmp 0x140144b40
jbe 0x140144b45
add rbp, 4
nop word cs:[rax + rax]
mov dword [rbp - 8], esi
cmp rbp, r10
jae 0x140144b45
mov esi, dword [rbp]
add rbp, 4
test esi, esi
js 0x140144bb0
add rbp, 0xfffffffffffffffc
mov rax, qword [rsp + 0x30]
jmp 0x140144b70
test al, 1
jne 0x140144c16
nop word cs:[rax + rax]
not dword [r13 + 4]
add r13, 0xfffffffffffffffc
cmp r13, qword [rsp + 0x28]
jae 0x140144be0
jmp 0x1401440a7
not esi
mov dword [rdx], esi
mov dword [rdx - 4], edi
add r13, 0xfffffffffffffffc
cmp r13, qword [rsp + 0x28]
jb 0x1401440a7
movsxd rdi, dword [r13]
lea rdx, [r13 + 4]
mov rbx, qword [rsp + 0x38]
movsxd rbp, dword [rbx + rdi*4]
mov esi, dword [r13 + 4]
mov rax, qword [rsp + 0x30]
add rbp, rax
movsxd rcx, esi
movsxd rcx, dword [rbx + rcx*4]
add rcx, rax
mov rbx, qword [rsp + 0x68]
nop word cs:[rax + rax]
movzx eax, byte [rcx + rbx]
cmp byte [rbp + rbx], al
jne 0x140144c70
inc rbx
cmp r12, rbx
jne 0x140144c50
jmp 0x140144c00
jbe 0x140144c04
add rdx, 4
nop word cs:[rax + rax]
mov dword [rdx - 8], esi
cmp rdx, r10
jae 0x140144c04
mov esi, dword [rdx]
add rdx, 4
test esi, esi
js 0x140144c80
add rdx, 0xfffffffffffffffc
mov rax, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x38]
jmp 0x140144c33
test ebx, ebx
jne 0x140144cc5
test r13d, r13d
jle 0x140144cc5
mov rax, qword [rsp + 0x28]
mov dword [rax + 4], esi
mov rcx, qword [rsp + 0x58]
mov dword [rax], ecx
mov rcx, qword [rsp + 0x50]
jmp 0x140144d01
test r13d, r13d
sete cl
and cl, bpl
cmp cl, 1
jne 0x140144ce4
mov rcx, qword [rsp + 0x58]
not ecx
mov rax, qword [rsp + 0x28]
jmp 0x1401448b2
test r13d, r13d
jne 0x140144d0b
test ebx, ebx
jle 0x140144d0b
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x50]
mov dword [rax], ecx
mov dword [rax + 4], esi
mov rcx, qword [rsp + 0x58]
not ecx
mov dword [rax + 8], ecx
jmp 0x1401440a7
test eax, eax
sete cl
and cl, bpl
cmp cl, 1
jne 0x140144d2c
mov rcx, qword [rsp + 0x58]
not ecx
mov rax, qword [rsp + 0x28]
mov dword [rax + 8], ecx
jmp 0x1401440a7
test eax, eax
jne 0x140144d4c
test ebx, ebx
jle 0x140144d4c
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x50]
mov dword [rax], ecx
mov rcx, qword [rsp + 0x58]
not ecx
jmp 0x140144987
or ebx, eax
jne 0x1401440a7
mov rcx, qword [rsp + 0x50]
not ecx
mov rax, qword [rsp + 0x28]
mov dword [rax + 4], ecx
jmp 0x140144cfc
mov eax, r14d
mov r13, qword [rsp + 0xf8]
mov r8, qword [rsp + 0xf0]
mov edx, eax
mov ebp, dword [r15 + rdx*4]
test ebp, ebp
js 0x140144dbc
xor eax, eax
nop word cs:[rax + rax]
mov rcx, rdx
mov edx, ebp
mov word [r10 + rdx*2], cx
test ecx, ecx
jle 0x140144df8
mov ebp, dword [r15 + rcx*4 - 4]
dec eax
lea rdx, [rcx - 1]
test ebp, ebp
jns 0x140144d90
mov dword [r15 + rdx*4 + 4], eax
test ecx, 0xfffffffe
je 0x140144dfe
mov eax, edx
movsxd rcx, eax
lea rdx, [r15 + rcx*4]
mov ebp, dword [r15 + rcx*4]
inc ecx
nop dword [rax]
not ebp
mov dword [rdx], ebp
movsxd rbp, ebp
mov word [r10 + rbp*2], ax
mov ebp, dword [rdx - 4]
add rdx, 0xfffffffffffffffc
dec ecx
test ebp, ebp
js 0x140144dd0
mov word [r10 + rbp*2], ax
lea eax, [rcx - 2]
cmp ecx, 1
jg 0x140144d78
jmp 0x140144dfe
dec eax
mov dword [r15 + rcx*4], eax
mov rcx, r10
mov rdx, r15
mov r9d, 1
call fcn.1401481e0
mov rbx, qword [rsp + 0x48]
mov rax, r14
mov rdi, qword [rsp + 0x98]
jmp 0x140144e46
not ecx
movzx edx, word [rbx + rax*2]
mov dword [r15 + rdx*4], ecx
lea rcx, [rax - 1]
test rax, rax
mov rax, rcx
jle 0x140144e74
movsxd rcx, dword [r12 + rax*4]
test rcx, rcx
je 0x140144e70
mov rbp, qword [rsp + 0x30]
movzx edx, byte [rbp + rcx]
cmp byte [rcx + rbp - 1], dl
ja 0x140144e30
mov rbp, qword [rsp + 0x30]
cmp dl, byte [rcx + rbp + 1]
jae 0x140144e30
jmp 0x140144e32
xor ecx, ecx
jmp 0x140144e32
mov eax, dword [rsp + 0x190]
mov dword [rdi + 0x3fffc], eax
mov r9d, 0xfe
jmp 0x140144eb9
mov eax, r8d
or eax, r9d
lea edx, [r9 + 1]
cdqe
mov ebp, ecx
sub ebp, dword [rdi + rax*4]
inc ebp
or edx, r8d
movsxd rdx, edx
mov dword [rdi + rdx*4], ebp
mov dword [rdi + rax*4], ecx
sub r9, 1
jb 0x140144f99
mov r8d, r9d
shl r8d, 8
mov ecx, dword [r13 + r9*4 + 4]
dec ecx
mov ebp, 0xff
jmp 0x140144ee4
dec ebx
mov r14d, ebx
mov rdi, qword [rsp + 0x98]
dec ebp
cmp ebp, r9d
jbe 0x140144e90
mov eax, ecx
mov edx, ebp
shl edx, 8
or edx, r9d
movsxd rdx, edx
sub ecx, dword [rdi + rdx*4]
mov dword [rdi + rdx*4], eax
mov eax, ebp
or eax, r8d
cdqe
movsxd rbx, dword [rdi + rax*4]
cmp ebx, r14d
jg 0x140144edd
movsxd rcx, ecx
movsxd rsi, r14d
sub r14d, ebx
inc r14d
mov r10, rsi
sub r10, rbx
and r14, 3
je 0x140144f48
mov rax, r15
xor edx, edx
nop word cs:[rax + rax]
mov edi, dword [rax + rsi*4]
mov dword [rax + rcx*4], edi
inc rdx
add rax, 0xfffffffffffffffc
cmp r14, rdx
jne 0x140144f30
sub rsi, rdx
sub rcx, rdx
cmp r10, 3
jb 0x140144ed0
inc rsi
nop word cs:[rax + rax]
mov eax, dword [r15 + rsi*4 - 4]
mov dword [r15 + rcx*4], eax
mov eax, dword [r15 + rsi*4 - 8]
mov dword [r15 + rcx*4 - 4], eax
mov eax, dword [r15 + rsi*4 - 0xc]
mov dword [r15 + rcx*4 - 8], eax
mov eax, dword [r15 + rsi*4 - 0x10]
mov dword [r15 + rcx*4 - 0xc], eax
add rcx, 0xfffffffffffffffc
add rsi, 0xfffffffffffffffc
cmp rsi, rbx
jg 0x140144f60
jmp 0x140144ed0
lea r8, [r15 - 4]
mov r9d, 0xfe
mov r14, qword [rsp + 0x30]
jmp 0x140144fba
sub r9, 1
jb 0x14014506b
lea eax, [r9 + 1]
mov r10d, r9d
shl r10d, 8
or eax, r10d
cdqe
mov rcx, qword [rsp + 0x98]
movsxd rax, dword [rcx + rax*4]
lea r11, [r15 + rax*4]
movsxd rax, dword [r13 + r9*4 + 4]
lea rbx, [r8 + rax*4]
cmp r11, rbx
ja 0x140144fb0
mov eax, 0xffffffff
xor esi, esi
jmp 0x140145013
mov ecx, eax
mov dword [rsi], edi
add rsi, 0xfffffffffffffffc
mov eax, ecx
add rbx, 0xfffffffffffffffc
cmp r11, rbx
ja 0x140144fb0
mov edx, dword [rbx]
mov ecx, edx
not ecx
mov dword [rbx], ecx
test edx, edx
jle 0x14014500a
lea ebp, [rdx - 1]
movzx ecx, byte [r14 + rbp]
xor edi, edi
cmp edx, 1
je 0x14014503c
lea edi, [rdx - 2]
neg edx
cmp byte [r14 + rdi], cl
cmova ebp, edx
mov edi, ebp
cmp eax, ecx
je 0x140145000
test eax, eax
mov rdx, qword [rsp + 0x98]
js 0x14014505b
sub rsi, r15
shr rsi, 2
or eax, r10d
cdqe
mov dword [rdx + rax*4], esi
lea eax, [r10 + rcx]
cdqe
movsxd rax, dword [rdx + rax*4]
lea rsi, [r15 + rax*4]
jmp 0x140145002
mov rbx, qword [rsp + 0xd0]
lea rcx, [rbx - 1]
movzx eax, byte [r14 + rbx - 1]
mov edx, dword [rsp + 0x190]
mov rbp, rdx
neg edx
cmp byte [rbx + r14 - 2], al
cmovae edx, ecx
movsxd rcx, dword [r13 + rax*4]
mov dword [r15 + rcx*4], edx
test ebp, ebp
jle 0x14014510b
lea rdx, [r15 + rcx*4]
lea r8, [r15 + rbx*4]
add rdx, 4
mov rbp, r15
jmp 0x1401450be
not ebx
mov dword [rbp], ebx
add rbp, 4
cmp rbp, r8
jae 0x14014510b
mov ebx, dword [rbp]
test ebx, ebx
jle 0x1401450b0
mov esi, ebx
dec esi
movzx edi, byte [r14 + rsi]
je 0x1401450d9
lea ecx, [rbx - 2]
cmp byte [r14 + rcx], dil
jae 0x1401450dd
neg ebx
mov esi, ebx
cmp eax, edi
je 0x1401450fc
sub rdx, r15
shr rdx, 2
mov eax, eax
mov dword [r13 + rax*4], edx
mov eax, edi
movsxd rax, dword [r13 + rax*4]
lea rdx, [r15 + rax*4]
mov eax, edi
mov dword [rdx], esi
add rdx, 4
add rbp, 4
cmp rbp, r8
jb 0x1401450be
xor eax, eax
add rsp, 0x128
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret