Function at 0x140022c00
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x10], rdx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x2d8
mov r9, qword [rdx + 0x20]
mov r14, rcx
mov rax, qword [rdx]
mov r8, qword [rcx + 8]
movaps xmmword [rsp + 0x2c0], xmm6
movss xmm6, dword [0x140072e50]
mov byte [rsp + 0x338], 0
mov qword [r8 + 0x180], rax
mov qword [rcx + 0xd8], r9
mov qword [rcx + 0xd0], rdx
mov eax, dword [r9 + 0x10]
mov dword [rcx + 0xe0], eax
mov eax, dword [r9 + 0x18]
mov dword [rcx + 0xe4], eax
xor eax, eax
xor r9b, r9b
mov qword [rsp + 0x70], rax
mov byte [rsp + 0x330], r9b
mov r8, qword [r14 + 0xd8]
xor r10d, r10d
mov eax, dword [r14 + 0xe4]
mov ebx, r10d
movzx ebp, r9b
mov r11d, r10d
movzx edx, r9b
mov esi, r10d
shl edx, 3
mov r9d, r10d
mov ecx, edx
mov qword [rsp + 0x50], rbp
mov r15d, dword [r8 + rbp*4 + 0x2c]
mov edi, dword [r8 + rbp*4 + 0x3c]
shr eax, cl
movzx r13d, al
mov eax, dword [r8 + 0x14]
mov r12d, r13d
shr rax, cl
mov ecx, r10d
movzx eax, al
shl rax, 5
add rax, 0x4c
mov dword [rsp + 0x40], r13d
add rax, r8
mov dword [rsp + 0x30], r15d
mov qword [rsp + 0x58], rax
mov dword [rsp + 0x38], r10d
mov dword [rsp + 0x44], ecx
test r13d, r13d
je 0x140022e46
nop dword [rax]
nop dword [rax + rax]
mov r8d, esi
shl r8, 5
add r8, rax
mov edx, dword [r8 + 8]
test edx, 0x1c00
je 0x140022d43
mov ecx, edx
mov eax, edx
shr ecx, 0xd
and ecx, 3
shr eax, 0xc
test al, 1
cmovne ecx, r10d
bt r11d, ecx
jb 0x140023e52
bts r11d, ecx
mov qword [rsp + rcx*8 + 0x88], r8
mov ecx, dword [rsp + 0x44]
test edx, 0x40008
je 0x140022d5e
mov eax, r9d
inc r9d
mov dword [rsp + 0x38], r9d
mov qword [rsp + rax*8 + 0xc0], r8
mov eax, edx
shr eax, 0x10
test al, 1
je 0x140022d77
mov eax, ecx
inc ecx
mov dword [rsp + 0x44], ecx
mov qword [rsp + rax*8 + 0x1c0], r8
mov eax, edx
shr eax, 2
test al, 1
jne 0x140022d90
bts edx, 8
mov dword [r8 + 8], edx
dec r12d
jmp 0x140022e32
mov eax, edx
shr eax, 0xa
test al, 1
jne 0x140022e32
mov rax, qword [r14 + 0x50]
mov ecx, dword [r8]
movzx r9d, byte [rcx + rax]
movzx eax, byte [r8 + 0xe]
cmp al, 0xff
je 0x140022dfc
mov ecx, eax
mov r10d, 1
shl r10d, cl
cmp r9d, eax
jne 0x140022dee
bts edx, 8
mov dword [r8 + 8], edx
shr edx, 1
test dl, 1
je 0x140022de1
mov rcx, qword [r14 + 0x58]
mov eax, dword [rcx + rbp*4 + 0x10]
bts eax, r9d
mov dword [rcx + rbp*4 + 0x10], eax
dec r12d
or r15d, r10d
mov dword [rsp + 0x30], r15d
jmp 0x140022e2a
mov rax, qword [r14 + 0x58]
mov ecx, dword [rax + rbp*4]
and ecx, r10d
or ebx, ecx
jmp 0x140022e2a
cmp r9d, 0xff
je 0x140022e2d
mov ecx, r9d
mov r10d, 1
shl r10d, cl
mov eax, r15d
mov ecx, dword [r8 + 0x10]
not eax
and ecx, eax
test r10d, ecx
je 0x140022e27
mov byte [r8 + 0xe], r9b
jmp 0x140022dc2
or ebx, r10d
xor r10d, r10d
mov r9d, dword [rsp + 0x38]
mov rax, qword [rsp + 0x58]
inc esi
mov ecx, dword [rsp + 0x44]
cmp esi, r13d
jb 0x140022d00
mov dword [rsp + 0x48], r10d
test r11d, r11d
je 0x140023063
lea eax, [r11 + 1]
test r11d, eax
jne 0x140023e52
not r11d
bsf ecx, r11d
mov r11, qword [rsp + 0x88]
mov dword [rsp + 0x48], ecx
mov eax, dword [r11 + 8]
shr eax, 0xa
test al, 1
je 0x140023063
mov edx, dword [rsp + 0x30]
mov r13d, ebx
or r13d, dword [r14 + rbp*4 + 0x18]
not edx
and r13d, edx
mov dword [rsp + 0x320], r10d
mov r8d, r10d
mov r15d, 0xffffffff
test ecx, ecx
je 0x140022ee3
mov r10, qword [r14 + 0x50]
lea rdx, [rsp + 0xa8]
lea r8, [rsp + 0x88]
mov r9d, ecx
mov rax, qword [r8]
lea rdx, [rdx + 4]
lea r8, [r8 + 8]
mov ecx, dword [rax]
movzx eax, byte [rcx + r10]
mov dword [rdx - 4], eax
sub r9, 1
jne 0x140022ec0
mov r8d, dword [rsp + 0x320]
mov r9d, dword [r11 + 0x10]
mov eax, r9d
mov dword [rsp + 0x3c], r9d
test r9d, r9d
je 0x140023e59
mov ebp, dword [rsp + 0x48]
nop dword [rax]
bsf edx, eax
lea ecx, [rax - 1]
and eax, ecx
mov dword [rsp + 0x34], edx
bt r9d, edx
jae 0x140022fb0
mov esi, 0xf
test ebp, ebp
je 0x140022f8f
mov r11d, edx
mov r10d, edx
neg r11d
bt r13d, r10d
jae 0x140022fa3
lea ecx, [r11 + r10]
mov r9d, ecx
mov rcx, qword [rsp + rcx*8 + 0x88]
mov r8d, dword [rcx]
mov rcx, qword [r14]
mov rdx, qword [rcx + 0x140]
mov rcx, qword [rdx + r8*8]
xor r8d, r8d
movzx edx, byte [rcx + 0x4a]
cmp edx, r10d
mov edx, 2
sete r8b
xor ecx, ecx
cmp dword [rsp + r9*4 + 0xa8], r10d
cmove ecx, edx
inc r10d
add esi, ecx
add esi, r8d
lea ecx, [r11 + r10]
cmp ecx, ebp
jb 0x140022f28
mov edx, dword [rsp + 0x34]
mov r8d, dword [rsp + 0x320]
mov r9d, dword [rsp + 0x3c]
cmp esi, r8d
jbe 0x140022fb0
mov r8d, esi
mov dword [rsp + 0x320], esi
mov r15d, edx
jmp 0x140022fb0
mov r8d, dword [rsp + 0x320]
mov r9d, dword [rsp + 0x3c]
test eax, eax
jne 0x140022f00
mov rbp, qword [rsp + 0x50]
cmp r15d, 0xffffffff
je 0x140023e59
mov ecx, dword [rsp + 0x48]
mov esi, dword [rsp + 0x30]
test ecx, ecx
je 0x140023059
lea r10, [rsp + 0x88]
mov r11d, ecx
nop dword [rax]
nop word [rax + rax]
mov r8, qword [r10]
mov ecx, r15d
mov rax, qword [r14 + 0x50]
mov edx, 1
shl edx, cl
mov ecx, dword [r8]
movzx r9d, byte [rcx + rax]
mov byte [r8 + 0xe], r15b
cmp r9d, r15d
jne 0x140023039
mov eax, dword [r8 + 8]
bts eax, 8
mov dword [r8 + 8], eax
shr eax, 1
test al, 1
je 0x140023034
mov rcx, qword [r14 + 0x58]
mov eax, dword [rcx + rbp*4 + 0x10]
bts eax, r9d
mov dword [rcx + rbp*4 + 0x10], eax
dec r12d
jmp 0x140023044
mov rax, qword [r14 + 0x58]
mov ecx, dword [rax + rbp*4]
and ecx, edx
or ebx, ecx
or edx, esi
inc r15d
add r10, 8
mov esi, edx
sub r11, 1
jne 0x140022ff0
mov dword [rsp + 0x30], edx
mov r13d, dword [rsp + 0x40]
xor r10d, r10d
jmp 0x140023067
mov esi, dword [rsp + 0x30]
test r12d, r12d
je 0x14002336e
mov rax, qword [r14 + 0x58]
mov ecx, ebx
not ecx
mov r8d, dword [rax + rbp*4]
mov eax, r10d
and r8d, ecx
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x320], r8d
test r13d, r13d
je 0x14002336e
jmp 0x1400230a4
mov esi, dword [rsp + 0x30]
mov r15d, eax
shl r15, 5
add r15, qword [rsp + 0x58]
mov ecx, dword [r15 + 8]
mov eax, ecx
shr eax, 8
test al, 1
jne 0x14002335b
cmp byte [rsp + 0x338], 0
mov r10d, dword [r15]
mov rax, qword [r14 + 0x50]
movzx r9d, byte [rax + r10]
jne 0x1400231d3
shr ecx, 4
test cl, 1
je 0x1400231d3
cmp r9d, 0xff
jne 0x1400231d3
mov ecx, dword [r15 + 0x18]
test ecx, ecx
je 0x1400231d3
lea eax, [rcx - 1]
test ecx, eax
jne 0x1400231d3
mov r8, qword [r14]
movzx r13d, byte [r15 + 0xd]
bsf r11d, ecx
mov rax, qword [r8 + 0x140]
mov qword [rsp + 0x50], r8
mov rdx, qword [rax + r10*8]
mov qword [rsp + 0x60], rdx
mov rax, qword [rdx + 8]
cmp r13d, dword [rax + 8]
ja 0x1400231c6
mov esi, r11d
mov rcx, r8
shr rsi, 2
add rsi, 4
shl rsi, 4
add rsi, qword [rsp + 0x328]
call fcn.14000e940
mov rcx, qword [rsp + 0x50]
xor r10d, r10d
mov r8d, dword [rsp + 0x320]
shl r13d, 0x18
mov qword [rsp + 0x80], r10
mov eax, dword [rcx + 0x1d8]
shr eax, 3
and eax, 0x1f
mov byte [rsp + 0x338], 1
shl eax, 3
or eax, 0x2002
mov dword [rsp + 0x78], eax
mov rax, qword [rsp + 0x60]
mov eax, dword [rax + 4]
mov dword [rsp + 0x7c], eax
movups xmm0, xmmword [rsp + 0x78]
movups xmmword [rsi], xmm0
and dword [rsi], 0xffffff
or dword [rsi], r13d
or dword [r15 + 8], 0x100
dec r12d
mov dword [r15 + 0x18], r10d
jmp 0x140023356
mov r8d, dword [rsp + 0x320]
mov r13d, dword [rsp + 0x40]
cmp byte [r15 + 0xe], 0xff
jne 0x14002335b
mov rax, qword [r14]
mov edx, ebx
or edx, esi
not edx
and edx, dword [r15 + 0x10]
mov rcx, qword [rax + 0x140]
mov r11, qword [rcx + r10*8]
movzx eax, byte [r11 + 0x4a]
cmp al, 0xff
je 0x140023206
bt edx, eax
mov esi, eax
jb 0x140023212
mov eax, edx
and eax, dword [r11 + 0x38]
cmove eax, edx
bsf esi, eax
mov ecx, esi
mov byte [r15 + 0xe], sil
mov r13d, 1
shl r13d, cl
or dword [rsp + 0x30], r13d
mov eax, r13d
and eax, r8d
or ebx, eax
cmp r9d, 0xff
je 0x1400232eb
mov ecx, r9d
mov edx, 1
shl edx, cl
mov eax, edx
or ebx, edx
not eax
and r8d, eax
mov dword [rsp + 0x320], r8d
test r8d, r13d
jne 0x14002334b
cmp esi, r9d
je 0x1400232c8
mov rax, qword [r14 + 0x50]
mov r11d, r10d
mov r8d, esi
mov byte [r10 + rax], sil
mov rax, qword [r14 + rbp*8 + 0x60]
mov dword [rax + r9*4], 0xffffffff
mov rax, qword [r14 + rbp*8 + 0x60]
mov dword [rax + rsi*4], r10d
mov r10d, edx
mov rax, qword [r14 + 0x58]
bts r10d, esi
xor dword [rax + rbp*4], r10d
test dword [rax + rbp*4 + 0x10], edx
mov eax, 0
mov rcx, qword [r14 + 0x58]
mov edx, r11d
cmovne eax, r10d
xor dword [rcx + rbp*4 + 0x10], eax
mov rcx, qword [r14]
mov rax, qword [rcx]
call qword [rax + 0x40]
test eax, eax
jne 0x140023e36
mov r8d, dword [rsp + 0x320]
mov eax, dword [r15 + 8]
bts eax, 8
mov dword [r15 + 8], eax
shr eax, 1
test al, 1
je 0x140023348
mov rcx, qword [r14 + 0x58]
mov eax, dword [rcx + rbp*4 + 0x10]
bts eax, esi
mov dword [rcx + rbp*4 + 0x10], eax
jmp 0x140023348
test eax, eax
jne 0x14002334b
mov rax, qword [r14 + 0x50]
mov r8d, esi
mov edx, r10d
mov byte [r10 + rax], sil
mov rax, qword [r14 + rbp*8 + 0x60]
mov dword [rax + rsi*4], r10d
mov rax, qword [r14 + 0x58]
or dword [rax + rbp*4], r13d
mov rcx, qword [r14]
mov rax, qword [rcx]
call qword [rax + 0x50]
test eax, eax
jne 0x140023e36
mov eax, dword [r15 + 8]
bts eax, 8
mov dword [r15 + 8], eax
shr eax, 1
test al, 1
je 0x140023340
mov rcx, qword [r14 + 0x58]
mov eax, dword [rcx + rbp*4 + 0x10]
bts eax, esi
mov dword [rcx + rbp*4 + 0x10], eax
mov r8d, dword [rsp + 0x320]
dec r12d
or r8d, r13d
mov dword [rsp + 0x320], r8d
mov r13d, dword [rsp + 0x40]
mov eax, dword [rsp + 0x34]
inc eax
mov dword [rsp + 0x34], eax
cmp eax, r13d
jb 0x1400230a0
mov edx, dword [rsp + 0x30]
lea r13, [rbp*4]
mov eax, edi
or eax, edx
mov dword [rsp + 0x3c], eax
test ebx, ebx
je 0x14002350b
mov rax, qword [r14 + 0x58]
mov r15d, ebx
or r15d, dword [rax + r13]
or r15d, edi
or r15d, edx
not r15d
and r15d, dword [r14 + rbp*4 + 0x18]
nop dword [rax]
nop word [rax + rax]
mov rdx, qword [r14 + 0x58]
lea eax, [rbx - 1]
bsf r9d, ebx
mov esi, 1
and ebx, eax
mov ecx, r9d
shl esi, cl
test dword [rdx + r13], esi
je 0x140023503
mov rax, qword [r14 + rbp*8 + 0x60]
mov r10d, r9d
mov qword [rsp + 0x50], r10
mov r11d, dword [rax + r9*4]
mov qword [rsp + 0x320], r11
mov r8d, r11d
test r15d, r15d
je 0x1400234a7
mov rax, qword [r14]
mov rcx, qword [rax + 0x140]
mov rax, qword [rcx + r11*8]
movzx ecx, byte [rax + 0x4a]
cmp cl, 0xff
je 0x1400234a7
mov r13d, ecx
bt r15d, r13d
jae 0x14002349f
cmp r13d, 0xff
je 0x14002349f
cmp r13d, r9d
je 0x140023491
mov rax, qword [r14 + 0x50]
mov r10d, esi
bts r10d, r13d
mov edx, r11d
mov byte [r11 + rax], cl
mov rax, qword [r14 + rbp*8 + 0x60]
mov dword [rax + r9*4], 0xffffffff
mov rax, qword [r14 + rbp*8 + 0x60]
mov dword [rax + rcx*4], r11d
lea rcx, [rbp*4]
mov rax, qword [r14 + 0x58]
mov r8d, dword [rax + rbp*4 + 0x10]
xor dword [rax + rcx], r10d
mov eax, 0
mov rcx, qword [r14 + 0x58]
test r8d, esi
mov r8d, r13d
cmovne eax, r10d
xor dword [rcx + rbp*4 + 0x10], eax
mov rcx, qword [r14]
mov rax, qword [rcx]
call qword [rax + 0x40]
test eax, eax
jne 0x140023e36
btc r15d, r13d
lea r13, [rbp*4]
jmp 0x140023503
lea r13, [rbp*4]
mov eax, dword [rdx + rbp*4 + 0x10]
test esi, eax
je 0x1400234db
btr eax, r9d
mov r8d, r9d
mov dword [rdx + rbp*4 + 0x10], eax
mov edx, r11d
mov rcx, qword [r14]
mov rax, qword [rcx]
call qword [rax + 0x58]
test eax, eax
jne 0x140023e36
mov r8, qword [rsp + 0x320]
mov r10, qword [rsp + 0x50]
mov rax, qword [r14 + 0x50]
not esi
mov byte [r8 + rax], 0xff
mov rax, qword [r14 + rbp*8 + 0x60]
mov dword [rax + r10*4], 0xffffffff
mov rax, qword [r14 + 0x58]
and dword [rax + r13], esi
mov rax, qword [r14 + 0x58]
and dword [rax + rbp*4 + 0x10], esi
test ebx, ebx
jne 0x1400233b0
mov r11, r13
test r12d, r12d
je 0x140023816
mov ebx, dword [rsp + 0x40]
xor r9b, r9b
mov byte [rsp + 0x320], r9b
nop word [rax + rax]
xor eax, eax
mov dword [rsp + 0x50], r12d
mov dword [rsp + 0x34], eax
test ebx, ebx
je 0x1400237f4
nop dword [rax]
nop word [rax + rax]
mov ebx, eax
shl rbx, 5
add rbx, qword [rsp + 0x58]
mov eax, dword [rbx + 8]
shr eax, 8
test al, 1
jne 0x1400237de
mov r11d, dword [rbx]
mov rax, qword [r14 + 0x50]
movzx esi, byte [rbx + 0xe]
mov dword [rsp + 0x60], r11d
movzx r13d, byte [rax + r11]
mov rax, qword [r14 + rbp*8 + 0x60]
mov edx, dword [rax + rsi*4]
cmp edx, 0xffffffff
je 0x1400236dc
mov rax, qword [r14]
mov qword [rsp + 0x68], rdx
mov rcx, qword [rax + 0x140]
mov rax, qword [r14 + 0x10]
mov r15, qword [rcx + rdx*8]
test byte [rax + rbp + 0x10], 1
je 0x14002366c
cmp r13d, 0xff
je 0x14002366c
mov dword [rsp + 0x28], esi
mov r9d, r13d
mov dword [rsp + 0x20], edx
mov r8d, r11d
movzx edx, byte [rsp + 0x330]
mov rcx, r14
call fcn.140021e20
test eax, eax
jne 0x140023e36
mov eax, dword [rbx + 8]
bts eax, 8
mov dword [rbx + 8], eax
shr eax, 1
test al, 1
je 0x140023603
mov rcx, qword [r14 + 0x58]
mov eax, dword [rcx + rbp*4 + 0x10]
bts eax, esi
mov dword [rcx + rbp*4 + 0x10], eax
mov edx, dword [rsp + 0x40]
dec r12d
mov r8d, dword [r15]
xor eax, eax
test rdx, rdx
je 0x1400237d5
mov rcx, qword [rsp + 0x58]
nop dword [rax]
cmp dword [rcx], r8d
je 0x140023636
inc rax
add rcx, 0x20
cmp rax, rdx
jb 0x140023620
jmp 0x1400237d5
movzx eax, byte [rcx + 0xe]
cmp eax, r13d
jne 0x1400237d5
mov eax, dword [rcx + 8]
bts eax, 8
mov dword [rcx + 8], eax
shr eax, 1
test al, 1
je 0x1400237d2
mov rcx, qword [r14 + 0x58]
mov eax, dword [rcx + rbp*4 + 0x10]
bts eax, r13d
mov dword [rcx + rbp*4 + 0x10], eax
jmp 0x1400237d2
test r9b, r9b
je 0x1400237de
mov r8, qword [r14 + 0x58]
mov ecx, esi
mov r15d, 1
shl r15d, cl
mov eax, dword [r8 + rbp*4 + 0x10]
test r15d, eax
je 0x1400236af
btr eax, esi
mov dword [r8 + rbp*4 + 0x10], eax
mov r8d, esi
mov rcx, qword [r14]
mov rax, qword [rcx]
call qword [rax + 0x58]
test eax, eax
jne 0x140023e36
mov r11d, dword [rsp + 0x60]
mov rax, qword [r14 + 0x50]
not r15d
mov rcx, qword [rsp + 0x68]
mov byte [rcx + rax], 0xff
mov rax, qword [r14 + rbp*8 + 0x60]
mov dword [rax + rsi*4], 0xffffffff
mov rax, qword [r14 + 0x58]
and dword [rax + rbp*4], r15d
mov rax, qword [r14 + 0x58]
and dword [rax + rbp*4 + 0x10], r15d
mov edx, 4
mov r10, rbp
mov ecx, edx
mov rax, rbp
mov r8, rbp
lea r9d, [rdx + 1]
imul rdx, r10
lea r10, [rbp + r9]
lea r15, [rcx + rax]
cmp r13d, 0xff
je 0x14002377b
cmp esi, r13d
je 0x1400237b3
mov rax, qword [r14 + 0x50]
lea r15, [rbp + 4]
mov ecx, r11d
mov r10d, 1
mov r9d, r13d
mov byte [rcx + rax], sil
mov ecx, r13d
mov rax, qword [r14 + rbp*8 + 0x60]
shl r10d, cl
mov r8d, r10d
bts r8d, esi
mov dword [rax + r13*4], 0xffffffff
mov rax, qword [r14 + rbp*8 + 0x60]
mov dword [rax + rsi*4], r11d
mov rax, qword [r14 + 0x58]
mov edx, dword [rax + r15*4]
xor dword [rax + rbp*4], r8d
mov eax, 0
mov rcx, qword [r14 + 0x58]
test r10d, edx
mov edx, r11d
cmovne eax, r8d
mov r8d, esi
xor dword [rcx + r15*4], eax
mov rcx, qword [r14]
mov rax, qword [rcx]
call qword [rax + 0x40]
jmp 0x1400237ab
mov rax, qword [r14 + 0x50]
mov r8d, esi
mov ecx, r11d
mov byte [rcx + rax], sil
mov rax, qword [r14 + r10*8 + 0x38]
mov dword [rax + rsi*4], r11d
mov rcx, qword [r14 + 0x58]
mov eax, dword [rdx + rcx]
bts eax, esi
mov dword [rdx + rcx], eax
mov edx, r11d
mov rcx, qword [r14]
mov rax, qword [rcx]
call qword [rax + 0x50]
test eax, eax
jne 0x140023e36
mov eax, dword [rbx + 8]
bts eax, 8
mov dword [rbx + 8], eax
shr eax, 1
test al, 1
je 0x1400237d2
mov rcx, qword [r14 + 0x58]
mov eax, dword [rcx + r15*4]
bts eax, esi
mov dword [rcx + r15*4], eax
dec r12d
movzx r9d, byte [rsp + 0x320]
mov eax, dword [rsp + 0x34]
mov ebx, dword [rsp + 0x40]
inc eax
mov dword [rsp + 0x34], eax
cmp eax, ebx
jb 0x140023550
cmp dword [rsp + 0x50], r12d
sete r9b
mov byte [rsp + 0x320], r9b
test r12d, r12d
jne 0x140023530
lea r11, [rbp*4]
mov eax, dword [rsp + 0x38]
lea r12, [rbp*4]
mov r13d, eax
cmp eax, 1
jb 0x1400238a5
lea r9, [rsp + 0xc0]
mov ebx, eax
nop dword [rax]
nop dword [rax + rax]
mov r10, qword [r9]
mov rax, qword [r14 + 0x50]
mov ecx, dword [r10]
movzx r8d, byte [rcx + rax]
cmp r8d, 0xff
je 0x140023889
mov byte [rcx + rax], 0xff
mov edx, 1
mov rax, qword [r14 + rbp*8 + 0x60]
mov ecx, r8d
shl edx, cl
not edx
mov dword [rax + r8*4], 0xffffffff
mov rax, qword [r14 + 0x58]
and dword [r11 + rax], edx
mov rax, qword [r14 + 0x58]
and dword [rax + rbp*4 + 0x10], edx
btr edi, r8d
mov eax, dword [r10 + 8]
add r9, 8
shr eax, 3
mov r11, r12
not al
and eax, 1
sub r13d, eax
sub rbx, 1
jne 0x140023840
test edi, edi
je 0x140023926
nop dword [rax]
bsf r8d, edi
lea eax, [rdi - 1]
and edi, eax
mov r15d, r8d
mov rax, qword [r14 + rbp*8 + 0x60]
mov esi, dword [rax + r8*4]
cmp esi, 0xffffffff
je 0x140023922
mov rdx, qword [r14 + 0x58]
mov ecx, r8d
mov ebx, 1
shl ebx, cl
mov eax, dword [rdx + rbp*4 + 0x10]
test ebx, eax
je 0x1400238fb
btr eax, r8d
mov dword [rdx + rbp*4 + 0x10], eax
mov edx, esi
mov rcx, qword [r14]
mov rax, qword [rcx]
call qword [rax + 0x58]
test eax, eax
jne 0x140023e36
mov rax, qword [r14 + 0x50]
not ebx
mov byte [rsi + rax], 0xff
mov rax, qword [r14 + rbp*8 + 0x60]
mov dword [rax + r15*4], 0xffffffff
mov rax, qword [r14 + 0x58]
and dword [r12 + rax], ebx
mov rax, qword [r14 + 0x58]
and dword [rax + rbp*4 + 0x10], ebx
test edi, edi
jne 0x1400238b0
mov eax, dword [rsp + 0x44]
test eax, eax
je 0x14002397a
lea r15, [rsp + 0x1c0]
mov r12d, eax
nop dword [rax]
mov rax, qword [r15]
mov ebx, dword [rax + 0x10]
mov esi, dword [rax]
movzx edi, byte [rax + 0xe]
test ebx, ebx
je 0x140023970
bsf r8d, ebx
lea eax, [rbx - 1]
and ebx, eax
cmp r8d, edi
je 0x14002396c
mov rcx, qword [r14]
mov r9d, edi
mov edx, esi
mov rax, qword [rcx]
call qword [rax + 0x40]
test ebx, ebx
jne 0x140023950
add r15, 8
sub r12, 1
jne 0x140023940
mov rcx, qword [rsp + 0x328]
cmp byte [rcx + 0x10], 0x12
jne 0x140023a57
cmp byte [rsp + 0x330], 1
jne 0x140023a57
mov rax, qword [r14 + 0x58]
mov ebx, dword [rcx + rbp*4 + 0xa4]
and ebx, dword [rax + rbp*4]
je 0x140023a57
movzx r12d, byte [rcx + rbp + 0x8c]
nop word [rax + rax]
bsf r8d, ebx
lea eax, [rbx - 1]
and ebx, eax
mov esi, r8d
mov rax, qword [r14 + rbp*8 + 0x60]
mov edx, dword [rax + r8*4]
mov rax, qword [r14]
mov r15d, edx
mov rcx, qword [rax + 0x140]
mov rax, qword [rcx + rdx*8]
mov rcx, qword [rax + 8]
cmp dword [rcx + 8], r12d
jbe 0x140023a4f
mov r9, qword [r14 + 0x58]
mov ecx, r8d
mov edi, 1
shl edi, cl
mov eax, dword [r9 + rbp*4 + 0x10]
test edi, eax
je 0x140023a21
btr eax, r8d
mov dword [r9 + rbp*4 + 0x10], eax
mov rcx, qword [r14]
mov rax, qword [rcx]
call qword [rax + 0x58]
test eax, eax
jne 0x140023e36
mov rax, qword [r14 + 0x50]
lea rcx, [rbp*4]
not edi
mov byte [r15 + rax], 0xff
mov rax, qword [r14 + rbp*8 + 0x60]
mov dword [rax + rsi*4], 0xffffffff
mov rax, qword [r14 + 0x58]
and dword [rcx + rax], edi
mov rax, qword [r14 + 0x58]
and dword [rax + rbp*4 + 0x10], edi
test ebx, ebx
jne 0x1400239c0
test r13d, r13d
je 0x140023e08
mov edx, dword [rsp + 0x3c]
xor esi, esi
mov rax, qword [r14 + 0x58]
not edx
mov r8d, dword [rsp + 0x30]
and edx, r8d
mov r13d, dword [rsp + 0x48]
mov dword [rsp + 0x320], esi
mov r11d, dword [rax + rbp*4]
mov dword [rsp + 0x330], r11d
mov dword [rsp + 0x44], edx
test r13d, r13d
je 0x140023b80
mov rcx, qword [rsp + 0x88]
mov eax, dword [rcx + 8]
shr eax, 0xb
test al, 1
je 0x140023b80
mov r12d, dword [rcx + 0x14]
mov eax, edx
mov edi, dword [r14 + rbp*4 + 0x18]
not eax
and edi, eax
xor r15d, r15d
mov esi, 0xffffffff
mov eax, r12d
test r12d, r12d
je 0x140023e59
bsf ebx, eax
lea ecx, [rax - 1]
and eax, ecx
bt r12d, ebx
jae 0x140023b34
xor r9d, r9d
mov r11d, 0xf
test r13d, r13d
je 0x140023b2a
nop
lea r10d, [rbx + r9]
bt edi, r10d
jae 0x140023b34
mov rdx, qword [rsp + r9*8 + 0x88]
mov rcx, qword [r14]
mov r8d, dword [rdx]
mov rdx, qword [rcx + 0x140]
mov rcx, qword [rdx + r8*8]
movzx edx, byte [rcx + 0x4a]
xor ecx, ecx
cmp edx, r10d
sete cl
inc r9d
add r11d, ecx
cmp r9d, r13d
jb 0x140023af0
cmp r11d, r15d
jbe 0x140023b34
mov r15d, r11d
mov esi, ebx
test eax, eax
jne 0x140023ad2
cmp esi, 0xffffffff
je 0x140023e59
xor edx, edx
test r13d, r13d
je 0x140023b6d
lea r8, [rsp + 0x88]
mov rax, qword [r8]
lea ecx, [rdx + rsi]
inc edx
lea r8, [r8 + 8]
mov byte [rax + 0xf], cl
cmp edx, r13d
jb 0x140023b50
mov esi, dword [rsp + 0x320]
jmp 0x140023b6f
mov esi, edx
mov r8d, dword [rsp + 0x30]
mov edx, dword [rsp + 0x44]
mov r11d, dword [rsp + 0x330]
xor r10d, r10d
mov dword [rsp + 0x34], r10d
cmp dword [rsp + 0x38], r10d
jbe 0x140023e00
nop dword [rax]
nop word [rax + rax]
mov r15, qword [rsp + r10*8 + 0xc0]
mov ecx, dword [r15 + 8]
mov eax, ecx
shr eax, 3
test al, 1
je 0x140023de4
mov edi, dword [r15]
mov r9d, r8d
mov rax, qword [r14 + 0x50]
lea r8, [r14 + 0x38]
shr ecx, 0xf
mov r13d, edi
test cl, 1
mov r12, rbp
movzx ecx, byte [rax + rdi]
cmove r9d, edx
cmp ecx, 0xff
je 0x140023c0f
mov rax, qword [r8 + 0x18]
mov edx, 1
shl edx, cl
not edx
mov byte [rax + rdi], 0xff
mov rax, qword [r8 + rbp*8 + 0x28]
mov dword [rax + rcx*4], 0xffffffff
mov rax, qword [r8 + 0x20]
and dword [rax + rbp*4], edx
mov rax, qword [r8 + 0x20]
and dword [rax + rbp*4 + 0x10], edx
movzx ebx, byte [r15 + 0xf]
cmp ebx, 0xff
jne 0x140023d71
mov eax, esi
mov edx, r11d
or eax, r9d
not edx
not eax
and eax, dword [r15 + 0x14]
and edx, eax
jne 0x140023d47
and eax, r11d
bsf ebx, eax
lea ecx, [rax - 1]
and eax, ecx
mov r9d, ebx
mov rcx, qword [r14 + rbp*8 + 0x60]
mov edi, dword [rcx + rbx*4]
je 0x140023cd2
mov rcx, qword [r14]
mov r10, qword [rcx + 0x140]
mov rdx, qword [r10 + rdi*8]
movss xmm0, dword [rdx + 0x64]
mov rdx, qword [r14 + 0x58]
mulss xmm0, xmm6
mov ecx, dword [rdx + r12*4 + 0x10]
bt ecx, r9d
cvttss2si r8d, xmm0
jae 0x140023c86
add r8d, 0x40000
mov r11, qword [r14 + rbp*8 + 0x60]
mov esi, ecx
nop dword [rax]
bsf edx, eax
lea ecx, [rax - 1]
and eax, ecx
bt esi, edx
mov r9d, dword [r11 + rdx*4]
mov rcx, qword [r10 + r9*8]
movss xmm0, dword [rcx + 0x64]
mulss xmm0, xmm6
cvttss2si ecx, xmm0
jae 0x140023cb8
add ecx, 0x40000
cmp ecx, r8d
cmovae r9d, edi
cmovae edx, ebx
cmovae ecx, r8d
mov edi, r9d
mov ebx, edx
mov r8d, ecx
test eax, eax
jne 0x140023c90
mov rdx, qword [r14 + 0x58]
mov ecx, ebx
mov esi, 1
shl esi, cl
mov eax, dword [rdx + r12*4 + 0x10]
test esi, eax
je 0x140023d06
btr eax, ebx
mov r8d, ebx
mov dword [rdx + r12*4 + 0x10], eax
mov edx, edi
mov rcx, qword [r14]
mov rax, qword [rcx]
call qword [rax + 0x58]
test eax, eax
jne 0x140023e36
mov rax, qword [r14 + 0x50]
lea r8, [r14 + 0x38]
mov r10d, dword [rsp + 0x34]
lea r9, [rbp*4]
mov ecx, edi
not esi
mov edi, r13d
mov byte [rcx + rax], 0xff
mov rax, qword [r8 + rbp*8 + 0x28]
mov ecx, ebx
mov dword [rax + rcx*4], 0xffffffff
mov rax, qword [r8 + 0x20]
and dword [r9 + rax], esi
mov rax, qword [r8 + 0x20]
and dword [rax + r12*4 + 0x10], esi
jmp 0x140023d79
mov rax, qword [r14]
mov rcx, qword [rax + 0x140]
mov r9, qword [rcx + rdi*8]
movzx eax, byte [r9 + 0x4a]
cmp al, 0xff
je 0x140023d65
bt edx, eax
mov ebx, eax
jb 0x140023d71
mov eax, edx
and eax, dword [r9 + 0x38]
cmove eax, edx
bsf ebx, eax
lea r9, [rbp*4]
mov eax, dword [r15 + 8]
shr eax, 0x12
test al, 1
jne 0x140023db0
mov rax, qword [r8 + 0x18]
mov edx, 1
mov ecx, ebx
mov byte [rax + r13], bl
mov rax, qword [r8 + rbp*8 + 0x28]
mov dword [rax + rcx*4], edi
mov ecx, ebx
mov rax, qword [r8 + 0x20]
shl edx, cl
or dword [r9 + rax], edx
mov rax, qword [r8 + 0x20]
or dword [rax + r12*4 + 0x10], edx
mov esi, dword [rsp + 0x320]
movzx eax, bl
mov r11d, dword [rsp + 0x330]
bts esi, ebx
or dword [r15 + 8], 0x100
btr r11d, ebx
mov byte [r15 + 0xf], bl
mov dword [rsp + 0x330], r11d
mov dword [rsp + 0x320], esi
mov edx, dword [rsp + 0x44]
inc r10d
mov r8d, dword [rsp + 0x30]
mov dword [rsp + 0x34], r10d
cmp r10d, dword [rsp + 0x38]
jb 0x140023ba0
mov eax, dword [rsp + 0x3c]
or eax, esi
jmp 0x140023e0c
mov eax, dword [rsp + 0x3c]
mov r10, qword [rsp + 0x70]
or dword [r14 + rbp*4 + 0x28], eax
inc r10b
mov qword [rsp + 0x70], r10
movzx r9d, r10b
mov byte [rsp + 0x330], r10b
cmp r10b, 4
jne 0x140022c79
xor eax, eax
movaps xmm6, xmmword [rsp + 0x2c0]
add rsp, 0x2d8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov eax, 3
jmp 0x140023e36
mov eax, 0x3d
jmp 0x140023e36