Function at 0x45bed0
Capabilities:
Acquire debug privileges
Contain obfuscated stackstrings
Delete file
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4965a1
mov eax, dword fs:[0]
push eax
sub esp, 0xd48
mov eax, dword [0x4c1280]
xor eax, ebp
mov dword [ebp - 0x18], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xb58], ecx
push str.Globala3e6a040_91aa_4daf_95bf_3becbb9463e9
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov dword [ebp - 0x564], eax
cmp dword [ebp - 0x564], 0
je 0x45bf59
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x45bf59
cmp dword [0x4c36a4], 0
jne 0x45bf59
push str.ERROR_ALREADY_EXISTS
push 0x4a533c
call fcn.00401340
add esp, 4
push eax
call fcn.00401660
add esp, 8
xor eax, eax
jmp 0x45e201
lea ecx, [ebp - 0x13c]
call fcn.0040ae60
mov dword [ebp - 4], 0
push 0
push 0
mov eax, dword [ebp - 0xb58]
add eax, 0x34
push eax
lea ecx, [ebp - 0x13c]
call fcn.0040aee0
mov dword [ebp - 0x570], eax
cmp dword [ebp - 0x570], 0xd
jne 0x45bfa0
mov ecx, dword [ebp - 0xb58]
mov dword [ecx + 0x3c], 1
cmp dword [0x4c36a4], 0
jne 0x45c00d
mov ecx, dword [ebp - 0xb58]
call fcn.0045fb40
test eax, eax
jne 0x45c00d
push 0x10
push 0x4a5374
call fcn.00429fc0
add esp, 4
push eax
push str.1010
call fcn.00429fc0
add esp, 4
push eax
mov edx, dword [ebp - 0xb58]
mov eax, dword [edx + 4]
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
mov dword [ebp - 0xa18], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x13c]
call fcn.0041f800
mov eax, dword [ebp - 0xa18]
jmp 0x45e201
mov ecx, dword [ebp - 0xb58]
cmp dword [ecx + 0x34], 0
je 0x45c028
mov edx, dword [ebp - 0xb58]
mov dword [edx + 0x30], 0
jmp 0x45c03c
mov ecx, dword [ebp - 0xb58]
call fcn.0045f8a0
mov ecx, dword [ebp - 0xb58]
mov dword [ecx + 0x30], eax
cmp dword [ebp - 0x570], 1
jne 0x45c052
mov edx, dword [ebp - 0xb58]
mov dword [edx + 0x38], 1
mov dword [ebp - 0x56c], 0x104
mov dword [ebp - 0x578], 0
mov dword [ebp - 0x574], 0
lea eax, [ebp - 0x55c]
push eax
mov ecx, dword [ebp - 0x56c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
mov dword [ebp - 0x584], eax
mov edx, dword [ebp - 0x584]
cmp edx, dword [ebp - 0x56c]
ja 0x45c0a1
cmp dword [ebp - 0x584], 0
jne 0x45c0ef
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push str.GetTempPath_failed_with_error__d.
push 0x4a538c
call fcn.00401340
add esp, 4
push eax
call fcn.00401590
add esp, 0xc
mov eax, dword [ebp - 0x56c]
push eax
lea ecx, [ebp - 0x55c]
push ecx
mov ecx, dword [ebp - 0xb58]
call fcn.00460660
test eax, eax
jne 0x45c0e5
jmp 0x45c445
mov dword [ebp - 0x574], 1
lea edx, [ebp - 0x34c]
push edx
push 0
push 0x4a53dc
lea eax, [ebp - 0x55c]
push eax
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
mov dword [ebp - 0x560], eax
cmp dword [ebp - 0x560], 0
jne 0x45c1ef
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea ecx, [ebp - 0x55c]
push ecx
push 0x4a53f0
push 0x4a53e4
call fcn.00401340
add esp, 4
push eax
call fcn.00401590
add esp, 0x10
cmp dword [ebp - 0x574], 0
jne 0x45c1ea
mov edx, dword [ebp - 0x56c]
push edx
lea eax, [ebp - 0x55c]
push eax
mov ecx, dword [ebp - 0xb58]
call fcn.00460660
test eax, eax
jne 0x45c175
jmp 0x45c445
lea ecx, [ebp - 0x34c]
push ecx
push 0
push 0x4a5444
lea edx, [ebp - 0x55c]
push edx
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
mov dword [ebp - 0x560], eax
cmp dword [ebp - 0x560], 0
jne 0x45c1cd
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x55c]
push eax
push str.GetTempFileName__s_failed_with_error__d.
push 0x4a544c
call fcn.00401340
add esp, 4
push eax
call fcn.00401590
add esp, 0x10
jmp 0x45c445
push str.use_system_temp_folder
push 0x4a54ac
call fcn.00401340
add esp, 4
push eax
call fcn.004013f0
add esp, 8
jmp 0x45c1ef
jmp 0x45c445
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xa1c], esp
push 0x4a54e8
call fcn.00401c70
mov dword [ebp - 0xb5c], eax
mov ecx, dword [ebp - 0xb5c]
mov dword [ebp - 0xb60], ecx
mov byte [ebp - 4], 1
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xa20], esp
push 0x4a5510
call fcn.00401c70
mov dword [ebp - 0xb64], eax
mov edx, dword [ebp - 0xb64]
mov dword [ebp - 0xb68], edx
mov byte [ebp - 4], 2
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xa24], esp
lea eax, [ebp - 0x34c]
push eax
call fcn.00401c70
mov dword [ebp - 0xb6c], eax
mov byte [ebp - 4], 0
mov ecx, dword [ebp - 0xb58]
call fcn.0045ef90
mov dword [ebp - 0xb70], eax
cmp dword [ebp - 0xb70], 0
jne 0x45c285
jmp 0x45c445
push ecx
mov ecx, esp
mov dword [ebp - 0xa28], esp
lea edx, [ebp - 0x34c]
push edx
call fcn.0042deb0
mov dword [ebp - 0xb74], eax
mov eax, dword [ebp - 0xb74]
mov dword [ebp - 0xb78], eax
mov byte [ebp - 4], 3
push ecx
mov ecx, esp
mov dword [ebp - 0xa2c], esp
push 0x4a5534
call fcn.0042deb0
mov dword [ebp - 0xb7c], eax
mov ecx, dword [ebp - 0xb7c]
mov dword [ebp - 0xb80], ecx
mov byte [ebp - 4], 4
push ecx
mov ecx, esp
mov dword [ebp - 0xa30], esp
push 0x4a5538
call fcn.0042deb0
mov dword [ebp - 0xb84], eax
lea edx, [ebp - 0xa34]
push edx
mov byte [ebp - 4], 0
call fcn.0042a010
add esp, 0x10
mov dword [ebp - 0xb88], eax
mov eax, dword [ebp - 0xb88]
mov dword [ebp - 0xb8c], eax
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0xb8c]
push ecx
mov ecx, dword [ebp - 0xb58]
add ecx, 0x50
call fcn.0042e090
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xa34]
call fcn.0042ed20
push ecx
mov ecx, esp
mov dword [ebp - 0xa38], esp
lea edx, [ebp - 0x34c]
push edx
call fcn.0042deb0
mov dword [ebp - 0xb90], eax
mov eax, dword [ebp - 0xb90]
mov dword [ebp - 0xb94], eax
mov byte [ebp - 4], 6
push ecx
mov ecx, esp
mov dword [ebp - 0xa3c], esp
push 0x4a5548
call fcn.0042deb0
mov dword [ebp - 0xb98], eax
mov ecx, dword [ebp - 0xb98]
mov dword [ebp - 0xb9c], ecx
mov byte [ebp - 4], 7
push ecx
mov ecx, esp
mov dword [ebp - 0xa40], esp
push 0x4a554c
call fcn.0042deb0
mov dword [ebp - 0xba0], eax
lea edx, [ebp - 0xa44]
push edx
mov byte [ebp - 4], 0
call fcn.0042a010
add esp, 0x10
mov dword [ebp - 0xba4], eax
mov eax, dword [ebp - 0xba4]
mov dword [ebp - 0xba8], eax
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0xba8]
push ecx
mov ecx, dword [ebp - 0xb58]
add ecx, 0x54
call fcn.0042e090
mov byte [ebp - 4], 0
lea ecx, [ebp - 0xa44]
call fcn.0042ed20
lea edx, [ebp - 0x34c]
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x45c433
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [ebp - 0x34c]
push eax
push str.del__s_0x_x
push 0x4a555c
call fcn.00401340
add esp, 4
push eax
call fcn.00401590
add esp, 0x10
mov dword [ebp - 0x578], 1
xor ecx, ecx
jne 0x45c070
cmp dword [ebp - 0x578], 0
jne 0x45c4a3
push 0x10
push 0x4a5580
call fcn.00429fc0
add esp, 4
push eax
push 0x4a558c
call fcn.00429fc0
add esp, 4
push eax
mov edx, dword [ebp - 0xb58]
mov eax, dword [edx + 4]
push eax
call dword [sym.imp.USER32.dll_MessageBoxW]
mov dword [ebp - 0xa48], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x13c]
call fcn.0041f800
mov eax, dword [ebp - 0xa48]
jmp 0x45e201
lea ecx, [ebp - 0x55c]
push ecx
lea ecx, [ebp - 0x10]
call fcn.0042deb0
mov byte [ebp - 4], 9
push 0x4a5598
lea ecx, [ebp - 0x10]
call fcn.0042e350
push 0x4a559c
lea edx, [ebp - 0xa4c]
push edx
call fcn.0042a690
add esp, 4
mov dword [ebp - 0xbac], eax
mov eax, dword [ebp - 0xbac]
mov dword [ebp - 0xbb0], eax
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0xbb0]
push ecx
push 0x4a55b4
lea edx, [ebp - 0x10]
push edx
lea eax, [ebp - 0xa50]
push eax
call fcn.0042f3f0
mov dword [ebp - 0xbb4], eax
mov ecx, dword [ebp - 0xbb4]
mov dword [ebp - 0xbb8], ecx
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0xbb8]
push edx
lea eax, [ebp - 0xa54]
push eax
call fcn.004610b0
mov dword [ebp - 0xbbc], eax
mov ecx, dword [ebp - 0xbbc]
mov dword [ebp - 0xbc0], ecx
mov byte [ebp - 4], 0xc
mov edx, dword [ebp - 0xbc0]
push edx
lea eax, [ebp - 0x57c]
push eax
call fcn.0042f3f0
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0xa54]
call fcn.0042ed20
mov byte [ebp - 4], 0xf
lea ecx, [ebp - 0xa50]
call fcn.0042ed20
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0xa4c]
call fcn.0042ed20
push 0x4a55b8
lea ecx, [ebp - 0xa58]
push ecx
call fcn.0042a690
add esp, 4
mov dword [ebp - 0xbc4], eax
mov edx, dword [ebp - 0xbc4]
mov dword [ebp - 0xbc8], edx
mov byte [ebp - 4], 0x11
mov eax, dword [ebp - 0xbc8]
push eax
push 0x4a55dc
lea ecx, [ebp - 0x10]
push ecx
lea edx, [ebp - 0xa5c]
push edx
call fcn.0042f3f0
mov dword [ebp - 0xbcc], eax
mov eax, dword [ebp - 0xbcc]
mov dword [ebp - 0xbd0], eax
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0xbd0]
push ecx
lea edx, [ebp - 0xa60]
push edx
call fcn.004610b0
mov dword [ebp - 0xbd4], eax
mov eax, dword [ebp - 0xbd4]
mov dword [ebp - 0xbd8], eax
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0xbd8]
push ecx
lea edx, [ebp - 0x14]
push edx
call fcn.0042f3f0
mov byte [ebp - 4], 0x15
lea ecx, [ebp - 0xa60]
call fcn.0042ed20
mov byte [ebp - 4], 0x16
lea ecx, [ebp - 0xa5c]
call fcn.0042ed20
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0xa58]
call fcn.0042ed20
push 0x4a55e0
lea eax, [ebp - 0xa64]
push eax
call fcn.0042a690
add esp, 4
mov dword [ebp - 0xbdc], eax
mov ecx, dword [ebp - 0xbdc]
mov dword [ebp - 0xbe0], ecx
mov byte [ebp - 4], 0x18
mov edx, dword [ebp - 0xbe0]
push edx
push 0x4a55f8
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0xa68]
push ecx
call fcn.0042f3f0
mov dword [ebp - 0xbe4], eax
mov edx, dword [ebp - 0xbe4]
mov dword [ebp - 0xbe8], edx
mov byte [ebp - 4], 0x19
mov eax, dword [ebp - 0xbe8]
push eax
lea ecx, [ebp - 0xa6c]
push ecx
call fcn.004610b0
mov dword [ebp - 0xbec], eax
mov edx, dword [ebp - 0xbec]
mov dword [ebp - 0xbf0], edx
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0xbf0]
push eax
lea ecx, [ebp - 0xa70]
push ecx
call fcn.0042f3f0
mov dword [ebp - 0xbf4], eax
mov edx, dword [ebp - 0xbf4]
mov dword [ebp - 0xbf8], edx
mov byte [ebp - 4], 0x1b
mov eax, dword [ebp - 0xbf8]
push eax
mov ecx, dword [ebp - 0xb58]
add ecx, 0x19c
call fcn.0042e090
mov byte [ebp - 4], 0x1a
lea ecx, [ebp - 0xa70]
call fcn.0042ed20
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0xa6c]
call fcn.0042ed20
mov byte [ebp - 4], 0x18
lea ecx, [ebp - 0xa68]
call fcn.0042ed20
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0xa64]
call fcn.0042ed20
push ecx
mov ecx, esp
mov dword [ebp - 0xa74], esp
lea edx, [ebp - 0x57c]
push edx
call fcn.0042de60
mov dword [ebp - 0xbfc], eax
mov ecx, dword [ebp - 0xb58]
call fcn.0045e650
mov dword [ebp - 0xc00], eax
cmp dword [ebp - 0xc00], 0
jne 0x45c7fd
push 0x10
push 0x4a55fc
call fcn.00429fc0
add esp, 4
push eax
push str.1011
call fcn.00429fc0
add esp, 4
push eax
mov eax, dword [ebp - 0xb58]
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.USER32.dll_MessageBoxW]
mov dword [ebp - 0xa78], 0
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x14]
call fcn.0042ed20
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x57c]
call fcn.0042ed20
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x10]
call fcn.0042ed20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x13c]
call fcn.0041f800
mov eax, dword [ebp - 0xa78]
jmp 0x45e201
push ecx
mov ecx, esp
mov dword [ebp - 0xa7c], esp
lea edx, [ebp - 0x14]
push edx
call fcn.0042de60
mov dword [ebp - 0xc04], eax
mov ecx, dword [ebp - 0xb58]
call fcn.0045e220
mov dword [ebp - 0xc08], eax
cmp dword [ebp - 0xc08], 0
jne 0x45c857
push str.no_client_config__update
push 0x4a5614
call fcn.00401340
add esp, 4
push eax
call fcn.004013f0
add esp, 8
mov eax, dword [ebp - 0xb58]
mov dword [eax + 0x1c], 1
push 0x4a5654
mov ecx, dword [ebp - 0xb58]
add ecx, 0x5c
call fcn.0042e120
push 0x4a5658
lea ecx, [ebp - 0x140]
call fcn.0042deb0
mov byte [ebp - 4], 0x1c
push 0x4a565c
lea ecx, [ebp - 0x568]
call fcn.0042deb0
mov byte [ebp - 4], 0x1d
push ecx
mov ecx, esp
mov dword [ebp - 0xa80], esp
lea edx, [ebp - 0x57c]
push edx
call fcn.0042de60
mov dword [ebp - 0xc0c], eax
mov eax, dword [ebp - 0xc0c]
mov dword [ebp - 0xc10], eax
mov byte [ebp - 4], 0x1e
push ecx
mov ecx, esp
mov dword [ebp - 0xa84], esp
push 0x4a5660
call fcn.0042deb0
mov dword [ebp - 0xc14], eax
mov ecx, dword [ebp - 0xc14]
mov dword [ebp - 0xc18], ecx
mov byte [ebp - 4], 0x1f
push ecx
mov ecx, esp
mov dword [ebp - 0xa88], esp
push 0x4a5670
call fcn.0042deb0
mov dword [ebp - 0xc1c], eax
lea edx, [ebp - 0xa8c]
push edx
mov byte [ebp - 4], 0x1d
call fcn.0042a010
add esp, 0x10
mov dword [ebp - 0xc20], eax
mov eax, dword [ebp - 0xc20]
mov dword [ebp - 0xc24], eax
mov byte [ebp - 4], 0x20
mov ecx, dword [ebp - 0xc24]
push ecx
mov ecx, dword [ebp - 0xb58]
add ecx, 0x5c
call fcn.0042e090
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0xa8c]
call fcn.0042ed20
push 2
push 6
lea edx, [ebp - 0xa90]
push edx
mov ecx, dword [ebp - 0xb58]
add ecx, 0x5c
call fcn.00445230
mov dword [ebp - 0xc28], eax
mov eax, dword [ebp - 0xc28]
mov dword [ebp - 0xc2c], eax
mov byte [ebp - 4], 0x21
mov ecx, dword [ebp - 0xc2c]
call fcn.00453990
push eax
call fcn.00474b5c
add esp, 4
push eax
push 2
push 4
lea ecx, [ebp - 0xa94]
push ecx
mov ecx, dword [ebp - 0xb58]
add ecx, 0x5c
call fcn.00445230
mov dword [ebp - 0xc30], eax
mov edx, dword [ebp - 0xc30]
mov dword [ebp - 0xc34], edx
mov byte [ebp - 4], 0x22
mov ecx, dword [ebp - 0xc34]
call fcn.00453990
push eax
call fcn.00474b5c
add esp, 4
push eax
push 2
push 2
lea eax, [ebp - 0xa98]
push eax
mov ecx, dword [ebp - 0xb58]
add ecx, 0x5c
call fcn.00445230
mov dword [ebp - 0xc38], eax
mov ecx, dword [ebp - 0xc38]
mov dword [ebp - 0xc3c], ecx
mov byte [ebp - 4], 0x23
mov ecx, dword [ebp - 0xc3c]
call fcn.00453990
push eax
call fcn.00474b5c
add esp, 4
push eax
push 2
push 0
lea edx, [ebp - 0xa9c]
push edx
mov ecx, dword [ebp - 0xb58]
add ecx, 0x5c
call fcn.00445230
mov dword [ebp - 0xc40], eax
mov eax, dword [ebp - 0xc40]
mov dword [ebp - 0xc44], eax
mov byte [ebp - 4], 0x24
mov ecx, dword [ebp - 0xc44]
call fcn.00453990
push eax
call fcn.00474b5c
add esp, 4
push eax
push 0x4a5680
push 0x14
mov ecx, dword [ebp - 0xb58]
add ecx, 0x1bc
push ecx
call fcn.00474cf2
add esp, 0x1c
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0xa9c]
call fcn.0042ed20
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0xa98]
call fcn.0042ed20
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0xa94]
call fcn.0042ed20
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0xa90]
call fcn.0042ed20
mov edx, dword [ebp - 0xb58]
add edx, 0x1bc
push edx
push str.version:_s
push 0x4a5698
call fcn.00401340
add esp, 4
push eax
call fcn.004013f0
add esp, 0xc
push ecx
mov ecx, esp
mov dword [ebp - 0xaa0], esp
lea eax, [ebp - 0x57c]
push eax
call fcn.0042de60
mov dword [ebp - 0xc48], eax
mov ecx, dword [ebp - 0xc48]
mov dword [ebp - 0xc4c], ecx
mov byte [ebp - 4], 0x25
push ecx
mov ecx, esp
mov dword [ebp - 0xaa4], esp
push str.LOGENCODING
call fcn.0042deb0
mov dword [ebp - 0xc50], eax
mov edx, dword [ebp - 0xc50]
mov dword [ebp - 0xc54], edx
mov byte [ebp - 4], 0x26
push ecx
mov ecx, esp
mov dword [ebp - 0xaa8], esp
push 0x4a56d4
call fcn.0042deb0
mov dword [ebp - 0xc58], eax
lea eax, [ebp - 0xaac]
push eax
mov byte [ebp - 4], 0x1d
call fcn.0042a010
add esp, 0x10
mov dword [ebp - 0xc5c], eax
mov ecx, dword [ebp - 0xc5c]
mov dword [ebp - 0xc60], ecx
mov byte [ebp - 4], 0x27
mov edx, dword [ebp - 0xc60]
push edx
mov ecx, dword [ebp - 0xb58]
add ecx, 0x60
call fcn.0042e090
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0xaac]
call fcn.0042ed20
push ecx
mov ecx, esp
mov dword [ebp - 0xab0], esp
lea eax, [ebp - 0x57c]
push eax
call fcn.0042de60
mov dword [ebp - 0xc64], eax
mov ecx, dword [ebp - 0xc64]
mov dword [ebp - 0xc68], ecx
mov byte [ebp - 4], 0x28
push ecx
mov ecx, esp
mov dword [ebp - 0xab4], esp
push 0x4a56e4
call fcn.0042deb0
mov dword [ebp - 0xc6c], eax
mov edx, dword [ebp - 0xc6c]
mov dword [ebp - 0xc70], edx
mov byte [ebp - 4], 0x29
push ecx
mov ecx, esp
mov dword [ebp - 0xab8], esp
push 0x4a56ec
call fcn.0042deb0
mov dword [ebp - 0xc74], eax
lea eax, [ebp - 0xabc]
push eax
mov byte [ebp - 4], 0x1d
call fcn.0042a010
add esp, 0x10
mov dword [ebp - 0xc78], eax
mov ecx, dword [ebp - 0xc78]
mov dword [ebp - 0xc7c], ecx
mov byte [ebp - 4], 0x2a
mov edx, dword [ebp - 0xc7c]
push edx
mov ecx, dword [ebp - 0xb58]
add ecx, 0x64
call fcn.0042e090
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0xabc]
call fcn.0042ed20
mov eax, dword [ebp - 0xb58]
mov ecx, dword [eax + 0x64]
push ecx
push str.config_av:_s
push 0x4a56fc
call fcn.00401340
add esp, 4
push eax
call fcn.004013f0
add esp, 0xc
push ecx
mov ecx, esp
mov dword [ebp - 0xac0], esp
lea edx, [ebp - 0x57c]
push edx
call fcn.0042de60
mov dword [ebp - 0xc80], eax
mov eax, dword [ebp - 0xc80]
mov dword [ebp - 0xc84], eax
mov byte [ebp - 4], 0x2b
push ecx
mov ecx, esp
mov dword [ebp - 0xac4], esp
push str.VIRUSDBVER
call fcn.0042deb0
mov dword [ebp - 0xc88], eax
mov ecx, dword [ebp - 0xc88]
mov dword [ebp - 0xc8c], ecx
mov byte [ebp - 4], 0x2c
push ecx
mov ecx, esp
mov dword [ebp - 0xac8], esp
push 0x4a573c
call fcn.0042deb0
mov dword [ebp - 0xc90], eax
lea edx, [ebp - 0x350]
push edx
mov byte [ebp - 4], 0x1d
call fcn.0042a010
add esp, 0x10
mov dword [ebp - 0xc94], eax
mov byte [ebp - 4], 0x2d
push 0x4a574c
lea eax, [ebp - 0x350]
push eax
call fcn.00445860
movzx ecx, al
test ecx, ecx
je 0x45cd51
lea edx, [ebp - 0x350]
push edx
mov ecx, dword [ebp - 0xb58]
add ecx, 0x68
call fcn.0042e090
mov eax, dword [ebp - 0xb58]
mov ecx, dword [eax + 0x68]
push ecx
push str.virus_db_ver:_s
push 0x4a5760
call fcn.00401340
add esp, 4
push eax
call fcn.004013f0
add esp, 0xc
mov dword [ebp - 0x580], 1
mov ecx, dword [ebp - 0xb58]
call fcn.0045f2f0
test eax, eax
je 0x45db03
mov edx, dword [ebp - 0xb58]
add edx, 0x18
push edx
mov ecx, dword [ebp - 0xb58]
call fcn.0045eb60
test eax, eax
jne 0x45cdd7
push str.get_install_path_failed
push 0x4a578c
call fcn.00401340
add esp, 4
push eax
call fcn.00401590
add esp, 8
mov dword [ebp - 0x580], 0
push 0x10
push 0x4a57c8
call fcn.00429fc0
add esp, 4
push eax
push 0x4a57d4
call fcn.00429fc0
add esp, 4
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x45decb
xor eax, eax
mov word [ebp - 0x9ac], ax
push 0x206
push 0
lea ecx, [ebp - 0x9aa]
push ecx
call fcn.00472990
add esp, 0xc
push 0x104
lea edx, [ebp - 0x9ac]
push edx
mov ecx, dword [ebp - 0xb58]
add ecx, 0x18
call fcn.00453990
push eax
call fcn.0040ab10
add esp, 0xc
test eax, eax
jne 0x45ce77
mov eax, dword [ebp - 0xb58]
mov ecx, dword [eax + 0x18]
push ecx
push str.get_config_failed__s
push 0x4a57e0
call fcn.00401340
add esp, 4
push eax
call fcn.00401590
add esp, 0xc
mov dword [ebp - 0x580], 0
push 0x10
push 0x4a5818
call fcn.00429fc0
add esp, 4
push eax
push str.1160
call fcn.00429fc0
add esp, 4
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x45decb
mov dword [ebp - 0x7a0], 0
push 0x5c
lea edx, [ebp - 0x9ac]
push edx
call fcn.00401000
add esp, 8
mov dword [ebp - 0x588], eax
cmp dword [ebp - 0x588], 0
je 0x45cec0
push 0x2e
mov eax, dword [ebp - 0x588]
push eax
call fcn.00473029
add esp, 8
test eax, eax
jne 0x45cec0
mov dword [ebp - 0x7a0], 1
cmp dword [ebp - 0x7a0], 0
jne 0x45d157
lea ecx, [ebp - 0x9e4]
push ecx
lea edx, [ebp - 0x9ac]
push edx
call fcn.0047965b
add esp, 8
test eax, eax
jne 0x45cef0
cmp dword [ebp - 0x9d0], 0x50
je 0x45cf17
mov eax, dword [ebp - 0x9d0]
push eax
push str.wrong_size:_d
push 0x4a5830
call fcn.00401340
add esp, 4
push eax
call fcn.00401590
add esp, 0xc
jmp 0x45d149
mov byte [ebp - 0x9ae], 0
lea ecx, [ebp - 0x9af]
call fcn.00427990
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x9ae]
push ecx
lea edx, [ebp - 0x9ac]
push edx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
lea ecx, [ebp - 0x9af]
call fcn.0041f890
test eax, eax
je 0x45cf86
push str.get_ver_failed
push 0x4a5858
call fcn.00401340
add esp, 4
push eax
call fcn.00401590
add esp, 8
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x9af]
call fcn.0041f800
jmp 0x45d149
movzx eax, byte [ebp - 0x9ae]
cmp eax, 4
je 0x45cfd6
mov dword [ebp - 0x580], 0
push 0x10
push 0x4a5884
call fcn.00429fc0
add esp, 4
push eax
push 0x4a5890
call fcn.00429fc0
add esp, 4
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x9af]
call fcn.0041f800
jmp 0x45d149
lea ecx, [ebp - 0x9ad]
call fcn.00427990
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x9e8]
push ecx
lea edx, [ebp - 0x9ac]
push edx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
lea ecx, [ebp - 0x9ad]
call fcn.0041f790
test eax, eax
je 0x45d030
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x9ad]
call fcn.0041f800
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x9af]
call fcn.0041f800
jmp 0x45d149
mov eax, dword [ebp - 0xb58]
mov ecx, dword [ebp - 0x9e8]
cmp ecx, dword [eax + 0x2e8]
je 0x45d123
mov byte [ebp - 0x9ef], 0
lea ecx, [ebp - 0x9ed]
call fcn.00427990
mov byte [ebp - 4], 0x30
mov dword [ebp - 0x9ec], 0
mov byte [ebp - 0x9ee], 0
push 0
push 0
push 0
lea edx, [ebp - 0x9ef]
push edx
lea eax, [ebp - 0x9ee]
push eax
lea ecx, [ebp - 0x9ec]
push ecx
lea ecx, [ebp - 0x9ed]
call fcn.00421470
mov edx, dword [ebp - 0x9e8]
cmp edx, dword [ebp - 0x9ec]
jne 0x45d0b5
mov eax, dword [ebp - 0xb58]
mov dword [eax + 0x2f0], 1
jmp 0x45d114
mov dword [ebp - 0x580], 0
push 0x10
push 0x4a589c
call fcn.00429fc0
add esp, 4
push eax
push 0x493
call fcn.00429ff0
add esp, 4
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x9ed]
call fcn.0041f800
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x9ad]
call fcn.0041f800
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x9af]
call fcn.0041f800
jmp 0x45d149
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x9ed]
call fcn.0041f800
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x9ad]
call fcn.0041f800
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x9af]
call fcn.0041f800
xor ecx, ecx
jne 0x45cecd
cmp dword [ebp - 0x580], 0
jne 0x45d157
jmp 0x45decb
xor edx, edx
mov word [ebp - 0x79c], dx
push 0x206
push 0
lea eax, [ebp - 0x79a]
push eax
call fcn.00472990
add esp, 0xc
push 0x104
lea ecx, [ebp - 0x79c]
push ecx
mov ecx, dword [ebp - 0xb58]
add ecx, 0x18
call fcn.00453990
push eax
call fcn.0040ad00
add esp, 0xc
push ecx
mov ecx, esp
mov dword [ebp - 0xad0], esp
lea edx, [ebp - 0x79c]
push edx
call fcn.0042deb0
mov dword [ebp - 0xc98], eax
mov eax, dword [ebp - 0xc98]
mov dword [ebp - 0xc9c], eax
mov byte [ebp - 4], 0x31
push ecx
mov ecx, esp
mov dword [ebp - 0xad4], esp
push 0x4a58a8
call fcn.0042deb0
mov dword [ebp - 0xca0], eax
mov ecx, dword [ebp - 0xca0]
mov dword [ebp - 0xca4], ecx
mov byte [ebp - 4], 0x32
push ecx
mov ecx, esp
mov dword [ebp - 0xad8], esp
push 0x4a58ac
call fcn.0042deb0
mov dword [ebp - 0xca8], eax
lea edx, [ebp - 0xadc]
push edx
mov byte [ebp - 4], 0x2d
call fcn.0042a010
add esp, 0x10
mov dword [ebp - 0xcac], eax
mov eax, dword [ebp - 0xcac]
mov dword [ebp - 0xcb0], eax
mov byte [ebp - 4], 0x33
mov ecx, dword [ebp - 0xcb0]
push ecx
mov edx, dword [ebp - 0xb58]
add edx, 0x54
push edx
call fcn.00461090
mov byte [ebp - 0xac9], al
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0xadc]
call fcn.0042ed20
movzx eax, byte [ebp - 0xac9]
test eax, eax
je 0x45d29a
mov dword [ebp - 0x580], 0
push 0x10
push 0x4a58bc
call fcn.00429fc0
add esp, 4
push eax
push 0x4a58c8
call fcn.00429fc0
add esp, 4
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x45decb
push ecx
mov ecx, esp
mov dword [ebp - 0xae0], esp
lea edx, [ebp - 0x79c]
push edx
call fcn.0042deb0
mov dword [ebp - 0xcb4], eax
mov eax, dword [ebp - 0xcb4]
mov dword [ebp - 0xcb8], eax
mov byte [ebp - 4], 0x34
push ecx
mov ecx, esp
mov dword [ebp - 0xae4], esp
push 0x4a58d4
call fcn.0042deb0
mov dword [ebp - 0xcbc], eax
mov ecx, dword [ebp - 0xcbc]
mov dword [ebp - 0xcc0], ecx
mov byte [ebp - 4], 0x35
push ecx
mov ecx, esp
mov dword [ebp - 0xae8], esp
push 0x4a58d8
call fcn.0042deb0
mov dword [ebp - 0xcc4], eax
lea edx, [ebp - 0x58c]
push edx
mov byte [ebp - 4], 0x2d
call fcn.0042a010
add esp, 0x10
mov dword [ebp - 0xcc8], eax
mov byte [ebp - 4], 0x36
lea eax, [ebp - 0x58c]
push eax
mov ecx, dword [ebp - 0xb58]
add ecx, 0x50
push ecx
call fcn.00461090
movzx edx, al
test edx, edx
je 0x45d663
push 0
mov ecx, dword [ebp - 0xb58]
add ecx, 0x54
call fcn.0042e070
movzx eax, ax
cmp eax, 0x5317
jne 0x45d61f
push 0
mov ecx, dword [ebp - 0xb58]
add ecx, 0x50
call fcn.0042e070
movzx ecx, ax
cmp ecx, 0x5de5
jne 0x45d61f
push 1
mov ecx, dword [ebp - 0xb58]
add ecx, 0x54
call fcn.0042e070
movzx edx, ax
cmp edx, 0x4eac
jne 0x45d61f
push 1
mov ecx, dword [ebp - 0xb58]
add ecx, 0x50
call fcn.0042e070
movzx eax, ax
cmp eax, 0x4e1a
jne 0x45d61f
push 2
mov ecx, dword [ebp - 0xb58]
add ecx, 0x54
call fcn.0042e070
movzx ecx, ax
cmp ecx, 0x73de
jne 0x45d61f
push 2
mov ecx, dword [ebp - 0xb58]
add ecx, 0x50
call fcn.0042e070
movzx edx, ax
cmp edx, 0x4e3b
jne 0x45d61f
push 3
mov ecx, dword [ebp - 0xb58]
add ecx, 0x54
call fcn.0042e070
movzx eax, ax
cmp eax, 0x5b89
jne 0x45d61f
push 3
mov ecx, dword [ebp - 0xb58]
add ecx, 0x50
call fcn.0042e070
movzx ecx, ax
cmp ecx, 0x673a
jne 0x45d61f
push 4
mov ecx, dword [ebp - 0xb58]
add ecx, 0x54
call fcn.0042e070
movzx edx, ax
cmp edx, 0x79d1
jne 0x45d61f
push 4
mov ecx, dword [ebp - 0xb58]
add ecx, 0x50
call fcn.0042e070
movzx eax, ax
cmp eax, 0x5b89
jne 0x45d61f
push 5
mov ecx, dword [ebp - 0xb58]
add ecx, 0x54
call fcn.0042e070
movzx ecx, ax
cmp ecx, 0x6280
jne 0x45d61f
push 5
mov ecx, dword [ebp - 0xb58]
add ecx, 0x50
call fcn.0042e070
movzx edx, ax
cmp edx, 0x5168
jne 0x45d61f
push 6
mov ecx, dword [ebp - 0xb58]
add ecx, 0x54
call fcn.0042e070
movzx eax, ax
cmp eax, 0x6709
jne 0x45d61f
push 6
mov ecx, dword [ebp - 0xb58]
add ecx, 0x50
call fcn.0042e070
movzx ecx, ax
cmp ecx, 0x536b
jne 0x45d61f
push 7
mov ecx, dword [ebp - 0xb58]
add ecx, 0x54
call fcn.0042e070
movzx edx, ax
cmp edx, 0x9650
jne 0x45d61f
push 7
mov ecx, dword [ebp - 0xb58]
add ecx, 0x50
call fcn.0042e070
movzx eax, ax
cmp eax, 0x58eb
jne 0x45d61f
push 8
mov ecx, dword [ebp - 0xb58]
add ecx, 0x54
call fcn.0042e070
movzx ecx, ax
cmp ecx, 0x8d23
jne 0x45d61f
push 9
mov ecx, dword [ebp - 0xb58]
add ecx, 0x54
call fcn.0042e070
movzx edx, ax
cmp edx, 0x4efb
jne 0x45d61f
push 0xa
mov ecx, dword [ebp - 0xb58]
add ecx, 0x54
call fcn.0042e070
movzx eax, ax
cmp eax, 0x516c
jne 0x45d61f
push 0xb
mov ecx, dword [ebp - 0xb58]
add ecx, 0x54
call fcn.0042e070
movzx ecx, ax
cmp ecx, 0x53f8
jne 0x45d61f
push 0
lea ecx, [ebp - 0x58c]
call fcn.0042e070
movzx edx, ax
cmp edx, 0x73de
jne 0x45d61f
push 1
lea ecx, [ebp - 0x58c]
call fcn.0042e070
movzx eax, ax
cmp eax, 0x5b89
jne 0x45d61f
push 2
lea ecx, [ebp - 0x58c]
call fcn.0042e070
movzx ecx, ax
cmp ecx, 0x536b
jne 0x45d61f
push 3
lea ecx, [ebp - 0x58c]
call fcn.0042e070
movzx edx, ax
cmp edx, 0x58eb
jne 0x45d61f
lea eax, [ebp - 0x58c]
push eax
mov ecx, dword [ebp - 0xb58]
add ecx, 0x388
call fcn.0042e090
jmp 0x45d663
mov dword [ebp - 0x580], 0
push 0x10
push 0x4a58e8
call fcn.00429fc0
add esp, 4
push eax
push str.1161
call fcn.00429fc0
add esp, 4
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x58c]
call fcn.0042ed20
jmp 0x45decb
push ecx
mov ecx, esp
mov dword [ebp - 0xaec], esp
lea edx, [ebp - 0x79c]
push edx
call fcn.0042deb0
mov dword [ebp - 0xccc], eax
mov eax, dword [ebp - 0xccc]
mov dword [ebp - 0xcd0], eax
mov byte [ebp - 4], 0x37
push ecx
mov ecx, esp
mov dword [ebp - 0xaf0], esp
push 0x4a5900
call fcn.0042deb0
mov dword [ebp - 0xcd4], eax
mov ecx, dword [ebp - 0xcd4]
mov dword [ebp - 0xcd8], ecx
mov byte [ebp - 4], 0x38
push ecx
mov ecx, esp
mov dword [ebp - 0xaf4], esp
push 0x4a5904
call fcn.0042deb0
mov dword [ebp - 0xcdc], eax
lea edx, [ebp - 0xaf8]
push edx
mov byte [ebp - 4], 0x36
call fcn.0042a010
add esp, 0x10
mov dword [ebp - 0xce0], eax
mov eax, dword [ebp - 0xce0]
mov dword [ebp - 0xce4], eax
mov byte [ebp - 4], 0x39
mov ecx, dword [ebp - 0xce4]
push ecx
lea ecx, [ebp - 0x140]
call fcn.0042e090
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0xaf8]
call fcn.0042ed20
lea edx, [ebp - 0x140]
push edx
mov ecx, dword [ebp - 0xb58]
add ecx, 0x1e4
call fcn.0042e090
lea ecx, [ebp - 0x9fc]
call fcn.0042de40
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0x9f8]
call fcn.0042de40
mov byte [ebp - 4], 0x3b
lea ecx, [ebp - 0x9f4]
call fcn.0042de40
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0xa00]
call fcn.0042de40
mov byte [ebp - 4], 0x3d
push 0x4a5914
lea ecx, [ebp - 0x140]
call fcn.004456b0
mov dword [ebp - 0xa04], eax
mov eax, dword [ebp - 0xa04]
push eax
lea ecx, [ebp - 0xafc]
push ecx
lea ecx, [ebp - 0x140]
call fcn.00445310
mov dword [ebp - 0xce8], eax
mov edx, dword [ebp - 0xce8]
mov dword [ebp - 0xcec], edx
mov byte [ebp - 4], 0x3e
mov eax, dword [ebp - 0xcec]
push eax
lea ecx, [ebp - 0x9fc]
call fcn.0042e090
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0xafc]
call fcn.0042ed20
mov ecx, dword [ebp - 0xa04]
add ecx, 1
push ecx
lea edx, [ebp - 0xb00]
push edx
lea ecx, [ebp - 0x140]
call fcn.004451e0
mov dword [ebp - 0xcf0], eax
mov eax, dword [ebp - 0xcf0]
mov dword [ebp - 0xcf4], eax
mov byte [ebp - 4], 0x3f
mov ecx, dword [ebp - 0xcf4]
push ecx
lea ecx, [ebp - 0x140]
call fcn.0042e090
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0xb00]
call fcn.0042ed20
push 0x4a5918
lea ecx, [ebp - 0x140]
call fcn.004456b0
mov dword [ebp - 0xa04], eax
mov edx, dword [ebp - 0xa04]
push edx
lea eax, [ebp - 0xb04]
push eax
lea ecx, [ebp - 0x140]
call fcn.00445310
mov dword [ebp - 0xcf8], eax
mov ecx, dword [ebp - 0xcf8]
mov dword [ebp - 0xcfc], ecx
mov byte [ebp - 4], 0x40
mov edx, dword [ebp - 0xcfc]
push edx
lea ecx, [ebp - 0x9f8]
call fcn.0042e090
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0xb04]
call fcn.0042ed20
mov eax, dword [ebp - 0xa04]
add eax, 1
push eax
lea ecx, [ebp - 0xb08]
push ecx
lea ecx, [ebp - 0x140]
call fcn.004451e0
mov dword [ebp - 0xd00], eax
mov edx, dword [ebp - 0xd00]
mov dword [ebp - 0xd04], edx
mov byte [ebp - 4], 0x41
mov eax, dword [ebp - 0xd04]
push eax
lea ecx, [ebp - 0x140]
call fcn.0042e090
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0xb08]
call fcn.0042ed20
push 0x4a591c
lea ecx, [ebp - 0x140]
call fcn.004456b0
mov dword [ebp - 0xa04], eax
mov ecx, dword [ebp - 0xa04]
push ecx
lea edx, [ebp - 0xb0c]
push edx
lea ecx, [ebp - 0x140]
call fcn.00445310
mov dword [ebp - 0xd08], eax
mov eax, dword [ebp - 0xd08]
mov dword [ebp - 0xd0c], eax
mov byte [ebp - 4], 0x42
mov ecx, dword [ebp - 0xd0c]
push ecx
lea ecx, [ebp - 0x9f4]
call fcn.0042e090
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0xb0c]
call fcn.0042ed20
mov edx, dword [ebp - 0xa04]
add edx, 1
push edx
lea eax, [ebp - 0xb10]
push eax
lea ecx, [ebp - 0x140]
call fcn.004451e0
mov dword [ebp - 0xd10], eax
mov ecx, dword [ebp - 0xd10]
mov dword [ebp - 0xd14], ecx
mov byte [ebp - 4], 0x43
mov edx, dword [ebp - 0xd14]
push edx
lea ecx, [ebp - 0x140]
call fcn.0042e090
mov byte [ebp - 4], 0x3d
lea ecx, [ebp - 0xb10]
call fcn.0042ed20
lea eax, [ebp - 0x140]
push eax
lea ecx, [ebp - 0xa00]
call fcn.0042e090
lea ecx, [ebp - 0xa00]
call fcn.00453990
push eax
call fcn.00474b5c
add esp, 4
push eax
lea ecx, [ebp - 0x9f4]
call fcn.00453990
push eax
call fcn.00474b5c
add esp, 4
push eax
lea ecx, [ebp - 0x9f8]
call fcn.00453990
push eax
call fcn.00474b5c
add esp, 4
push eax
lea ecx, [ebp - 0x9fc]
call fcn.00453990
push eax
call fcn.00474b5c
add esp, 4
push eax
push 0x4a5920
lea ecx, [ebp - 0x140]
push ecx
call fcn.0042e430
add esp, 0x18
lea ecx, [ebp - 0xa00]
call fcn.00453990
push eax
call fcn.00474b5c
add esp, 4
cmp eax, 0x42
jl 0x45da54
mov edx, dword [ebp - 0xb58]
mov dword [edx + 0x48], 1
push str.server_manage_wl
push 0x4a5944
call fcn.00401340
add esp, 4
push eax
call fcn.004013f0
add esp, 8
mov byte [ebp - 4], 0x3c
lea ecx, [ebp - 0xa00]
call fcn.0042ed20
mov byte [ebp - 4], 0x3b
lea ecx, [ebp - 0x9f4]
call fcn.0042ed20
mov byte [ebp - 4], 0x3a
lea ecx, [ebp - 0x9f8]
call fcn.0042ed20
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x9fc]
call fcn.0042ed20
mov ecx, dword [ebp - 0xb58]
add ecx, 0x5c
call fcn.00453990
push eax
call fcn.00474b5c
add esp, 4
mov dword [ebp - 0x594], eax
lea ecx, [ebp - 0x140]
call fcn.00453990
push eax
call fcn.00474b5c
add esp, 4
mov dword [ebp - 0x590], eax
mov eax, dword [ebp - 0xb58]
cmp dword [eax + 0x1c], 0
je 0x45dae2
mov ecx, dword [ebp - 0xb58]
mov dword [ecx + 0x40], 2
jmp 0x45daef
mov edx, dword [ebp - 0xb58]
mov dword [edx + 0x40], 3
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x58c]
call fcn.0042ed20
jmp 0x45dec3
mov eax, dword [ebp - 0xb58]
cmp dword [eax + 0x1c], 0
je 0x45db44
push 0x10
push 0x4a5974
call fcn.00429fc0
add esp, 4
push eax
push str.1013
call fcn.00429fc0
add esp, 4
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov dword [ebp - 0x580], 0
jmp 0x45decb
lea ecx, [ebp - 0xb14]
push ecx
mov ecx, 0x4c3688
call fcn.0045f730
mov dword [ebp - 0xd18], eax
mov edx, dword [ebp - 0xd18]
mov dword [ebp - 0xd1c], edx
mov byte [ebp - 4], 0x44
mov eax, dword [ebp - 0xd1c]
push eax
mov ecx, dword [ebp - 0xb58]
add ecx, 0x18
call fcn.0042e090
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0xb14]
call fcn.0042ed20
mov ecx, dword [ebp - 0xb58]
cmp dword [ecx + 0x20], 0
jne 0x45deb6
mov dword [ebp - 0x580], 1
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xb18], esp
push str.BIN_FILE
call fcn.00401c70
mov dword [ebp - 0xd20], eax
mov edx, dword [ebp - 0xd20]
mov dword [ebp - 0xd24], edx
mov byte [ebp - 4], 0x45
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xb1c], esp
push 0x4a59a0
call fcn.00401c70
mov dword [ebp - 0xd28], eax
mov eax, dword [ebp - 0xd28]
mov dword [ebp - 0xd2c], eax
mov byte [ebp - 4], 0x46
mov ecx, dword [ebp - 0xb58]
add ecx, 0x19c
call fcn.00453990
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0xb20], esp
push eax
call fcn.00401c70
mov dword [ebp - 0xd30], eax
mov byte [ebp - 4], 0x2d
mov ecx, dword [ebp - 0xb58]
call fcn.0045ef90
mov dword [ebp - 0xd34], eax
cmp dword [ebp - 0xd34], 0
jne 0x45dc4a
jmp 0x45de9f
mov ecx, dword [ebp - 0xb58]
add ecx, 0x19c
call fcn.00453990
push eax
mov ecx, dword [ebp - 0xb58]
add ecx, 8
call fcn.0041f950
test eax, eax
jne 0x45dc9b
mov ecx, dword [ebp - 0xb58]
mov edx, dword [ecx + 0x19c]
push edx
push str.load__s_failed
push 0x4a59b8
call fcn.00401340
add esp, 4
push eax
call fcn.00401590
add esp, 0xc
jmp 0x45de9f
push 0
mov ecx, dword [ebp - 0xb58]
add ecx, 8
call fcn.0041f970
test eax, eax
jne 0x45dcb4
jmp 0x45de9f
mov dword [ebp - 0xa0c], 0
mov eax, dword [ebp - 0xb58]
add eax, 0x28
push eax
lea ecx, [ebp - 0xa0c]
push ecx
mov ecx, dword [ebp - 0xb58]
add ecx, 8
call fcn.0041fee0
test eax, eax
jne 0x45dd27
mov ecx, dword [ebp - 0xb58]
add ecx, 8
call fcn.0041fe40
test eax, eax
je 0x45dd0f
mov edx, dword [ebp - 0xb58]
mov dword [edx + 0x6c], 0
mov eax, dword [ebp - 0xb58]
mov dword [eax + 0x70], 1
jmp 0x45dd22
mov ecx, dword [ebp - 0xb58]
add ecx, 8
call fcn.0041fa50
jmp 0x45de9f
jmp 0x45ddb7
mov ecx, dword [ebp - 0xb58]
mov dword [ecx + 0x6c], 0
mov ecx, dword [ebp - 0xb58]
add ecx, 8
call fcn.0041ffd0
test eax, eax
je 0x45dd62
mov edx, dword [ebp - 0xb58]
mov dword [edx + 0x2c], 1
mov dword [ebp - 0x580], 1
jmp 0x45de9f
cmp dword [ebp - 0xa0c], 0
ja 0x45dda8
mov dword [ebp - 0x580], 0
push 0x10
push str.1000
call fcn.00429fc0
add esp, 4
push eax
push str.1018
call fcn.00429fc0
add esp, 4
push eax
mov eax, dword [ebp - 0xb58]
mov ecx, dword [eax + 4]
push ecx
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x45de9f
mov edx, dword [ebp - 0xb58]
mov eax, dword [ebp - 0xa0c]
mov dword [edx + 0x24], eax
push ecx
mov ecx, esp
mov dword [ebp - 0xb24], esp
lea edx, [ebp - 0x14]
push edx
call fcn.0042de60
mov dword [ebp - 0xd38], eax
mov eax, dword [ebp - 0xd38]
mov dword [ebp - 0xd3c], eax
mov byte [ebp - 4], 0x47
push ecx
mov ecx, esp
mov dword [ebp - 0xb28], esp
push str.suid
call fcn.0042deb0
mov dword [ebp - 0xd40], eax
mov ecx, dword [ebp - 0xd40]
mov dword [ebp - 0xd44], ecx
mov byte [ebp - 4], 0x48
push ecx
mov ecx, esp
mov dword [ebp - 0xb2c], esp
push str.VERSION
call fcn.0042deb0
mov dword [ebp - 0xd48], eax
lea edx, [ebp - 0xa08]
push edx
mov byte [ebp - 4], 0x2d
call fcn.0042a010
add esp, 0x10
mov dword [ebp - 0xd4c], eax
mov byte [ebp - 4], 0x49
lea ecx, [ebp - 0xa08]
call fcn.004451a0
test eax, eax
jne 0x45de88
push 0x4a5a18
lea eax, [ebp - 0xa08]
push eax
call fcn.00445860
movzx ecx, al
test ecx, ecx
je 0x45de88
lea ecx, [ebp - 0xa08]
call fcn.00453990
push eax
push 9
mov edx, dword [ebp - 0xb58]
add edx, 0x32c
push edx
call fcn.00472a0a
add esp, 0xc
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0xa08]
call fcn.0042ed20
xor eax, eax
jne 0x45dba9
cmp dword [ebp - 0x580], 0
jne 0x45deb6
mov ecx, dword [ebp - 0xb58]
add ecx, 8
call fcn.0041fa50
mov ecx, dword [ebp - 0xb58]
mov dword [ecx + 0x40], 1
xor edx, edx
jne 0x45cd5b
lea ecx, [ebp - 0x57c]
call fcn.00453990
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [ebp - 0x14]
call fcn.00453990
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp dword [ebp - 0x580], 0
jne 0x45df70
mov dword [ebp - 0xb30], 0
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x350]
call fcn.0042ed20
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x568]
call fcn.0042ed20
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x140]
call fcn.0042ed20
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x14]
call fcn.0042ed20
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x57c]
call fcn.0042ed20
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x10]
call fcn.0042ed20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x13c]
call fcn.0041f800
mov eax, dword [ebp - 0xb30]
jmp 0x45e201
mov eax, dword [ebp - 0xb58]
cmp dword [eax + 0x40], 3
jne 0x45dfb5
push str.Repare
push 0x4a5a38
call fcn.00401340
add esp, 4
push eax
call fcn.004013f0
add esp, 8
push str.1019
call fcn.00429fc0
add esp, 4
push eax
mov ecx, dword [ebp - 0xb58]
add ecx, 0x58
call fcn.0042e120
jmp 0x45e031
mov ecx, dword [ebp - 0xb58]
cmp dword [ecx + 0x40], 2
jne 0x45dffa
push str.Update
push 0x4a5a60
call fcn.00401340
add esp, 4
push eax
call fcn.004013f0
add esp, 8
push str.1020
call fcn.00429fc0
add esp, 4
push eax
mov ecx, dword [ebp - 0xb58]
add ecx, 0x58
call fcn.0042e120
jmp 0x45e031
push str.Install
push 0x4a5a88
call fcn.00401340
add esp, 4
push eax
call fcn.004013f0
add esp, 8
push str.1021
call fcn.00429fc0
add esp, 4
push eax
mov ecx, dword [ebp - 0xb58]
add ecx, 0x58
call fcn.0042e120
mov edx, dword [ebp - 0xb58]
cmp dword [edx + 0x40], 1
je 0x45e131
lea ecx, [ebp - 0xa14]
call fcn.0040b370
mov byte [ebp - 4], 0x4a
push 0x14
mov eax, dword [ebp - 0xb58]
add eax, 0x344
push eax
push 0x4a5ab0
mov ecx, dword [ebp - 0xb58]
add ecx, 0x36c
push ecx
lea edx, [ebp - 0xb50]
push edx
call fcn.00444a70
add esp, 0xc
mov dword [ebp - 0xd50], eax
mov eax, dword [ebp - 0xd50]
mov dword [ebp - 0xd54], eax
mov byte [ebp - 4], 0x4b
mov ecx, dword [ebp - 0xd54]
call fcn.00401ff0
push eax
mov ecx, dword [ebp - 0xb58]
call fcn.0045ff20
neg eax
sbb eax, eax
add eax, 1
mov byte [ebp - 0xb31], al
mov byte [ebp - 4], 0x4a
lea ecx, [ebp - 0xb50]
call fcn.00401ce0
movzx ecx, byte [ebp - 0xb31]
test ecx, ecx
je 0x45e0f5
push 0x4a5ad0
push 0x4a5ae4
push 0x4a5ac4
call fcn.00401340
add esp, 4
push eax
call fcn.00401590
add esp, 0xc
jmp 0x45e122
mov edx, dword [ebp - 0xb58]
add edx, 0x344
push edx
push 0x4a5b14
push str.old__s_ver:_s
push 0x4a5b08
call fcn.00401340
add esp, 4
push eax
call fcn.004013f0
add esp, 0x10
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0xa14]
call fcn.0040b430
push 1
push str.SeSecurityPrivilege
mov ecx, dword [ebp - 0xb58]
call fcn.0045f5a0
push 1
push str.SeSystemProfilePrivilege
mov ecx, dword [ebp - 0xb58]
call fcn.0045f5a0
push 1
push str.SeTakeOwnershipPrivilege
mov ecx, dword [ebp - 0xb58]
call fcn.0045f5a0
push 1
push str.SeSystemtimePrivilege
mov ecx, dword [ebp - 0xb58]
call fcn.0045f5a0
push 1
push str.SeDebugPrivilege
mov ecx, dword [ebp - 0xb58]
call fcn.0045f5a0
mov dword [ebp - 0xb54], 1
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0x350]
call fcn.0042ed20
mov byte [ebp - 4], 0x1c
lea ecx, [ebp - 0x568]
call fcn.0042ed20
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x140]
call fcn.0042ed20
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x14]
call fcn.0042ed20
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x57c]
call fcn.0042ed20
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x10]
call fcn.0042ed20
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x13c]
call fcn.0041f800
mov eax, dword [ebp - 0xb54]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.00472a79
mov esp, ebp
pop ebp
ret