Function at 0x4c2240
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x575a92
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x4c
mov dword [ebp - 0x58], ecx
mov eax, dword [ebp + 8]
push eax
push 0x66
mov ecx, dword [ebp - 0x58]
call fcn.0054ddf7
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x58]
add ecx, 0x60
call fcn.0054beae
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x58]
add ecx, 0x74
call fcn.004d2729
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x58]
add ecx, 0x94
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x10]
mov dword [edx], vtable.CGdiObject.0
mov eax, dword [ebp - 0x10]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 0x10]
mov dword [ecx], vtable.CBrush.0
mov byte [ebp - 4], 3
push 0
mov ecx, dword [ebp - 0x58]
add ecx, 0x9c
call fcn.0043e840
mov byte [ebp - 4], 4
push 0
mov ecx, dword [ebp - 0x58]
add ecx, 0x2774
call fcn.0044cb10
mov byte [ebp - 4], 5
push 0
mov ecx, dword [ebp - 0x58]
add ecx, 0xb3a8
call fcn.0044fc90
mov byte [ebp - 4], 6
push 0
mov ecx, dword [ebp - 0x58]
add ecx, 0xb93c
call fcn.0044e490
mov byte [ebp - 4], 7
push 0
mov ecx, dword [ebp - 0x58]
add ecx, 0xd958
call fcn.0044b770
mov byte [ebp - 4], 8
push 0
mov ecx, dword [ebp - 0x58]
add ecx, 0xde3c
call fcn.00486130
mov byte [ebp - 4], 9
push 0
mov ecx, dword [ebp - 0x58]
add ecx, 0xe3cc
call fcn.0048a430
mov byte [ebp - 4], 0xa
push 0
mov ecx, dword [ebp - 0x58]
add ecx, 0xe95c
call fcn.004273f0
mov byte [ebp - 4], 0xb
push 0
mov ecx, dword [ebp - 0x58]
add ecx, 0xeeec
call fcn.004513c0
mov byte [ebp - 4], 0xc
push 0
mov ecx, dword [ebp - 0x58]
add ecx, 0xf3cc
call fcn.0045b559
mov byte [ebp - 4], 0xd
push 0
mov ecx, dword [ebp - 0x58]
add ecx, 0x10cb4
call fcn.00452750
mov byte [ebp - 4], 0xe
push 0
mov ecx, dword [ebp - 0x58]
add ecx, 0x119e0
call fcn.00428dc0
mov byte [ebp - 4], 0xf
push 0
mov ecx, dword [ebp - 0x58]
add ecx, 0x11acc
call fcn.0043cca0
mov byte [ebp - 4], 0x10
push 0
mov ecx, dword [ebp - 0x58]
add ecx, 0x11fbc
call fcn.0044a430
mov byte [ebp - 4], 0x11
push 0
mov ecx, dword [ebp - 0x58]
add ecx, 0x1249c
call fcn.0048e760
mov byte [ebp - 4], 0x12
push 0
mov ecx, dword [ebp - 0x58]
add ecx, 0x14d00
call fcn.0049aa80
mov byte [ebp - 4], 0x13
push 0
mov ecx, dword [ebp - 0x58]
add ecx, 0x19198
call fcn.0044f0b0
mov byte [ebp - 4], 0x14
push 0
mov ecx, dword [ebp - 0x58]
add ecx, 0x19288
call fcn.004198d0
mov byte [ebp - 4], 0x15
push 0
mov ecx, dword [ebp - 0x58]
add ecx, 0x19608
call fcn.00422720
mov byte [ebp - 4], 0x16
push 0
mov ecx, dword [ebp - 0x58]
add ecx, 0x1b56c
call fcn.00425d30
mov byte [ebp - 4], 0x17
push 0
mov ecx, dword [ebp - 0x58]
add ecx, 0x1d4d0
call fcn.00424670
mov byte [ebp - 4], 0x18
push 0
mov ecx, dword [ebp - 0x58]
add ecx, 0x1ecac
call fcn.00487390
mov byte [ebp - 4], 0x19
push 0
mov ecx, dword [ebp - 0x58]
add ecx, 0x213dc
call fcn.004888e0
mov byte [ebp - 4], 0x1a
push 0
mov ecx, dword [ebp - 0x58]
add ecx, 0x21c30
call fcn.004896b0
mov byte [ebp - 4], 0x1b
push 0
mov ecx, dword [ebp - 0x58]
add ecx, 0x22c34
call fcn.0043eed0
mov byte [ebp - 4], 0x1c
push 0
mov ecx, dword [ebp - 0x58]
add ecx, 0x23114
call fcn.00440f00
mov byte [ebp - 4], 0x1d
push 0
mov ecx, dword [ebp - 0x58]
add ecx, 0x24258
call fcn.00440200
mov byte [ebp - 4], 0x1e
push 0
mov ecx, dword [ebp - 0x58]
add ecx, 0x24710
call fcn.00494110
mov byte [ebp - 4], 0x1f
push 0
mov ecx, dword [ebp - 0x58]
add ecx, 0x283f0
call fcn.004431b0
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0x58]
add ecx, 0x2a7d0
call fcn.0054c753
mov byte [ebp - 4], 0x21
mov ecx, dword [ebp - 0x58]
add ecx, 0x2a7fc
call fcn.004aa9b2
mov byte [ebp - 4], 0x22
mov ecx, dword [ebp - 0x58]
add ecx, 0x2a8e0
call fcn.004acfea
mov byte [ebp - 4], 0x23
mov ecx, dword [ebp - 0x58]
add ecx, 0x2a998
call fcn.004acfea
mov byte [ebp - 4], 0x24
mov ecx, dword [ebp - 0x58]
add ecx, 0x2aa50
call fcn.004acfea
mov byte [ebp - 4], 0x25
mov ecx, dword [ebp - 0x58]
add ecx, 0x2ab08
call fcn.004acfea
mov byte [ebp - 4], 0x26
mov ecx, dword [ebp - 0x58]
add ecx, 0x2abc0
call fcn.004acfea
mov byte [ebp - 4], 0x27
mov ecx, dword [ebp - 0x58]
add ecx, 0x2ac78
call fcn.004acfea
mov byte [ebp - 4], 0x28
mov ecx, dword [ebp - 0x58]
add ecx, 0x2ad30
call fcn.004acfea
mov byte [ebp - 4], 0x29
mov edx, dword [ebp - 0x58]
add edx, 0x2adec
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x14]
mov dword [eax], vtable.CGdiObject.0
mov ecx, dword [ebp - 0x14]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0x14]
mov dword [edx], 0x57c38c
mov byte [ebp - 4], 0x2a
mov eax, dword [ebp - 0x58]
add eax, 0x2adfc
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x18]
mov dword [ecx], vtable.CGdiObject.0
mov edx, dword [ebp - 0x18]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0x18]
mov dword [eax], 0x57c38c
mov byte [ebp - 4], 0x2b
mov ecx, dword [ebp - 0x58]
add ecx, 0x2ae0c
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 0x1c]
mov dword [edx], vtable.CGdiObject.0
mov eax, dword [ebp - 0x1c]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], 0x57c38c
mov byte [ebp - 4], 0x2c
mov edx, dword [ebp - 0x58]
add edx, 0x2ae1c
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x20]
mov dword [eax], vtable.CGdiObject.0
mov ecx, dword [ebp - 0x20]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0x20]
mov dword [edx], 0x57c38c
mov byte [ebp - 4], 0x2d
mov eax, dword [ebp - 0x58]
add eax, 0x2ae2c
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x24]
mov dword [ecx], vtable.CGdiObject.0
mov edx, dword [ebp - 0x24]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0x24]
mov dword [eax], 0x57c38c
mov byte [ebp - 4], 0x2e
mov ecx, dword [ebp - 0x58]
add ecx, 0x2ae3c
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x28]
mov dword [edx], vtable.CGdiObject.0
mov eax, dword [ebp - 0x28]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 0x28]
mov dword [ecx], 0x57c38c
mov byte [ebp - 4], 0x2f
mov edx, dword [ebp - 0x58]
add edx, 0x2ae4c
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
mov dword [eax], vtable.CGdiObject.0
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0x2c]
mov dword [edx], 0x57c38c
mov byte [ebp - 4], 0x30
mov eax, dword [ebp - 0x58]
add eax, 0x2ae5c
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x30]
mov dword [ecx], vtable.CGdiObject.0
mov edx, dword [ebp - 0x30]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0x30]
mov dword [eax], 0x57c38c
mov byte [ebp - 4], 0x31
mov ecx, dword [ebp - 0x58]
add ecx, 0x2ae6c
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x34]
mov dword [edx], vtable.CGdiObject.0
mov eax, dword [ebp - 0x34]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 0x34]
mov dword [ecx], 0x57c38c
mov byte [ebp - 4], 0x32
mov edx, dword [ebp - 0x58]
add edx, 0x2ae7c
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x38]
mov dword [eax], vtable.CGdiObject.0
mov ecx, dword [ebp - 0x38]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0x38]
mov dword [edx], 0x57c38c
mov byte [ebp - 4], 0x33
mov eax, dword [ebp - 0x58]
add eax, 0x2ae8c
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x3c]
mov dword [ecx], vtable.CGdiObject.0
mov edx, dword [ebp - 0x3c]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0x3c]
mov dword [eax], 0x57c38c
mov byte [ebp - 4], 0x34
mov ecx, dword [ebp - 0x58]
add ecx, 0x2aec4
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x40]
mov eax, dword [0x5be480]
mov dword [edx], eax
mov byte [ebp - 4], 0x35
mov ecx, dword [ebp - 0x58]
add ecx, 0x2aec8
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x44]
mov dword [edx], vtable.CGdiObject.0
mov eax, dword [ebp - 0x44]
mov dword [eax + 4], 0
mov ecx, dword [ebp - 0x44]
mov dword [ecx], vtable.CFont.0
mov byte [ebp - 4], 0x36
mov ecx, dword [ebp - 0x58]
add ecx, 0x2aed0
call fcn.00405df0
mov byte [ebp - 4], 0x37
mov ecx, dword [ebp - 0x58]
add ecx, 0x2b680
call fcn.00405df0
mov byte [ebp - 4], 0x38
mov ecx, dword [ebp - 0x58]
add ecx, 0x2be30
call fcn.0040c780
mov byte [ebp - 4], 0x39
mov ecx, dword [ebp - 0x58]
add ecx, 0x2be88
call fcn.00405df0
mov byte [ebp - 4], 0x3a
mov ecx, dword [ebp - 0x58]
add ecx, 0x2c638
call fcn.004ae3d0
mov byte [ebp - 4], 0x3b
mov ecx, dword [ebp - 0x58]
add ecx, 0x2c678
call fcn.004af9c0
mov byte [ebp - 4], 0x3c
mov ecx, dword [ebp - 0x58]
add ecx, 0x2c730
call fcn.004af9c0
mov byte [ebp - 4], 0x3d
mov ecx, dword [ebp - 0x58]
add ecx, 0x2c7e8
call fcn.00405df0
mov byte [ebp - 4], 0x3e
mov ecx, dword [ebp - 0x58]
add ecx, 0x2cf98
call fcn.00405df0
mov byte [ebp - 4], 0x3f
mov ecx, dword [ebp - 0x58]
add ecx, 0x2d748
call fcn.00405df0
mov byte [ebp - 4], 0x40
mov edx, dword [ebp - 0x58]
add edx, 0x2def8
mov dword [ebp - 0x48], edx
mov ecx, dword [ebp - 0x48]
call fcn.0054e3c8
mov eax, dword [ebp - 0x48]
mov dword [eax], vtable.CStatic.0
mov byte [ebp - 4], 0x41
mov ecx, dword [ebp - 0x58]
mov dword [ecx], method.CDialog.virtual_0
call fcn.0055f60b
mov edx, dword [eax + 4]
mov dword [ebp - 0x4c], edx
call fcn.0055f60b
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x50], eax
push 0x80
mov ecx, dword [ebp - 0x50]
push ecx
call dword [sym.imp.USER32.dll_LoadIconW]
mov edx, dword [ebp - 0x58]
mov dword [edx + 0x2ade8], eax
mov eax, dword [ebp - 0x58]
mov dword [eax + 0x2a7e4], 0xffffffff
push 0xffffffffffffffff
push 0
mov ecx, dword [ebp - 0x58]
add ecx, 0x2a7d0
call fcn.0054c7b3
mov ecx, dword [ebp - 0x58]
mov dword [ecx + 0x2a7e8], 0
push 0x5bac64
push 0x83
mov edx, dword [ebp - 0x58]
add edx, 0x2774
push edx
mov ecx, dword [ebp - 0x58]
call fcn.004c6a52
push str.Settings
push 0x85
mov eax, dword [ebp - 0x58]
add eax, 0xb3a8
push eax
mov ecx, dword [ebp - 0x58]
call fcn.004c6a52
push str.FixResult
push 0xa6
mov ecx, dword [ebp - 0x58]
add ecx, 0x11acc
push ecx
mov ecx, dword [ebp - 0x58]
call fcn.004c6a52
push str.Register
push 0x87
mov edx, dword [ebp - 0x58]
add edx, 0xb93c
push edx
mov ecx, dword [ebp - 0x58]
call fcn.004c6a52
push 0x5bacac
push 0xcd
mov eax, dword [ebp - 0x58]
add eax, 0xd958
push eax
mov ecx, dword [ebp - 0x58]
call fcn.004c6a52
push str.Scan
push 0x96
mov ecx, dword [ebp - 0x58]
add ecx, 0xf3cc
push ecx
mov ecx, dword [ebp - 0x58]
call fcn.004c6a52
push str.ScanResult
push 0xa3
mov edx, dword [ebp - 0x58]
add edx, 0x10cb4
push edx
mov ecx, dword [ebp - 0x58]
call fcn.004c6a52
push 0x5bacdc
push 0xfd
mov eax, dword [ebp - 0x58]
add eax, 0x24710
push eax
mov ecx, dword [ebp - 0x58]
call fcn.004c6a52
push str.Startup
push 0xfe
mov ecx, dword [ebp - 0x58]
add ecx, 0x14d00
push ecx
mov ecx, dword [ebp - 0x58]
call fcn.004c6a52
push str.AddRemove
push 0x10f
mov edx, dword [ebp - 0x58]
add edx, 0x1249c
push edx
mov ecx, dword [ebp - 0x58]
call fcn.004c6a52
push str.Registered
push 0x15b
mov eax, dword [ebp - 0x58]
add eax, 0x19198
push eax
mov ecx, dword [ebp - 0x58]
call fcn.004c6a52
push 0x5bad20
push 0x162
mov ecx, dword [ebp - 0x58]
add ecx, 0xe95c
push ecx
mov ecx, dword [ebp - 0x58]
call fcn.004c6a52
push 0x5bad34
push 0x163
mov edx, dword [ebp - 0x58]
add edx, 0xde3c
push edx
mov ecx, dword [ebp - 0x58]
call fcn.004c6a52
push str.Registry
push 0x161
mov eax, dword [ebp - 0x58]
add eax, 0xeeec
push eax
mov ecx, dword [ebp - 0x58]
call fcn.004c6a52
push 0x5bad5c
push 0x164
mov ecx, dword [ebp - 0x58]
add ecx, 0xe3cc
push ecx
mov ecx, dword [ebp - 0x58]
call fcn.004c6a52
push str.Autobackup
push 0x7f
mov edx, dword [ebp - 0x58]
add edx, 0x19608
push edx
mov ecx, dword [ebp - 0x58]
call fcn.004c6a52
push str.Fullbackup
push 0xff
mov eax, dword [ebp - 0x58]
add eax, 0x1b56c
push eax
mov ecx, dword [ebp - 0x58]
call fcn.004c6a52
push str.General
push 0xea
mov ecx, dword [ebp - 0x58]
add ecx, 0x1ecac
push ecx
mov ecx, dword [ebp - 0x58]
call fcn.004c6a52
push str.Ignore
push 0xeb
mov edx, dword [ebp - 0x58]
add edx, 0x213dc
push edx
mov ecx, dword [ebp - 0x58]
call fcn.004c6a52
push str.Scheduling
push 0xec
mov eax, dword [ebp - 0x58]
add eax, 0x21c30
push eax
mov ecx, dword [ebp - 0x58]
call fcn.004c6a52
push 0x5badd4
push 0x16e
mov ecx, dword [ebp - 0x58]
add ecx, 0x22c34
push ecx
mov ecx, dword [ebp - 0x58]
call fcn.004c6a52
push str.IERestore
push 0x19d
mov edx, dword [ebp - 0x58]
add edx, 0x23114
push edx
mov ecx, dword [ebp - 0x58]
call fcn.004c6a52
push str.IEHelp
push 0x19e
mov eax, dword [ebp - 0x58]
add eax, 0x24258
push eax
mov ecx, dword [ebp - 0x58]
call fcn.004c6a52
push str.Backup
push 0x1a0
mov ecx, dword [ebp - 0x58]
add ecx, 0x19288
push ecx
mov ecx, dword [ebp - 0x58]
call fcn.004c6a52
push str.Optimize
push 0x1651
mov edx, dword [ebp - 0x58]
add edx, 0x11fbc
push edx
mov ecx, dword [ebp - 0x58]
call fcn.004c6a52
push str.Favorites
push 0x1652
mov eax, dword [ebp - 0x58]
add eax, 0x1d4d0
push eax
mov ecx, dword [ebp - 0x58]
call fcn.004c6a52
push str.Home
push 0x1653
mov ecx, dword [ebp - 0x58]
add ecx, 0x9c
push ecx
mov ecx, dword [ebp - 0x58]
call fcn.004c6a52
push str.Microsoft_Update
push 0x1a9
mov edx, dword [ebp - 0x58]
add edx, 0x283f0
push edx
mov ecx, dword [ebp - 0x58]
call fcn.004c6a52
call fcn.0055f60b
mov eax, dword [eax + 4]
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ecx + 0x5c], edx
mov eax, dword [ebp - 0x58]
mov dword [eax + 0x2aeb4], 3
mov ecx, dword [ebp - 0x58]
mov dword [ecx + 0x2aeb8], 4
mov edx, dword [ebp - 0x58]
mov byte [edx + 0x2aebc], 0
push 0x5bae68
mov ecx, dword [ebp - 0x58]
add ecx, 0x2aec4
call fcn.0054d4bf
mov eax, dword [ebp - 0x58]
mov dword [eax + 0x2a7c8], 0
mov ecx, dword [ebp - 0x58]
mov dword [ecx + 0x2a7cc], 0
push 0x5bae88
push 0x20
xor edx, edx
push edx
xor eax, eax
push eax
xor ecx, ecx
push ecx
xor edx, edx
push edx
xor eax, eax
push eax
xor ecx, ecx
push ecx
xor edx, edx
push edx
push 0x2bc
push 0
push 0
push 0
push 0xd
call dword [sym.imp.GDI32.dll_CreateFontW]
push eax
mov ecx, dword [ebp - 0x58]
add ecx, 0x2aec8
call fcn.00555021
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4