Function at 0x1400014f0
Capabilities:
Allocate or change rwx memory
Link many functions at runtime

Disassembly:
push rbp
lea rbp, [rsp - 0x230]
sub rsp, 0x330
mov rax, qword [0x140005008]
xor rax, rsp
mov qword [rbp + 0x200], rax
mov edx, 0x10000
mov ecx, 0x300000
mov r9d, 0x40
mov r8d, 0x3000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov qword [0x140008778], rax
test rax, rax
je 0x140001b4a
mov qword [rsp + 0x340], rbx
xor edx, edx
mov qword [rsp + 0x348], rsi
mov r8d, 0x10000
mov qword [rsp + 0x350], rdi
mov rcx, rax
mov qword [rsp + 0x328], r12
mov qword [rsp + 0x320], r13
mov qword [rsp + 0x318], r14
mov qword [rsp + 0x310], r15
call sub.VCRUNTIME140.dll_memset
mov qword [0x304150], 0x304150
lea rsi, str.NormalClass
mov qword [0x304180], 0x305300
lea rcx, [rsp + 0x60]
mov qword [0x304360], 0x304370
xor r13d, r13d
mov qword [0x304368], 0x304168
mov eax, 0x304140
mov qword [0x304170], rax
xorps xmm0, xmm0
mov qword [0x304370], 0x304170
mov qword [0x304378], 4
mov qword [rax], rax
mov qword [0x305308], 0x11
mov qword [0x305310], 0x305320
mov qword [0x305340], 0x29d0000
mov qword [0x305370], 0x306500
mov qword [0x305380], 0x4a8f8
mov qword [0x305358], 0x306600
mov qword [0x140008788], rax
mov rax, qword [0x140006f58]
mov qword [0x304198], rax
movabs rax, 0x1000000000020000
mov qword [0x305330], rax
mov rax, qword [sym.imp.USER32.dll_DefWindowProcW]
mov qword [rsp + 0x68], rax
mov qword [0x140008770], 0x305300
mov dword [rsp + 0x70], r13d
movdqa xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r13
mov qword [rbp - 0x58], r13
mov dword [rsp + 0x60], 0x50
mov dword [rsp + 0x64], 3
mov dword [rsp + 0x74], 0xe0
mov qword [rsp + 0x78], r13
mov qword [rbp - 0x68], r13
mov qword [rbp - 0x60], rsi
call qword [sym.imp.USER32.dll_RegisterClassExW]
lea r14, [0x140005740]
mov rbx, r14
lea rdi, [0x140006740]
call qword [sym.imp.USER32.dll_CreateMenu]
mov qword [rbx], rax
add rbx, 8
cmp rbx, rdi
jl 0x1400016c5
mov rbx, r13
lea r12, [0x140006f60]
mov rax, qword [rbx + r14]
mov r9d, 0x10000000
mov qword [rsp + 0x58], r13
xor r8d, r8d
mov qword [rsp + 0x50], r13
mov rdx, rsi
mov qword [rsp + 0x48], rax
xor ecx, ecx
mov qword [rsp + 0x40], r13
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x30], r13d
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r13d
call qword [sym.imp.USER32.dll_CreateWindowExW]
mov qword [rbx + r12], rax
add rbx, 8
cmp rbx, 0x800
jl 0x1400016e1
mov rbx, r12
lea rdi, [0x140007760]
movabs rsi, 0x303030000000
mov rcx, qword [rbx]
mov edx, 0x58
movabs r8, 0x2080000000000
call qword [sym.imp.USER32.dll_SetWindowLongPtrW]
mov rcx, qword [rbx]
mov r8, rsi
mov edx, 0x80
call qword [sym.imp.USER32.dll_SetWindowLongPtrW]
add rbx, 8
cmp rbx, rdi
jl 0x140001746
mov esi, 0x20
nop dword [rax]
lea r15d, [rsi + rsi]
movsxd rax, r15d
lea rcx, str.USER32.DLL
mov rdi, qword [r12 + rax*8]
lea r12, [r12 + rax*8]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rcx, rax
lea rdx, str.IsMenu
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rax, qword [rbx + 0xbd688]
movzx ecx, di
lea rdx, [rcx + rcx*2]
lea rax, [rax + rdx*8]
test rax, rax
je 0x1400017cb
mov rax, qword [rax]
jmp 0x1400017ce
mov rax, r13
sub rax, qword [0x140008768]
lea rdi, [0x140006f60]
lea rcx, str.USER32.DLL
mov r14, qword [rax + 0x20]
movsxd rax, r15d
mov rdi, qword [rdi + rax*8 - 8]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rcx, rax
lea rdx, str.IsMenu
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rax, qword [rbx + 0xbd688]
movzx ecx, di
lea rdx, [rcx + rcx*2]
lea rax, [rax + rdx*8]
test rax, rax
je 0x140001824
mov rax, qword [rax]
jmp 0x140001827
mov rax, r13
sub rax, qword [0x140008768]
sub r14, qword [rax + 0x20]
cmp r14, 0x250
jne 0x14000192f
movsxd rax, r15d
lea rcx, str.USER32.DLL
lea r15, [0x140006f60]
mov rdi, qword [r15 + rax*8 + 8]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rcx, rax
lea rdx, str.IsMenu
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rax, qword [rbx + 0xbd688]
movzx ecx, di
lea rdx, [rcx + rcx*2]
lea rax, [rax + rdx*8]
test rax, rax
je 0x14000188a
mov rax, qword [rax]
jmp 0x14000188d
mov rax, r13
sub rax, qword [0x140008768]
lea rcx, str.USER32.DLL
mov rdi, qword [r12]
mov r14, qword [rax + 0x20]
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rcx, rax
lea rdx, str.IsMenu
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rax, qword [rbx + 0xbd688]
movzx ecx, di
lea rdx, [rcx + rcx*2]
lea rax, [rax + rdx*8]
test rax, rax
je 0x1400018d8
mov rax, qword [rax]
jmp 0x1400018db
mov rax, r13
sub rax, qword [0x140008768]
sub r14, qword [rax + 0x20]
cmp r14, 0x250
jne 0x140001936
mov rdi, qword [r12]
lea rcx, str.USER32.DLL
call qword [sym.imp.KERNEL32.dll_LoadLibraryA]
mov rcx, rax
lea rdx, str.IsMenu
mov rbx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rax, qword [rbx + 0xbd688]
movzx ecx, di
lea rdx, [rcx + rcx*2]
lea rdx, [rax + rdx*8]
test rdx, rdx
je 0x14000194e
mov rdx, qword [rdx]
jmp 0x140001951
lea r15, [0x140006f60]
cmp esi, 0x5f
je 0x140001971
inc esi
cmp esi, 0x60
jge 0x140001968
lea r12, [0x140006f60]
jmp 0x140001780
mov rdx, r13
sub rdx, qword [0x140008768]
add si, si
mov word [0x140005628], si
mov rdx, qword [rdx + 0x20]
jmp 0x140001974
mov rdx, qword [0x140006f48]
jmp 0x14000197b
mov rdx, r13
mov qword [0x140006f48], rdx
movzx ecx, word [0x140005628]
add rdx, 0xffffffffffffff43
mov rax, qword [0x140008770]
mov rcx, qword [r15 + rcx*8]
mov qword [rax + 0x58], rdx
call qword [sym.imp.USER32.dll_DestroyWindow]
xor edx, edx
lea rcx, [rbp]
mov r8d, 0x200
call sub.VCRUNTIME140.dll_memset
mov r15, qword [rsp + 0x310]
mov ebx, 9
mov r14, qword [rsp + 0x318]
mov edi, ebx
mov r12, qword [rsp + 0x328]
mov rsi, qword [rsp + 0x348]
nop word [rax + rax]
xorps xmm0, xmm0
mov dword [rbp - 0x4c], r13d
mov r8d, edi
movdqa xmmword [rbp - 0x30], xmm0
lea rdx, str.A_A_d
mov qword [rbp - 0x20], r13
lea rcx, [rbp]
mov qword [rbp - 8], r13
call qword [sym.imp.USER32.dll_wsprintfW]
mov rax, qword [sym.imp.USER32.dll_DefWindowProcW]
xor ecx, ecx
mov qword [rbp - 0x48], rax
mov dword [rbp - 0x50], 0x50
mov dword [rbp - 0x3c], 0x20
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
lea rcx, [rbp - 0x50]
mov qword [rbp - 0x18], r13
mov qword [rbp - 0x38], rax
lea rax, [rbp]
mov qword [rbp - 0x10], rax
mov dword [rbp - 0x40], 0x1a0
call qword [sym.imp.USER32.dll_RegisterClassExW]
inc edi
cmp edi, 0x1d
jl 0x1400019e0
lea rdi, [0x140005688]
nop dword [rax + rax]
mov r8d, ebx
lea rdx, str.A_A_d
lea rcx, [rbp]
call qword [sym.imp.USER32.dll_wsprintfW]
mov qword [rsp + 0x58], r13
lea rdx, [rbp]
mov qword [rsp + 0x50], r13
mov r9d, 0x10000000
mov qword [rsp + 0x48], r13
xor r8d, r8d
mov qword [rsp + 0x40], r13
xor ecx, ecx
mov dword [rsp + 0x38], r13d
mov dword [rsp + 0x30], r13d
mov dword [rsp + 0x28], r13d
mov dword [rsp + 0x20], r13d
call qword [sym.imp.USER32.dll_CreateWindowExW]
inc ebx
mov qword [rdi], rax
lea rdi, [rdi + 8]
cmp ebx, 0x1d
jl 0x140001a60
mov r13, qword [rsp + 0x320]
mov rdi, qword [rsp + 0x350]
mov rbx, qword [rsp + 0x340]
mov qword [0x302098], 0x302300
mov qword [0x302300], 0x302000
mov qword [0x302028], 0x302200
mov qword [0x30222c], 1
mov qword [0x302050], 0x304000
mov dword [0x302034], 1
mov dword [0x302038], 1
mov dword [0x30203c], 1
mov dword [0x302040], 1
mov qword [0x140005630], 0x302000
mov rcx, qword [rbp + 0x200]
xor rcx, rsp
call fcn.1400021c0
add rsp, 0x330
pop rbp
ret