Function at 0x402540
Capabilities:
Set registry value

Disassembly:
mov eax, 0x1948
call fcn.00412900
mov eax, dword [0x43d68c]
xor eax, esp
mov dword [esp + 0x1944], eax
push ebx
push ebp
push esi
mov esi, dword [esp + 0x1958]
push edi
lea eax, [esp + 0x1c]
push eax
push esi
mov dword [0x453500], 0x190
call dword [sym.imp.USER32.dll_GetWindowRect]
push esi
call dword [sym.imp.USER32.dll_IsIconic]
mov edi, dword [sym.imp.USER32.dll_IsZoomed]
test eax, eax
jne 0x4025bb
push esi
call edi
test eax, eax
jne 0x4025bb
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
sub edx, eax
mov dword [0x453504], eax
mov eax, dword [esp + 0x28]
sub eax, ecx
mov dword [0x453508], ecx
mov dword [0x45350c], edx
mov dword [0x453510], eax
push esi
call edi
mov dl, byte [0x440c07]
mov edi, dword [sym.imp.USER32.dll_SendMessageA]
test eax, eax
mov al, byte [0x43d379]
setne cl
mov byte [0x453525], cl
mov byte [0x453568], dl
mov byte [0x453569], al
xor esi, esi
mov ecx, dword [0x449850]
push 0
push esi
push 0x101d
push ecx
call edi
mov dword [esi*4 + 0x453514], eax
inc esi
cmp esi, 3
jl 0x4025e7
movzx eax, byte [0x440c04]
mov edx, dword [0x440c20]
movzx ecx, byte [0x440c05]
mov dword [0x453520], edx
movzx edx, byte [0x43d378]
mov byte [0x4536a2], al
movzx eax, byte [0x440c06]
mov byte [0x453720], cl
movzx ecx, byte [0x43d367]
mov byte [0x453527], dl
movzx edx, byte [0x43d375]
mov byte [0x453528], al
movzx eax, byte [0x43d366]
mov byte [0x453524], cl
movzx ecx, byte [0x43d374]
mov byte [0x45359d], dl
movzx edx, byte [0x43d376]
mov byte [0x4536cc], al
movzx eax, byte [0x43d377]
mov byte [0x453526], cl
mov byte [0x453529], dl
movzx edx, byte [0x44972c]
mov byte [0x453594], al
mov eax, dword [0x4490a0]
mov ecx, 0xf
mov esi, 0x452340
mov edi, 0x45352c
rep movsd dword es:[edi], dword [esi]
movzx ecx, byte [0x4490f0]
mov byte [0x45356a], cl
mov ecx, dword [0x44f420]
mov byte [0x45356b], dl
mov edx, dword [0x4490a4]
mov dword [0x45356c], eax
mov eax, dword [0x44f424]
mov dword [0x453580], ecx
mov ecx, dword [0x4490a8]
mov dword [0x453570], edx
mov edx, dword [0x44f428]
mov dword [0x453584], eax
mov eax, dword [0x4490ac]
mov dword [0x453574], ecx
mov ecx, dword [0x44f42c]
mov dword [0x453588], edx
mov edx, dword [0x4490b0]
mov dword [0x453578], eax
mov eax, dword [0x44f430]
mov dword [0x45358c], ecx
mov ecx, dword [0x4490b4]
mov dword [0x45357c], edx
mov edx, dword [0x44f434]
mov dword [0x453590], eax
mov eax, dword [0x4490b8]
mov dword [0x4536a4], ecx
mov ecx, dword [0x44f438]
mov dword [0x4536b8], edx
mov edx, dword [0x4490bc]
mov dword [0x4536a8], eax
mov eax, dword [0x44f43c]
mov dword [0x4536bc], ecx
mov ecx, dword [0x4490c0]
mov dword [0x4536ac], edx
mov edx, dword [0x44f440]
mov dword [0x4536c0], eax
mov eax, dword [0x4490c4]
mov dword [0x4536b0], ecx
mov ecx, dword [0x44f444]
mov dword [0x4536c4], edx
mov edx, dword [0x4490c8]
mov dword [0x4536b4], eax
mov eax, dword [0x44f448]
mov dword [0x4536c8], ecx
mov ecx, dword [0x4490cc]
mov dword [0x4536d0], edx
mov edx, dword [0x44f44c]
mov dword [0x4536f8], eax
mov eax, dword [0x4490d0]
mov dword [0x4536d4], ecx
mov ecx, dword [0x44f450]
mov dword [0x4536fc], edx
mov dword [0x4536d8], eax
mov edx, dword [0x4490d4]
mov eax, dword [0x44f454]
mov dword [0x453700], ecx
mov ecx, dword [0x4490d8]
mov dword [0x4536dc], edx
mov edx, dword [0x44f458]
mov dword [0x453704], eax
mov eax, dword [0x4490dc]
mov dword [0x4536e0], ecx
mov ecx, dword [0x44f45c]
mov dword [0x453708], edx
mov edx, dword [0x4490e0]
mov dword [0x4536e4], eax
mov eax, dword [0x44f460]
mov dword [0x45370c], ecx
mov ecx, dword [0x4490e4]
mov dword [0x4536e8], edx
mov edx, dword [0x44f464]
mov dword [0x453710], eax
mov eax, dword [0x4490e8]
mov dword [0x4536ec], ecx
mov ecx, dword [0x44f468]
mov dword [0x453714], edx
mov edx, dword [0x4490ec]
mov dword [0x4536f0], eax
mov eax, dword [0x44f46c]
mov dword [0x453718], ecx
movzx ecx, byte [0x440c08]
mov dword [0x4536f4], edx
movzx edx, byte [0x440c09]
mov dword [0x45371c], eax
mov eax, dword [0x440c0c]
mov dword [0x453598], eax
mov byte [0x45359c], cl
mov byte [0x4536cd], dl
xor eax, eax
jmp 0x4028b0
mov cl, byte [eax + 0x4523a0]
mov byte [eax + 0x45359e], cl
inc eax
test cl, cl
jne 0x4028b0
lea edi, [esp + 0x2c]
mov byte [esp + 0x2c], cl
mov dword [esp + 0x14], edi
mov esi, 0x449220
cmp byte [esi], 0
je 0x402911
mov edx, edi
mov eax, esi
sub edx, esi
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4028e0
mov eax, edi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4028f0
sub eax, edx
lea ecx, [edi + eax + 1]
add esi, 0x101
cmp esi, 0x449725
mov dword [esp + 0x14], ecx
mov edi, ecx
jl 0x4028d2
mov byte [edi], 0
lea edi, [esp + 0xf44]
mov byte [esp + 0xf44], 0
mov dword [esp + 0x18], edi
mov esi, 0x44ba20
lea esp, [esp]
cmp byte [esi], 0
je 0x402971
mov edx, edi
mov eax, esi
sub edx, esi
jmp 0x402940
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x402940
mov eax, edi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x402950
sub eax, edx
lea edx, [edi + eax + 1]
add esi, 0x100
cmp esi, 0x44bf20
mov dword [esp + 0x18], edx
mov edi, edx
jl 0x402930
mov byte [edi], 0
mov byte [esp + 0x534], 0
lea ebx, [esp + 0x534]
mov esi, 0x44f480
cmp byte [esi], 0
je 0x4029bd
mov edx, ebx
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x402993
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4029a2
sub eax, edx
add esi, 0x100
cmp esi, 0x44f980
lea ebx, [ebx + eax + 1]
jl 0x402988
mov byte [ebx], 0
mov byte [esp + 0xa3c], 0
lea ebp, [esp + 0xa3c]
mov esi, 0x44fb00
cmp byte [esi], 0
je 0x402a0b
mov edx, ebp
mov eax, esi
sub edx, esi
nop
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x4029e0
mov eax, ebp
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4029f0
sub eax, edx
add esi, 0x100
cmp esi, 0x450000
lea ebp, [eax + ebp + 1]
jl 0x4029d4
mov byte [ebp], 0
mov byte [esp + 0x144c], 0
lea esi, [esp + 0x144c]
mov edi, 0x450f20
mov edx, esi
mov eax, edi
sub edx, edi
lea esp, [esp]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x402a30
mov eax, esi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x402a40
sub eax, edx
add edi, 0x100
cmp edi, 0x452320
lea esi, [esi + eax + 1]
jl 0x402a23
mov byte [esi], cl
cmp byte [esp + 0x1960], cl
je 0x402b45
lea eax, [esp + 0x10]
push eax
push str.SoftwareSysinternalsDbgView
push reloc.WS2_32.dll_accept
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyA]
mov ecx, dword [esp + 0x10]
mov edi, dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
push 0x224
push 0x453500
push 3
push 0
push str.Settings
push ecx
call edi
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x2c]
sub eax, edx
inc eax
push eax
mov eax, edx
push eax
push 3
push 0
push str.Recent
push ecx
call edi
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0xf44]
sub eax, edx
inc eax
push eax
mov eax, edx
push eax
push 3
push 0
push str.InFilters
push ecx
call edi
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x534]
sub ebx, edx
inc ebx
push ebx
mov eax, edx
push eax
push 3
push 0
push str.ExFilters
push ecx
call edi
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0xa3c]
sub ebp, edx
inc ebp
push ebp
mov eax, edx
push eax
push 3
push 0
push str.HiFilters
push ecx
call edi
mov ecx, dword [esp + 0x10]
lea edx, [esp + 0x144c]
sub esi, edx
inc esi
push esi
mov eax, edx
push eax
push 3
push 0
push str.HiCurFilters
push ecx
call edi
mov edx, dword [esp + 0x10]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [esp + 0x1954]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.004126a4
add esp, 0x1948
ret