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

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x40]
sub rsp, 0x140
mov rax, qword [0x140077048]
xor rax, rsp
mov qword [rbp + 0x30], rax
mov r13, rcx
xor ebx, ebx
xorps xmm0, xmm0
movups xmmword [rbp - 0x50], xmm0
mov qword [rbp - 0x40], 6
mov eax, 0xf
mov qword [rbp - 0x38], rax
mov eax, dword [str.iCells]
mov dword [rbp - 0x50], eax
movzx eax, word [0x14006c9b0]
mov word [rbp - 0x4c], ax
mov byte [rbp - 0x4a], bl
lea rdx, [rbp - 0x50]
call fcn.140026b00
mov r15, rax
cmp byte [rax + 0x5c], bl
je 0x14002293f
mov r15b, 1
jmp 0x1400230cf
mov qword [rax + 0x10], rbx
mov dword [rax], ebx
mov dword [rax + 4], 2
mov word [rax + 0x60], 0x100
mov byte [rax + 0x5d], 1
mov byte [rax + 0x5f], 1
xorps xmm0, xmm0
movdqu xmmword [rsp + 0x48], xmm0
mov qword [rsp + 0x58], rbx
movups xmmword [rbp + 0x10], xmm0
mov ecx, 0x50
call fcn.140030044
mov rdi, rax
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x20], 0x4a
mov qword [rbp + 0x28], 0x4f
movaps xmm0, xmmword [str.44_8B_0D_F9_01_00_00_41_83_F9_FF_74_07_45_89_88_s1_00_00_45_8B_88_s1_00_00]
movups xmmword [rax], xmm0
movaps xmm1, xmmword [0x14006c9d0]
movups xmmword [rax + 0x10], xmm1
movaps xmm0, xmmword [0x14006c9e0]
movups xmmword [rax + 0x20], xmm0
movaps xmm1, xmmword [0x14006c9f0]
movups xmmword [rax + 0x30], xmm1
movsd xmm0, qword [0x14006ca00]
movsd qword [rax + 0x40], xmm0
movzx eax, word [0x14006ca08]
mov word [rdi + 0x48], ax
mov byte [rdi + 0x4a], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x10], xmm0
mov ecx, 0x20
call fcn.140030044
mov rsi, rax
mov qword [rbp - 0x10], rax
mov qword [rbp], 0x11
mov r12d, 0x1f
mov qword [rbp + 8], r12
movups xmm0, xmmword [str.45_8B_88_s1_00_00]
movups xmmword [rax], xmm0
movzx eax, byte [0x14006ca20]
mov byte [rsi + 0x10], al
mov byte [rsi + 0x11], 0
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
lea ecx, [r12 + 0x41]
call fcn.140030044
mov rbx, rax
mov qword [rbp - 0x30], rax
mov qword [rbp - 0x20], 0x57
mov r14d, 0x5f
mov qword [rbp - 0x18], r14
movaps xmm0, xmmword [str.45_8B_88_s1_00_00__89____33___89____3B__0F_8D___00_00__8B__18__33___8A]
movups xmmword [rax], xmm0
movaps xmm1, xmmword [0x14006ca40]
movups xmmword [rax + 0x10], xmm1
movaps xmm0, xmmword [0x14006ca50]
movups xmmword [rax + 0x20], xmm0
movaps xmm1, xmmword [0x14006ca60]
movups xmmword [rax + 0x30], xmm1
movaps xmm0, xmmword [0x14006ca70]
movups xmmword [rax + 0x40], xmm0
mov eax, dword [0x14006ca80]
mov dword [rbx + 0x50], eax
movzx eax, word [0x14006ca84]
mov word [rbx + 0x54], ax
movzx eax, byte [0x14006ca86]
mov byte [rbx + 0x56], al
mov byte [rbx + 0x57], 0
xor eax, eax
mov dword [r15], eax
cmp dword [r15 + 4], 2
je 0x140022aa8
mov dword [r15 + 4], eax
lea rcx, [r15 + 0x68]
lea rax, [rbp - 0x30]
cmp rcx, rax
je 0x140022acb
mov r8d, 0x57
mov rdx, rbx
call fcn.140001f20
mov r14, qword [rbp - 0x18]
mov rbx, qword [rbp - 0x30]
lea rcx, [r15 + 0x88]
lea rax, [rbp - 0x10]
cmp rcx, rax
je 0x140022af1
mov r8d, 0x11
mov rdx, rsi
call fcn.140001f20
mov r12, qword [rbp + 8]
mov rsi, qword [rbp - 0x10]
lea rcx, [r15 + 0xa8]
lea rax, [rbp + 0x10]
cmp rcx, rax
je 0x140022b13
mov r8d, 0x4a
mov rdx, rdi
call fcn.140001f20
mov rdi, qword [rbp + 0x10]
cmp r14, 0x10
jb 0x140022b4b
lea rdx, [r14 + 1]
mov rax, rbx
cmp rdx, 0x1000
jb 0x140022b42
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002313d
mov rcx, rbx
call fcn.140030010
nop
cmp r12, 0x10
jb 0x140022b84
lea rdx, [r12 + 1]
mov rax, rsi
cmp rdx, 0x1000
jb 0x140022b7b
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140023143
mov rcx, rsi
call fcn.140030010
nop
mov rdx, qword [rbp + 0x28]
cmp rdx, 0x10
jb 0x140022bbe
inc rdx
mov rax, rdi
cmp rdx, 0x1000
jb 0x140022bb6
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140023149
mov rcx, rdi
call fcn.140030010
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], 2
mov ebx, 0xf
mov qword [rsp + 0x78], rbx
movzx eax, word [0x14006c1f8]
mov word [rsp + 0x60], ax
mov byte [rsp + 0x62], 0
lea rax, [rsp + 0x60]
mov qword [rsp + 0x40], rax
movups xmmword [rbp - 0x80], xmm0
xor r12d, r12d
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], rbx
mov byte [rbp - 0x80], r12b
lea rdx, [rsp + 0x60]
lea r8d, [rbx - 0xd]
lea rcx, [rbp - 0x80]
call fcn.140001f20
movdqa xmm0, xmmword [0x14006d3a0]
movdqu xmmword [rbp - 0x60], xmm0
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x140022c63
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140022c5e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002314f
call fcn.140030010
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], rbx
mov byte [rsp + 0x60], 0
lea r8, [rbp - 0x80]
xor edx, edx
lea rcx, [rsp + 0x48]
call fcn.1400277f0
nop
mov rdx, qword [rbp - 0x68]
cmp rdx, 0x10
jb 0x140022cbe
inc rdx
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140022cb9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002314f
call fcn.140030010
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r12
mov r14, qword [rsp + 0x50]
mov rcx, r14
mov rsi, qword [rsp + 0x48]
sub rcx, rsi
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rdi, rdx
sar rdi, 3
mov rax, rdi
shr rax, 0x3f
add rdi, rax
je 0x140022da8
movabs rax, 0x555555555555555
cmp rdi, rax
ja 0x140023155
mov rdx, rdi
call fcn.140027780
mov rbx, rax
mov qword [rbp - 0x80], rax
mov qword [rbp - 0x78], rax
lea rcx, [rdi + rdi*2]
shl rcx, 4
add rcx, rax
mov qword [rbp - 0x70], rcx
lea rax, [rbp - 0x80]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], rbx
lea rax, [rbp - 0x80]
mov qword [rsp + 0x70], rax
cmp rsi, r14
je 0x140022d99
lea rdi, [rsi + 0x24]
nop dword [rax + rax]
lea rdx, [rdi - 0x24]
mov rcx, rbx
call fcn.140001e00
mov eax, dword [rdi - 4]
mov dword [rbx + 0x20], eax
mov eax, dword [rdi]
mov dword [rbx + 0x24], eax
mov eax, dword [rdi + 4]
mov dword [rbx + 0x28], eax
mov eax, dword [rdi + 8]
mov dword [rbx + 0x2c], eax
add rbx, 0x30
mov qword [rsp + 0x68], rbx
lea rdi, [rdi + 0x30]
lea rax, [rdi - 0x24]
cmp rax, r14
jne 0x140022d60
mov rdx, rbx
mov rcx, rbx
call fcn.140027250
mov qword [rbp - 0x78], rbx
lea r8, [rbp - 0x80]
mov rdx, r15
lea rcx, [r13 + 0xf8]
call fcn.14002b630
test al, al
jne 0x140022dc7
xor r15b, r15b
jmp 0x14002300d
mov rdx, qword [r15 + 0x10]
mov rax, qword [r13 + 0x168]
test rax, rax
jne 0x140022ddf
mov rcx, r12
jmp 0x140022e71
mov rcx, qword [rax + 0x80]
test rcx, rcx
jne 0x140022e27
lea r8, [0x14007a4b0]
cmp qword [0x14007a4c8], 8
cmovae r8, qword [0x14007a4b0]
lea rdx, [0x14007a690]
cmp qword [0x14007a6a8], 8
cmovae rdx, qword [0x14007a690]
xor r9d, r9d
call qword [sym.imp.USER32.dll_MessageBoxW]
mov rcx, r12
jmp 0x140022e71
mov r8d, 0x800
cmp rdx, 0x10
jne 0x140022e45
mov rdx, qword [rax + 0x48]
lea rcx, [r13 + 0xf8]
call fcn.14002b020
jmp 0x140022e6e
test rdx, rdx
je 0x140022e58
lea rcx, [r13 + 0xf8]
call fcn.14002b020
jmp 0x140022e6e
mov dword [rsp + 0x20], 0x40
xor edx, edx
mov r9d, 0x3000
call qword [0x14007a2c0]
mov rcx, rax
mov qword [r15 + 0x18], rcx
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], 1
mov qword [rsp + 0x78], 0xf
movzx eax, byte [0x14006ca88]
mov byte [rsp + 0x60], al
mov byte [rsp + 0x61], 0
lea rdi, [rcx + 0x200]
lea rdx, [rsp + 0x60]
mov rcx, r13
call fcn.140026c30
mov rbx, rax
mov rcx, qword [0x14007a3a8]
test rcx, rcx
je 0x140022ef3
mov dword [rsp + 0x40], 0xffffffff
mov rcx, qword [rcx + 0x70]
test rcx, rcx
je 0x140022ef3
mov qword [rsp + 0x20], r12
mov r9d, 4
lea r8, [rsp + 0x40]
mov rdx, rdi
mov rcx, qword [rcx + 0x80]
call qword [0x14007a2b0]
mov qword [rbx + 0x10], rdi
mov dword [rbx + 0x3c], 1
mov ecx, dword [rbx + 0x4c]
mov edx, 1
cmp ecx, 0x7fffffff
je 0x140022f17
cmp ecx, edx
jge 0x140022f17
mov dword [rbx + 0x3c], ecx
mov edx, ecx
mov r8d, dword [rbx + 0x50]
cmp r8d, 0x80000000
je 0x140022f30
mov eax, dword [rbx + 0x3c]
cmp edx, ecx
cmovl eax, r8d
mov dword [rbx + 0x3c], eax
mov dword [rbx + 0x40], 0xffffffff
mov byte [rbx + 0x60], 1
mov byte [rbx + 0x5e], 0
mov dword [rbx], 2
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x140022f82
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140022f7d
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14002315b
call fcn.140030010
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], 1
mov qword [rsp + 0x78], 0xf
movzx eax, byte [0x14006ca88]
mov byte [rsp + 0x60], al
mov byte [rsp + 0x61], 0
lea rdx, [rsp + 0x60]
mov rcx, r13
call fcn.140026c30
mov dword [rax + 8], 1
mov rdx, qword [rsp + 0x78]
cmp rdx, 0x10
jb 0x140022ffd
inc rdx
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140022ff8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140023161
call fcn.140030010
lea rdx, [rbp - 0x50]
mov rcx, r13
call fcn.140023600
movzx r15d, al
test rsi, rsi
je 0x1400230cf
cmp rsi, r14
je 0x140023076
lea rbx, [rsi + 0x18]
nop
mov rdx, qword [rbx]
cmp rdx, 0x10
jb 0x14002305a
mov rcx, qword [rbx - 0x18]
inc rdx
cmp rdx, 0x1000
jb 0x140023055
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140023167
mov rcx, r8
call fcn.140030010
mov qword [rbx - 8], r12
mov qword [rbx], 0xf
mov byte [rbx - 0x18], 0
add rbx, 0x30
lea rcx, [rbx - 0x18]
cmp rcx, r14
jne 0x140023020
mov rcx, qword [rsp + 0x58]
sub rcx, rsi
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 3
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*2]
shl rdx, 4
mov rax, rsi
cmp rdx, 0x1000
jb 0x1400230c6
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140023167
mov rcx, rsi
call fcn.140030010
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 0x10
jb 0x140023106
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140023101
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140023137
call fcn.140030010
movzx eax, r15b
mov rcx, qword [rbp + 0x30]
xor rcx, rsp
call fcn.14002fff0
lea r11, [rsp + 0x140]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
call fcn.140036a68
nop
call fcn.140036a68
nop
call fcn.140036a68
nop
call fcn.140036a68
int3
call fcn.140036a68
int3
call fcn.1400120c0
int3
call fcn.140036a68
int3
call fcn.140036a68
nop
call fcn.140036a68
int3