Function at 0x5029f0
Capabilities:
Hide graphical window
Query or enumerate registry value

Disassembly:
push 0xffffffffffffffff
push 0x657a88
mov eax, dword fs:[0]
push eax
sub esp, 0x94
mov eax, dword [0x758898]
xor eax, esp
mov dword [esp + 0x90], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x758898]
xor eax, esp
push eax
lea eax, [esp + 0xa8]
mov dword fs:[0], eax
mov esi, ecx
call fcn.005f6b34
push 0x5f5
mov ecx, esi
mov dword [esi + 0x1e4], esi
mov dword [esi + 0x1e8], 0x5f5
call fcn.005f5a75
mov eax, dword [eax + 0x20]
mov dword [esi + 0x1e0], eax
push 0x543
mov ecx, esi
mov dword [esi + 0x1f4], esi
mov dword [esi + 0x1f8], 0x543
call fcn.005f5a75
mov ecx, dword [eax + 0x20]
mov dword [esi + 0x1f0], ecx
push 0x546
mov ecx, esi
mov dword [esi + 0x204], esi
mov dword [esi + 0x208], 0x546
call fcn.005f5a75
mov edx, dword [eax + 0x20]
mov dword [esi + 0x200], edx
push 0x53f
mov ecx, esi
mov dword [esi + 0x214], esi
mov dword [esi + 0x218], 0x53f
call fcn.005f5a75
mov eax, dword [eax + 0x20]
mov dword [esi + 0x210], eax
push 0x541
mov ecx, esi
mov dword [esi + 0x274], esi
mov dword [esi + 0x278], 0x541
call fcn.005f5a75
mov ecx, dword [eax + 0x20]
mov dword [esi + 0x270], ecx
push 0x4e6
mov ecx, esi
mov dword [esi + 0x284], esi
mov dword [esi + 0x288], 0x4e6
call fcn.005f5a75
mov edx, dword [eax + 0x20]
mov dword [esi + 0x280], edx
push 0x4f4
mov ecx, esi
mov dword [esi + 0x294], esi
mov dword [esi + 0x298], 0x4f4
call fcn.005f5a75
mov eax, dword [eax + 0x20]
mov dword [esi + 0x290], eax
push 0x4f1
mov ecx, esi
mov dword [esi + 0x224], esi
mov dword [esi + 0x228], 0x4f1
call fcn.005f5a75
mov ecx, dword [eax + 0x20]
mov dword [esi + 0x220], ecx
push 0x4f3
mov ecx, esi
mov dword [esi + 0x234], esi
mov dword [esi + 0x238], 0x4f3
call fcn.005f5a75
mov edx, dword [eax + 0x20]
mov dword [esi + 0x230], edx
push 0x4f0
mov ecx, esi
mov dword [esi + 0x244], esi
mov dword [esi + 0x248], 0x4f0
call fcn.005f5a75
mov eax, dword [eax + 0x20]
mov dword [esi + 0x240], eax
push 0x4f2
mov ecx, esi
mov dword [esi + 0x254], esi
mov dword [esi + 0x258], 0x4f2
call fcn.005f5a75
mov ecx, dword [eax + 0x20]
mov dword [esi + 0x250], ecx
mov dword [esi + 0x264], esi
mov dword [esi + 0x268], 0x542
push 0x542
mov ecx, esi
call fcn.005f5a75
mov edx, dword [eax + 0x20]
mov dword [esi + 0x260], edx
push 0x732
mov ecx, esi
mov dword [esi + 0x2a4], esi
mov dword [esi + 0x2a8], 0x732
call fcn.005f5a75
mov eax, dword [eax + 0x20]
mov dword [esi + 0x2a0], eax
cmp dword [esi + 0x2b8], 0
je 0x502c36
lea ecx, [esi + 0x2b0]
push ecx
push 1
push 0
push 0
push 0
push esi
call fcn.0045b550
add esp, 0x18
jmp 0x502c3f
push esi
call fcn.0045bf70
add esp, 4
mov edx, dword [esi + 0x20]
mov ebx, dword [sym.imp.USER32.dll_SendMessageA]
push 0
push 0
push 0x31
push edx
call ebx
push eax
call fcn.005fe202
test eax, eax
je 0x502d01
mov edx, dword [eax + 4]
lea ecx, [esp + 0x58]
push ecx
push 0x3c
push edx
call dword [sym.imp.GDI32.dll_GetObjectA]
test eax, eax
je 0x502d01
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
mov ecx, 0x3ff
and ax, cx
mov edx, 4
cmp dx, ax
je 0x502c98
mov dword [esp + 0x68], 0x258
mov eax, dword [esi + 0x20]
push eax
call dword [sym.imp.USER32.dll_GetDC]
push eax
call fcn.005fdf46
mov ecx, dword [eax + 4]
push 0x48
push 0x5a
push ecx
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push eax
push 9
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov edx, dword [0x678e3c]
mov cl, byte [0x678e42]
neg eax
mov dword [esp + 0x74], edx
mov dword [esp + 0x58], eax
mov ax, word [0x678e40]
lea edx, [esp + 0x58]
push edx
mov word [esp + 0x7c], ax
mov byte [esp + 0x7e], cl
call dword [sym.imp.GDI32.dll_CreateFontIndirectA]
test eax, eax
je 0x502d01
push 1
push eax
mov eax, dword [esi + 0x1e0]
push 0x30
push eax
call ebx
cmp dword [0x75dd30], 0
je 0x502e0d
mov ecx, dword [esi + 0x280]
mov ebp, dword [sym.imp.USER32.dll_GetWindowTextLengthA]
push ecx
call ebp
push 0x8d
mov edi, eax
push esi
mov ecx, 0x75dcf0
mov dword [esp + 0x20], edi
call fcn.004e6a60
mov edx, dword [esi + 0x280]
push edx
call ebp
mov ebp, eax
xor eax, eax
cmp ebp, eax
je 0x502db3
cmp edi, eax
je 0x502db3
mov ecx, dword [esi + 0x280]
lea eax, [esp + 0x24]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetWindowRect]
lea edx, [esp + 0x24]
push edx
mov ecx, esi
call fcn.005fdc97
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x24]
sub eax, edi
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
add ebp, 5
mov dword [esp + 0x14], ebp
fimul dword [esp + 0x14]
fidiv dword [esp + 0x18]
call fcn.00622df0
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x30]
push 0
add eax, edi
sub ecx, edx
push ecx
mov ecx, dword [esi + 0x280]
mov dword [esp + 0x34], eax
sub eax, edi
push eax
push edx
push edi
push ecx
call dword [sym.imp.USER32.dll_MoveWindow]
xor eax, eax
xor edx, edx
mov dword [esp + 0x34], eax
mov dword [esp + 0x3c], eax
mov word [esp + 0x38], dx
mov dword [esp + 0xb0], eax
mov eax, dword [0x75dd28]
mov ecx, dword [0x75eda4]
push eax
push ecx
lea ecx, [esp + 0x3c]
call fcn.00401970
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x502deb
lea eax, [esp + 0x38]
mov edx, dword [esi + 0x1e0]
push eax
push edx
call dword [sym.imp.USER32.dll_SetWindowTextW]
mov dword [esp + 0xb0], 0xffffffff
lea ecx, [esp + 0x34]
call fcn.00401210
mov eax, dword [0x75dd78]
push eax
lea ecx, [esp + 0x20]
push 0x67942c
push ecx
call fcn.00623a6b
mov eax, dword [esi + 0x1a8]
add esp, 0xc
lea edx, [esp + 0x1c]
push edx
push 0xffffffffffffffff
push 0x14d
push eax
call ebx
mov ecx, dword [esi + 0x88]
mov eax, dword [ecx + 0xc]
test eax, eax
jle 0x502e6d
push 0xa
lea edx, [esp + 0x98]
push edx
push eax
call fcn.00628c9e
add esp, 0xc
lea eax, [esp + 0x94]
push eax
lea ecx, [esi + 0x8c]
call fcn.005f5bdf
mov ecx, dword [esi + 0x88]
mov eax, dword [ecx + 0x10]
test eax, eax
jle 0x502ea0
push 0xa
lea edx, [esp + 0x98]
push edx
push eax
call fcn.00628c74
add esp, 0xc
lea eax, [esp + 0x94]
push eax
lea ecx, [esi + 0xe0]
call fcn.005f5bdf
mov ecx, dword [esi + 0x88]
mov eax, dword [ecx + 8]
mov edx, dword [esi + 0x280]
push 0
push eax
push 0xf1
push edx
call ebx
mov eax, dword [esi + 0x88]
mov eax, dword [eax + 0x14]
mov ecx, dword [esi + 0x290]
push 0
push eax
push 0xf1
push ecx
call ebx
mov edx, dword [esi + 0x88]
mov eax, dword [edx + 8]
push eax
mov ecx, esi
call fcn.00501ab0
mov ecx, dword [esi + 0x154]
push 0x61
push 0
push 0x1036
push ecx
call ebx
mov ebp, 0x60
push 0
mov ebx, 0xd2
mov dword [esp + 0x1c], 0x32
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], ebp
call dword [sym.imp.USER32.dll_GetDC]
mov edi, eax
test edi, edi
je 0x502f44
push 0x58
push edi
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push 0x5a
mov ebp, eax
push edi
mov dword [esp + 0x40], ebp
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push edi
push 0
mov dword [esp + 0x44], eax
call dword [sym.imp.USER32.dll_ReleaseDC]
mov byte [esp + 0x34], 1
cmp ebp, 0x60
je 0x502f9f
cmp dword [esi + 0x2b8], 0
je 0x502f5f
fld qword [esi + 0x2b0]
jmp 0x502f61
fld1
sub esp, 8
fstp qword [esp]
push 0xd2
lea ecx, [esp + 0x40]
call fcn.004a0e60
cmp dword [esi + 0x2b8], 0
mov ebx, eax
je 0x502f88
fld qword [esi + 0x2b0]
jmp 0x502f8a
fld1
sub esp, 8
fstp qword [esp]
push 0x32
lea ecx, [esp + 0x40]
call fcn.004a0e60
mov edi, eax
jmp 0x502fa3
mov edi, dword [esp + 0x18]
xor eax, eax
xor edx, edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x54], eax
mov word [esp + 0x50], dx
mov dword [esp + 0xb0], 1
mov eax, dword [0x75dd28]
mov ecx, dword [0x75efe4]
push eax
push ecx
lea ecx, [esp + 0x54]
call fcn.00401970
mov eax, dword [esp + 0x4c]
xor ebp, ebp
cmp eax, ebp
jne 0x502fe3
lea eax, [esp + 0x50]
mov edx, dword [esi + 0x154]
push eax
push ebx
push ebp
push edx
call fcn.0040cf40
xor eax, eax
add esp, 0x10
mov dword [esp + 0x40], ebp
mov dword [esp + 0x48], ebp
mov word [esp + 0x44], ax
mov byte [esp + 0xb0], 2
mov ecx, dword [0x75dd28]
mov edx, dword [0x75efe8]
push ecx
push edx
lea ecx, [esp + 0x48]
call fcn.00401970
mov eax, dword [esp + 0x40]
cmp eax, ebp
jne 0x50302f
lea eax, [esp + 0x44]
push eax
mov eax, dword [esi + 0x154]
push edi
push 1
push eax
call fcn.0040cf40
mov eax, dword [0x75dd6c]
add esp, 0x10
cmp eax, ebp
jle 0x503087
xor edi, edi
lea ecx, [ecx]
test edi, edi
jl 0x503167
cmp ebp, eax
jge 0x503167
mov eax, dword [0x75dd68]
mov edx, dword [edi + eax + 8]
mov ecx, dword [edi + eax]
mov eax, dword [edi + eax + 4]
push edx
push ecx
push eax
mov ecx, esi
call fcn.00502350
mov eax, dword [0x75dd6c]
inc ebp
add edi, 0xc
cmp ebp, eax
jl 0x503050
cmp dword [0x75dbb8], 0
mov bl, 1
je 0x503106
lea ecx, [esp + 0x14]
push ecx
push 1
push 0
push str.SYSTEMCurrentControlSetControlSecurityProvidersSCHANNELProtocolsTLS_1.3Client
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x503106
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x24]
push eax
push 0
push 0
push str.Enabled
push ecx
mov dword [esp + 0x30], 4
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x5030f7
cmp dword [esp + 0x20], 1
jne 0x5030f7
mov edx, dword [esi + 0x2a0]
push eax
push 1
push 0xf1
push edx
call dword [sym.imp.USER32.dll_SendMessageA]
xor bl, bl
mov eax, dword [esp + 0x14]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test bl, bl
je 0x503115
mov ecx, dword [esi + 0x2a0]
push 0
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
mov byte [esp + 0xb0], 1
lea ecx, [esp + 0x40]
call fcn.00401210
mov dword [esp + 0xb0], 0xffffffff
lea ecx, [esp + 0x4c]
call fcn.00401210
mov eax, 1
mov ecx, dword [esp + 0xa8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x90]
xor ecx, esp
call fcn.00620b8d
add esp, 0xa0
ret
call fcn.005f4f65
int3