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

Disassembly:
push rbp
lea rbp, [rsp - 0x230]
sub rsp, 0x330
mov rax, qword [section..data]
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 [0x1400097b8], rax
test rax, rax
je 0x140001eda
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 [0x1400097c8], rax
mov rax, qword [0x140007f98]
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 [0x1400097b0], 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, [0x140006790]
mov rbx, r14
lea rdi, [0x140007790]
call qword [sym.imp.USER32.dll_CreateMenu]
mov qword [rbx], rax
add rbx, 8
cmp rbx, rdi
jl 0x140001a55
mov rbx, r13
lea rdi, [0x140007fa0]
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 + rdi], rax
add rbx, 8
cmp rbx, 0x800
jl 0x140001a71
mov rbx, rdi
lea rsi, [0x1400087a0]
movabs r14, 0x303030000000
mov rcx, qword [rbx]
mov edx, 0x58
movabs r8, 0x2080000000000
call qword [sym.imp.USER32.dll_SetWindowLongPtrW]
mov rcx, qword [rbx]
mov r8, r14
mov edx, 0x80
call qword [sym.imp.USER32.dll_SetWindowLongPtrW]
add rbx, 8
cmp rbx, rsi
jl 0x140001ad6
mov esi, 0x20
nop dword [rax]
lea r15d, [rsi + rsi]
movsxd rax, r15d
lea rcx, str.USER32.DLL
lea r12, [rax*8]
mov rdi, qword [r12 + rdi]
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 0x140001b5f
mov rax, qword [rax]
jmp 0x140001b62
mov rax, r13
sub rax, qword [0x1400097a8]
lea rdi, [0x140007fa0]
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 0x140001bb8
mov rax, qword [rax]
jmp 0x140001bbb
mov rax, r13
sub rax, qword [0x1400097a8]
sub r14, qword [rax + 0x20]
cmp r14, 0x250
jne 0x140001cc9
movsxd rax, r15d
lea rcx, str.USER32.DLL
lea r15, [0x140007fa0]
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 r14, [rax + rdx*8]
test r14, r14
je 0x140001c1e
mov r14, qword [r14]
jmp 0x140001c21
mov r14, r13
sub r14, qword [0x1400097a8]
lea rcx, str.USER32.DLL
mov rdi, qword [r12 + r15]
mov r14, qword [r14 + 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 0x140001c6c
mov rax, qword [rax]
jmp 0x140001c6f
mov rax, r13
sub rax, qword [0x1400097a8]
sub r14, qword [rax + 0x20]
cmp r14, 0x250
jne 0x140001cd0
lea eax, [rsi + rsi]
movsxd r8, eax
lea rcx, str.USER32.DLL
mov rdi, qword [r15 + r8*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 rdx, [rax + rdx*8]
test rdx, rdx
je 0x140001ce8
mov rdx, qword [rdx]
jmp 0x140001ceb
lea r15, [0x140007fa0]
cmp esi, 0x5f
je 0x140001d0b
inc esi
cmp esi, 0x60
jge 0x140001d02
lea rdi, [0x140007fa0]
jmp 0x140001b10
mov rdx, r13
sub rdx, qword [0x1400097a8]
add si, si
mov word [0x140006668], si
mov rdx, qword [rdx + 0x20]
jmp 0x140001d0e
mov rdx, qword [0x140006788]
jmp 0x140001d15
mov rdx, r13
mov qword [0x140006788], rdx
movzx ecx, word [0x140006668]
add rdx, 0xffffffffffffff43
mov rax, qword [0x1400097b0]
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]
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 0x140001d70
lea rdi, [0x1400066c8]
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 0x140001df0
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 [0x140006670], 0x302000
mov rcx, qword [rbp + 0x200]
xor rcx, rsp
call fcn.140002550
add rsp, 0x330
pop rbp
ret