Function at 0x10001750
Capabilities:
Check if file exists
Contain obfuscated stackstrings
Create thread
Get common file path
Get file size
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10073bd7
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
mov eax, 0x1938
call fcn.1001eaa0
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x10]
add ecx, 0x30
call fcn.1000d720
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x10]
add eax, 0x48
mov dword [ebp - 0x1d4], eax
mov ecx, dword [ebp - 0x1d4]
mov dword [ebp - 0xac], ecx
mov edx, dword [ebp - 0xac]
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x28]
mov dword [eax], 0
mov ecx, dword [ebp - 0x28]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0x28]
mov dword [edx + 8], 0
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x10]
add eax, 0x54
mov dword [ebp - 0xb0], eax
mov ecx, dword [ebp - 0xb0]
mov dword [ebp - 0xb4], ecx
mov edx, dword [ebp - 0xb4]
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x2c]
mov dword [eax], 0
mov ecx, dword [ebp - 0x2c]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0x2c]
mov dword [edx + 8], 0
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x10]
add eax, 0x60
mov dword [ebp - 0xb8], eax
mov ecx, dword [ebp - 0xb8]
mov dword [ebp - 0xbc], ecx
mov edx, dword [ebp - 0xbc]
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x30]
mov dword [eax], 0
mov ecx, dword [ebp - 0x30]
mov dword [ecx + 4], 0
mov edx, dword [ebp - 0x30]
mov dword [edx + 8], 0
mov byte [ebp - 4], 4
mov eax, dword [ebp - 0x10]
add eax, 0x407c
mov dword [ebp - 0x80], eax
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0xc0], ecx
mov ecx, dword [ebp - 0xc0]
call fcn.1000d2e0
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x80]
call fcn.1000fbd0
mov byte [ebp - 4], 4
mov byte [ebp - 4], 6
mov edx, dword [ebp - 0x10]
add edx, 0x4090
mov dword [ebp - 0x84], edx
mov eax, dword [ebp - 0x84]
mov dword [ebp - 0xc4], eax
mov ecx, dword [ebp - 0xc4]
call fcn.1000d2e0
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x84]
call fcn.1000fbd0
mov byte [ebp - 4], 6
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x10]
add ecx, 0x40a8
call fcn.1000d720
mov byte [ebp - 4], 9
mov ecx, dword [ebp - 0x10]
add ecx, 0x40d0
mov dword [ebp - 0xc8], ecx
lea edx, [ebp - 0x21]
push edx
mov ecx, dword [ebp - 0xc8]
call fcn.1000d320
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x10]
add eax, 0x40e0
mov dword [ebp - 0x88], eax
mov ecx, dword [ebp - 0x88]
call fcn.1000d720
mov ecx, dword [ebp - 0x88]
add ecx, 0x2c
call fcn.1000d720
mov byte [ebp - 4], 0xb
mov ecx, dword [ebp - 0x10]
add ecx, 0x4124
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0xcc]
mov dword [ebp - 0xd0], edx
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x34]
mov dword [ecx], 0
mov edx, dword [ebp - 0x34]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0x34]
mov dword [eax + 8], 0
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x10]
add ecx, 0x4130
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x38]
mov dword [ecx], 0
mov edx, dword [ebp - 0x38]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0x38]
mov dword [eax + 8], 0
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x10]
add ecx, 0x413c
mov dword [ebp - 0xdc], ecx
mov edx, dword [ebp - 0xdc]
mov dword [ebp - 0xe0], edx
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x3c]
mov dword [ecx], 0
mov edx, dword [ebp - 0x3c]
mov dword [edx + 4], 0
mov eax, dword [ebp - 0x3c]
mov dword [eax + 8], 0
mov byte [ebp - 4], 0xe
mov ecx, dword [ebp - 0x10]
add ecx, 0x4180
call fcn.1000d720
mov byte [ebp - 4], 0xf
mov ecx, dword [ebp - 0x10]
add ecx, 0x4198
mov dword [ebp - 0xe4], ecx
call fcn.1000edb0
push eax
mov ecx, dword [ebp - 0xe4]
call fcn.1000d110
mov byte [ebp - 4], 0x10
mov ecx, dword [ebp - 0x10]
add ecx, 0x419c
call fcn.1000d720
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x4178], 0
mov dword [edx + 0x417c], 0
mov eax, dword [ebp - 0x10]
add eax, 0x4198
mov dword [ebp - 0xe8], eax
mov ecx, 0x1007757c
test ecx, ecx
jne 0x10001a71
mov dword [ebp - 0x8c], 0
jmp 0x10001a84
push 0x1007757c
call fcn.10048ec4
add esp, 4
mov dword [ebp - 0x8c], eax
mov edx, dword [ebp - 0x8c]
push edx
push 0x1007757c
mov ecx, dword [ebp - 0xe8]
call fcn.1000f9a0
call dword [sym.imp.KERNEL32.dll_WTSGetActiveConsoleSessionId]
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x4170], eax
mov dword [0x100ad534], 0
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x416c], 0
mov eax, dword [ebp - 0x10]
mov byte [eax], 0
mov ecx, dword [ebp - 0x10]
mov byte [ecx + 0x14], 1
mov byte [0x1008f3f1], 0
mov edx, dword [ebp - 0x10]
mov byte [edx + 0x2b], 1
mov eax, dword [ebp - 0x10]
mov byte [eax + 0x29], 0
mov ecx, dword [ebp - 0x10]
mov byte [ecx + 0x25], 0
mov edx, dword [ebp - 0x10]
mov byte [edx + 0x24], 1
mov eax, dword [ebp - 0x10]
mov byte [eax + 0x40d8], 0
mov ecx, dword [ebp - 0x10]
mov byte [ecx + 0x40d9], 0
mov edx, dword [ebp - 0x10]
mov byte [edx + 0x40da], 0
mov eax, dword [ebp - 0x10]
mov byte [eax + 0x40db], 0
mov ecx, dword [ebp - 0x10]
mov byte [ecx + 0x40dc], 0
mov edx, dword [ebp - 0x10]
mov byte [edx + 0x2a], 0
mov eax, dword [ebp - 0x10]
mov byte [eax + 0x40de], 0
mov ecx, dword [ebp - 0x10]
mov byte [ecx + 0x40dd], 0
mov edx, dword [ebp - 0x10]
mov byte [edx + 0x40df], 0
mov eax, dword [ebp - 0x10]
mov byte [eax + 0x415c], 0
mov ecx, dword [ebp - 0x10]
mov byte [ecx + 0x415d], 0
mov edx, dword [ebp - 0x10]
mov byte [edx + 0x415e], 0
mov eax, dword [ebp - 0x10]
mov byte [eax + 0x28], 0
mov ecx, dword [ebp - 0x10]
mov byte [ecx + 0x27], 0
mov dword [0x1008f404], 0
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x4160], 0xffffffff
mov dword [edx + 0x4164], 0xffffffff
mov eax, dword [ebp - 0x10]
mov byte [eax + 0x2c], 0
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x40a4], 0
mov byte [ebp - 4], 0x12
mov ecx, dword [ebp - 0x10]
add ecx, 0x407c
call fcn.10012760
mov byte [ebp - 4], 0x13
mov ecx, dword [ebp - 0x10]
add ecx, 0x4090
call fcn.10012760
mov byte [ebp - 4], 0x11
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov dword [ebp - 0xec], eax
push 0x4000000
push 0x4000000
mov edx, dword [ebp - 0xec]
push edx
call dword [sym.imp.KERNEL32.dll_SetProcessWorkingSetSize]
push 0
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 8], eax
push 0
push 0
push 1
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0xc], eax
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x10], eax
push 0
push 0
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateEventW]
mov edx, dword [ebp - 0x10]
mov dword [edx + 4], eax
push str.GlobalPCAScannerMutex
push 0
push 0x1f0001
call dword [sym.imp.KERNEL32.dll_OpenMutexW]
mov dword [0x1008f400], eax
cmp dword [0x1008f400], 0
je 0x10001c70
mov byte [0x1008f3f2], 0
jmp 0x10001d0e
mov byte [ebp - 0x1f4], 0
xor eax, eax
mov dword [ebp - 0x1f3], eax
mov dword [ebp - 0x1ef], eax
mov dword [ebp - 0x1eb], eax
mov dword [ebp - 0x1e7], eax
mov word [ebp - 0x1e3], ax
mov byte [ebp - 0x1e1], al
push 1
lea ecx, [ebp - 0x1f4]
push ecx
call dword [sym.imp.ADVAPI32.dll_InitializeSecurityDescriptor]
push 0
push 0
push 1
lea edx, [ebp - 0x1f4]
push edx
call dword [sym.imp.ADVAPI32.dll_SetSecurityDescriptorDacl]
mov dword [ebp - 0x1e0], 0
xor eax, eax
mov dword [ebp - 0x1dc], eax
mov dword [ebp - 0x1d8], eax
mov dword [ebp - 0x1e0], 0xc
lea ecx, [ebp - 0x1f4]
mov dword [ebp - 0x1dc], ecx
push str.GlobalPCAScannerMutex
push 0
lea edx, [ebp - 0x1e0]
push edx
call dword [sym.imp.KERNEL32.dll_CreateMutexW]
mov dword [0x1008f400], eax
mov byte [0x1008f3f2], 1
mov ax, word [0x1007757c]
mov word [ebp - 0x944], ax
push 0x206
push 0
lea ecx, [ebp - 0x942]
push ecx
call fcn.10040790
add esp, 0xc
push 0x104
lea edx, [ebp - 0x944]
push edx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x944]
push eax
call fcn.10048ec4
add esp, 4
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x20]
sub ecx, 1
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0x20]
movzx eax, word [ebp + edx*2 - 0x944]
cmp eax, 0x5c
je 0x10001d7f
xor ecx, ecx
mov edx, dword [ebp - 0x20]
mov word [ebp + edx*2 - 0x944], cx
jmp 0x10001d57
movzx eax, word [ebp - 0x944]
test eax, eax
jne 0x10001d96
mov dword [ebp - 0x90], 0
jmp 0x10001dab
lea ecx, [ebp - 0x944]
push ecx
call fcn.10048ec4
add esp, 4
mov dword [ebp - 0x90], eax
mov edx, dword [ebp - 0x90]
push edx
lea eax, [ebp - 0x944]
push eax
mov ecx, dword [ebp - 0x10]
add ecx, 0x30
call fcn.10013680
xor ecx, ecx
mov word [ebp - 0x73c], cx
push 0x206
push 0
lea edx, [ebp - 0x73a]
push edx
call fcn.10040790
add esp, 0xc
movzx eax, byte [ebp + 0x20]
test eax, eax
je 0x10001df7
mov dword [ebp - 0x94], 0x23
jmp 0x10001e01
mov dword [ebp - 0x94], 0x1c
push 0
mov ecx, dword [ebp - 0x94]
push ecx
lea edx, [ebp - 0x73c]
push edx
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
lea eax, [ebp - 0xf8]
push eax
call fcn.10001660
add esp, 4
mov dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0xf0]
mov edx, dword [ecx]
mov dword [ebp - 0xf4], edx
mov eax, dword [ebp - 0xf4]
push eax
lea ecx, [ebp - 0x73c]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
mov edx, dword [ebp - 0xf8]
sub edx, 0x10
mov dword [ebp - 0xfc], edx
mov ecx, dword [ebp - 0xfc]
call fcn.1000f520
lea eax, [ebp - 0x73c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x10001e8a
lea ecx, [ebp - 0x73c]
push ecx
call fcn.1000b500
add esp, 4
lea edx, [ebp - 0x73c]
push edx
push 0x100
push 0x100ad538
call fcn.10048dcd
add esp, 0xc
push 0x10077e7c
lea eax, [ebp - 0x73c]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendW]
lea ecx, [ebp - 0x73c]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x10001ed5
lea edx, [ebp - 0x73c]
push edx
call fcn.1000b500
add esp, 4
push 0x100ad538
lea ecx, [ebp - 0x3b4]
call fcn.1000d680
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0x104], eax
mov byte [ebp - 4], 0x14
push str.RPCA.conf
mov ecx, dword [ebp - 0x104]
push ecx
lea edx, [ebp - 0x39c]
push edx
call fcn.1000c240
add esp, 0xc
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x10c], eax
mov byte [ebp - 4], 0x15
mov ecx, dword [ebp - 0x10c]
mov dword [ebp - 0x110], ecx
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x40]
cmp dword [eax + 0x14], 8
jb 0x10001f5d
mov ecx, dword [ebp - 0x244]
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x40]
mov eax, dword [edx]
mov dword [ebp - 0x44], eax
jmp 0x10001f63
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x114], edx
push 0
push 0x80
push 2
push 0
push 1
push 0x40000000
mov eax, dword [ebp - 0x114]
push eax
call dword [0x100ad888]
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x16
push 0
push 1
lea ecx, [ebp - 0x39c]
call fcn.100125f0
mov byte [ebp - 4], 0x17
push 0
push 1
lea ecx, [ebp - 0x3b4]
call fcn.100125f0
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x14], 0xffffffff
je 0x10002367
push 0
push 0
push 0
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
mov byte [ebp - 0x1144], 0
push 0x7ff
push 0
lea eax, [ebp - 0x1143]
push eax
call fcn.10040790
add esp, 0xc
push str.PidFile__
push 0x800
lea ecx, [ebp - 0x1144]
push ecx
call fcn.10049b05
add esp, 0xc
push str.RPCA.pid
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x248], esp
push 0x100ad538
call fcn.1000d680
mov dword [ebp - 0x24c], eax
lea edx, [ebp - 0x3e4]
push edx
call fcn.1000adf0
add esp, 0x1c
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x11c], eax
mov byte [ebp - 4], 0x18
mov ecx, dword [ebp - 0x11c]
push ecx
lea edx, [ebp - 0x3cc]
push edx
call fcn.1000be30
add esp, 0xc
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x124], eax
mov ecx, dword [ebp - 0x124]
mov dword [ebp - 0x128], ecx
mov edx, dword [ebp - 0x128]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x48]
cmp dword [eax + 0x14], 0x10
jb 0x100020b0
mov ecx, dword [ebp - 0x208]
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x48]
mov eax, dword [edx]
mov dword [ebp - 0x4c], eax
jmp 0x100020b6
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x12c], edx
mov eax, dword [ebp - 0x12c]
push eax
push 0x800
lea ecx, [ebp - 0x1144]
push ecx
call fcn.10049bc8
add esp, 0xc
mov byte [ebp - 4], 0x19
push 0
push 1
lea ecx, [ebp - 0x3cc]
call fcn.10012480
mov byte [ebp - 4], 0x1a
push 0
push 1
lea ecx, [ebp - 0x3e4]
call fcn.10012480
mov byte [ebp - 4], 0x11
push str.__r_nLogFile__
push 0x800
lea edx, [ebp - 0x1144]
push edx
call fcn.10049bc8
add esp, 0xc
push str.RPCA.log
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x20c], esp
push 0x100ad538
call fcn.1000d680
mov dword [ebp - 0x210], eax
lea eax, [ebp - 0x414]
push eax
call fcn.1000adf0
add esp, 0x1c
mov dword [ebp - 0x130], eax
mov ecx, dword [ebp - 0x130]
mov dword [ebp - 0x134], ecx
mov byte [ebp - 4], 0x1b
mov edx, dword [ebp - 0x134]
push edx
lea eax, [ebp - 0x3fc]
push eax
call fcn.1000be30
add esp, 0xc
mov dword [ebp - 0x138], eax
mov ecx, dword [ebp - 0x138]
mov dword [ebp - 0x13c], ecx
mov edx, dword [ebp - 0x13c]
mov dword [ebp - 0x140], edx
mov eax, dword [ebp - 0x140]
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 0x50]
cmp dword [ecx + 0x14], 0x10
jb 0x100021bb
mov edx, dword [ebp - 0x214]
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x50]
mov ecx, dword [eax]
mov dword [ebp - 0x54], ecx
jmp 0x100021c1
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x144], eax
mov ecx, dword [ebp - 0x144]
push ecx
push 0x800
lea edx, [ebp - 0x1144]
push edx
call fcn.10049bc8
add esp, 0xc
mov byte [ebp - 4], 0x1c
push 0
push 1
lea ecx, [ebp - 0x3fc]
call fcn.10012480
mov byte [ebp - 4], 0x1d
push 0
push 1
lea ecx, [ebp - 0x414]
call fcn.10012480
mov byte [ebp - 4], 0x11
push str.__r_nDatabaseDirectory__
push 0x800
lea eax, [ebp - 0x1144]
push eax
call fcn.10049bc8
add esp, 0xc
push str.database
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x218], esp
push 0x100ad538
call fcn.1000d680
mov dword [ebp - 0x21c], eax
lea ecx, [ebp - 0x444]
push ecx
call fcn.1000adf0
add esp, 0x1c
mov dword [ebp - 0x148], eax
mov edx, dword [ebp - 0x148]
mov dword [ebp - 0x14c], edx
mov byte [ebp - 4], 0x1e
mov eax, dword [ebp - 0x14c]
push eax
lea ecx, [ebp - 0x42c]
push ecx
call fcn.1000be30
add esp, 0xc
mov dword [ebp - 0x150], eax
mov edx, dword [ebp - 0x150]
mov dword [ebp - 0x154], edx
mov eax, dword [ebp - 0x154]
mov dword [ebp - 0x158], eax
mov ecx, dword [ebp - 0x158]
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 0x58]
cmp dword [edx + 0x14], 0x10
jb 0x100022c6
mov eax, dword [ebp - 0x220]
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x58]
mov edx, dword [ecx]
mov dword [ebp - 0x5c], edx
jmp 0x100022cc
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x15c], ecx
mov edx, dword [ebp - 0x15c]
push edx
push 0x800
lea eax, [ebp - 0x1144]
push eax
call fcn.10049bc8
add esp, 0xc
mov byte [ebp - 4], 0x1f
push 0
push 1
lea ecx, [ebp - 0x42c]
call fcn.10012480
mov byte [ebp - 4], 0x20
push 0
push 1
lea ecx, [ebp - 0x444]
call fcn.10012480
mov byte [ebp - 4], 0x11
push str.__r_nTCPSocket_3310_r_nTCPAddr_127.0.0.1_r_nSelfCheck_0_r_nDisableCertCheck_yes_r_nForceToDisk_no_r_nScanELF_no_r_nPhishingSignatures_no_r_nPhishingScanURLs_no_r_n
push 0x800
lea ecx, [ebp - 0x1144]
push ecx
call fcn.10049bc8
add esp, 0xc
push 0
lea edx, [ebp - 0x224]
push edx
lea eax, [ebp - 0x1144]
push eax
call fcn.10049dd0
add esp, 4
push eax
lea ecx, [ebp - 0x1144]
push ecx
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x100ad538
lea ecx, [ebp - 0x474]
call fcn.1000d680
mov dword [ebp - 0x160], eax
mov ecx, dword [ebp - 0x160]
mov dword [ebp - 0x164], ecx
mov byte [ebp - 4], 0x21
push str.PCAU.conf
mov edx, dword [ebp - 0x164]
push edx
lea eax, [ebp - 0x45c]
push eax
call fcn.1000c240
add esp, 0xc
mov dword [ebp - 0x168], eax
mov ecx, dword [ebp - 0x168]
mov dword [ebp - 0x16c], ecx
mov byte [ebp - 4], 0x22
mov edx, dword [ebp - 0x16c]
mov dword [ebp - 0x170], edx
mov eax, dword [ebp - 0x170]
mov dword [ebp - 0x60], eax
mov ecx, dword [ebp - 0x60]
cmp dword [ecx + 0x14], 8
jb 0x100023ef
mov edx, dword [ebp - 0x228]
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x60]
mov ecx, dword [eax]
mov dword [ebp - 0x64], ecx
jmp 0x100023f5
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x174], eax
push 0
push 0x80
push 2
push 0
push 1
push 0x40000000
mov ecx, dword [ebp - 0x174]
push ecx
call dword [0x100ad888]
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x23
push 0
push 1
lea ecx, [ebp - 0x45c]
call fcn.100125f0
mov byte [ebp - 4], 0x24
push 0
push 1
lea ecx, [ebp - 0x474]
call fcn.100125f0
mov byte [ebp - 4], 0x11
cmp dword [ebp - 0x14], 0xffffffff
je 0x10002688
push 0
push 0
push 0
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
lea ecx, [ebp + 8]
mov dword [ebp - 0x178], ecx
mov edx, dword [ebp - 0x178]
mov dword [ebp - 0x17c], edx
mov eax, dword [ebp - 0x17c]
add eax, 0x10
mov dword [ebp - 0x180], eax
mov ecx, dword [ebp - 0x180]
cmp dword [ecx], 0
jne 0x100024a9
mov dword [ebp - 0x98], 1
jmp 0x100024b3
mov dword [ebp - 0x98], 0
mov dl, byte [ebp - 0x98]
mov byte [ebp - 0x15], dl
movzx eax, byte [ebp - 0x15]
test eax, eax
je 0x10002502
movzx ecx, word [str.database.clamav.net]
test ecx, ecx
jne 0x100024db
mov dword [ebp - 0x9c], 0
jmp 0x100024ee
push str.database.clamav.net
call fcn.10048ec4
add esp, 4
mov dword [ebp - 0x9c], eax
mov edx, dword [ebp - 0x9c]
push edx
push str.database.clamav.net
lea ecx, [ebp + 8]
call fcn.10013680
lea eax, [ebp + 8]
push eax
push str.DatabaseMirror
lea ecx, [ebp - 0x4a4]
push ecx
call fcn.1000c3c0
add esp, 0xc
mov dword [ebp - 0x184], eax
mov edx, dword [ebp - 0x184]
mov dword [ebp - 0x188], edx
mov byte [ebp - 4], 0x25
push str._r_nScriptedUpdates_yes
mov eax, dword [ebp - 0x188]
push eax
lea ecx, [ebp - 0x48c]
push ecx
call fcn.1000c240
add esp, 0xc
mov dword [ebp - 0x18c], eax
mov edx, dword [ebp - 0x18c]
push edx
lea ecx, [ebp + 8]
call fcn.1000de20
mov byte [ebp - 4], 0x26
push 0
push 1
lea ecx, [ebp - 0x48c]
call fcn.100125f0
mov byte [ebp - 4], 0x27
push 0
push 1
lea ecx, [ebp - 0x4a4]
call fcn.100125f0
mov byte [ebp - 4], 0x11
mov byte [ebp - 0x1944], 0
push 0x7ff
push 0
lea eax, [ebp - 0x1943]
push eax
call fcn.10040790
add esp, 0xc
sub esp, 0x18
mov ecx, esp
mov dword [ebp - 0x22c], esp
lea edx, [ebp + 8]
push edx
call fcn.1000d5d0
mov dword [ebp - 0x230], eax
lea eax, [ebp - 0x4bc]
push eax
call fcn.1000adf0
add esp, 0x1c
mov dword [ebp - 0x190], eax
mov ecx, dword [ebp - 0x190]
mov dword [ebp - 0x194], ecx
mov edx, dword [ebp - 0x194]
mov dword [ebp - 0x198], edx
mov eax, dword [ebp - 0x198]
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp - 0x68]
cmp dword [ecx + 0x14], 0x10
jb 0x10002613
mov edx, dword [ebp - 0x234]
mov dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x68]
mov ecx, dword [eax]
mov dword [ebp - 0x6c], ecx
jmp 0x10002619
mov edx, dword [ebp - 0x68]
mov dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x19c], eax
mov ecx, dword [ebp - 0x19c]
push ecx
push 0x800
lea edx, [ebp - 0x1944]
push edx
call fcn.10049bc8
add esp, 0xc
mov byte [ebp - 4], 0x28
push 0
push 1
lea ecx, [ebp - 0x4bc]
call fcn.10012480
mov byte [ebp - 4], 0x11
push 0
lea eax, [ebp - 0x238]
push eax
lea ecx, [ebp - 0x1944]
push ecx
call fcn.10049dd0
add esp, 4
push eax
lea edx, [ebp - 0x1944]
push edx
mov eax, dword [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov ecx, dword [ebp - 0x14]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 0x10]
mov dword [edx + 0x20], 0
mov eax, dword [ebp - 0x10]
mov dword [eax + 0x1c], 0
push 0x100775c8
push 0
call fcn.10053269
add esp, 8
xor ecx, ecx
mov word [ebp - 0x204], cx
xor edx, edx
mov dword [ebp - 0x202], edx
mov dword [ebp - 0x1fe], edx
mov dword [ebp - 0x1fa], edx
mov word [ebp - 0x1f6], dx
mov dword [ebp - 0xa8], 0
xor eax, eax
mov dword [ebp - 0xa4], eax
lea ecx, [ebp - 0x204]
push ecx
call dword [sym.imp.KERNEL32.dll_GetSystemTime]
lea edx, [ebp - 0xa8]
push edx
lea eax, [ebp - 0x204]
push eax
call dword [sym.imp.KERNEL32.dll_SystemTimeToFileTime]
mov eax, dword [ebp - 0xa4]
xor edx, edx
and eax, 0x7fffffff
and edx, 0
mov cl, 0x20
call fcn.1001ea80
xor ecx, ecx
or eax, dword [ebp - 0xa8]
or edx, ecx
mov ecx, dword [ebp - 0x10]
mov dword [ecx + 0x70], eax
mov dword [ecx + 0x74], edx
push 0x10078020
lea ecx, [ebp - 0x27c]
call fcn.1000d680
mov byte [ebp - 4], 0x29
lea edx, [ebp - 0x27c]
push edx
mov ecx, dword [ebp - 0x10]
add ecx, 0x48
call fcn.10015d90
mov byte [ebp - 4], 0x2a
push 0
push 1
lea ecx, [ebp - 0x27c]
call fcn.100125f0
mov byte [ebp - 4], 0x11
push 0x10078028
lea ecx, [ebp - 0x294]
call fcn.1000d680
mov byte [ebp - 4], 0x2b
lea eax, [ebp - 0x294]
push eax
mov ecx, dword [ebp - 0x10]
add ecx, 0x48
call fcn.10015d90
mov byte [ebp - 4], 0x2c
push 0
push 1
lea ecx, [ebp - 0x294]
call fcn.100125f0
mov byte [ebp - 4], 0x11
push 0x10078030
lea ecx, [ebp - 0x2ac]
call fcn.1000d680
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x2ac]
push ecx
mov ecx, dword [ebp - 0x10]
add ecx, 0x48
call fcn.10015d90
mov byte [ebp - 4], 0x2e
push 0
push 1
lea ecx, [ebp - 0x2ac]
call fcn.100125f0
mov byte [ebp - 4], 0x11
push 0x10078038
lea ecx, [ebp - 0x2c4]
call fcn.1000d680
mov byte [ebp - 4], 0x2f
lea edx, [ebp - 0x2c4]
push edx
mov ecx, dword [ebp - 0x10]
add ecx, 0x48
call fcn.10015d90
mov byte [ebp - 4], 0x30
push 0
push 1
lea ecx, [ebp - 0x2c4]
call fcn.100125f0
mov byte [ebp - 4], 0x11
push 0x10078040
lea ecx, [ebp - 0x2dc]
call fcn.1000d680
mov byte [ebp - 4], 0x31
lea eax, [ebp - 0x2dc]
push eax
mov ecx, dword [ebp - 0x10]
add ecx, 0x48
call fcn.10015d90
mov byte [ebp - 4], 0x32
push 0
push 1
lea ecx, [ebp - 0x2dc]
call fcn.100125f0
mov byte [ebp - 4], 0x11
push 0x10078048
lea ecx, [ebp - 0x2f4]
call fcn.1000d680
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x2f4]
push ecx
mov ecx, dword [ebp - 0x10]
add ecx, 0x48
call fcn.10015d90
mov byte [ebp - 4], 0x34
push 0
push 1
lea ecx, [ebp - 0x2f4]
call fcn.100125f0
mov byte [ebp - 4], 0x11
push 0x10078050
lea ecx, [ebp - 0x30c]
call fcn.1000d680
mov byte [ebp - 4], 0x35
lea edx, [ebp - 0x30c]
push edx
mov ecx, dword [ebp - 0x10]
add ecx, 0x48
call fcn.10015d90
mov byte [ebp - 4], 0x36
push 0
push 1
lea ecx, [ebp - 0x30c]
call fcn.100125f0
mov byte [ebp - 4], 0x11
push 0x10078058
lea ecx, [ebp - 0x324]
call fcn.1000d680
mov byte [ebp - 4], 0x37
lea eax, [ebp - 0x324]
push eax
mov ecx, dword [ebp - 0x10]
add ecx, 0x48
call fcn.10015d90
mov byte [ebp - 4], 0x38
push 0
push 1
lea ecx, [ebp - 0x324]
call fcn.100125f0
mov byte [ebp - 4], 0x11
push 0x10078060
lea ecx, [ebp - 0x33c]
call fcn.1000d680
mov byte [ebp - 4], 0x39
lea ecx, [ebp - 0x33c]
push ecx
mov ecx, dword [ebp - 0x10]
add ecx, 0x48
call fcn.10015d90
mov byte [ebp - 4], 0x3a
push 0
push 1
lea ecx, [ebp - 0x33c]
call fcn.100125f0
mov byte [ebp - 4], 0x11
push 0x10078068
lea ecx, [ebp - 0x354]
call fcn.1000d680
mov byte [ebp - 4], 0x3b
lea edx, [ebp - 0x354]
push edx
mov ecx, dword [ebp - 0x10]
add ecx, 0x48
call fcn.10015d90
mov byte [ebp - 4], 0x3c
push 0
push 1
lea ecx, [ebp - 0x354]
call fcn.100125f0
mov byte [ebp - 4], 0x11
push 0x10078070
lea ecx, [ebp - 0x36c]
call fcn.1000d680
mov byte [ebp - 4], 0x3d
lea eax, [ebp - 0x36c]
push eax
mov ecx, dword [ebp - 0x10]
add ecx, 0x48
call fcn.10015d90
mov byte [ebp - 4], 0x3e
push 0
push 1
lea ecx, [ebp - 0x36c]
call fcn.100125f0
mov byte [ebp - 4], 0x11
push 0x10078078
lea ecx, [ebp - 0x384]
call fcn.1000d680
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x384]
push ecx
mov ecx, dword [ebp - 0x10]
add ecx, 0x48
call fcn.10015d90
mov byte [ebp - 4], 0x40
push 0
push 1
lea ecx, [ebp - 0x384]
call fcn.100125f0
mov byte [ebp - 4], 0x11
mov dword [ebp - 0x1c], 0
push 0x100ad538
lea ecx, [ebp - 0x4d4]
call fcn.1000d680
mov dword [ebp - 0x1a0], eax
mov edx, dword [ebp - 0x1a0]
mov dword [ebp - 0x1a4], edx
mov byte [ebp - 4], 0x41
push str.databasemain.cvd
mov eax, dword [ebp - 0x1a4]
push eax
lea ecx, [ebp - 0x264]
push ecx
call fcn.1000c240
add esp, 0xc
mov byte [ebp - 4], 0x44
push 0
push 1
lea ecx, [ebp - 0x4d4]
call fcn.100125f0
mov byte [ebp - 4], 0x43
lea edx, [ebp - 0x264]
mov dword [ebp - 0x1a8], edx
mov eax, dword [ebp - 0x1a8]
mov dword [ebp - 0x70], eax
mov ecx, dword [ebp - 0x70]
cmp dword [ecx + 0x14], 8
jb 0x10002a98
mov edx, dword [ebp - 0x23c]
mov dword [ebp - 0x74], edx
mov eax, dword [ebp - 0x70]
mov ecx, dword [eax]
mov dword [ebp - 0x74], ecx
jmp 0x10002a9e
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x74], edx
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x1ac], eax
mov ecx, dword [ebp - 0x1ac]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x10002ac4
mov edx, dword [ebp - 0x10]
mov byte [edx + 0x2b], 0
jmp 0x10002b61
lea eax, [ebp - 0x264]
mov dword [ebp - 0x1b0], eax
mov ecx, dword [ebp - 0x1b0]
mov dword [ebp - 0x78], ecx
mov edx, dword [ebp - 0x78]
cmp dword [edx + 0x14], 8
jb 0x10002af5
mov eax, dword [ebp - 0x240]
mov dword [ebp - 0x7c], eax
mov ecx, dword [ebp - 0x78]
mov edx, dword [ecx]
mov dword [ebp - 0x7c], edx
jmp 0x10002afb
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x7c], eax
mov ecx, dword [ebp - 0x7c]
mov dword [ebp - 0x1b4], ecx
push 0
push 0x80
push 3
push 0
push 1
push connect
mov edx, dword [ebp - 0x1b4]
push edx
call dword [0x100ad888]
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0xffffffff
je 0x10002b5a
push 0
mov eax, dword [ebp - 0x1c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0x1b8], eax
cmp dword [ebp - 0x1b8], 0
jne 0x10002b4e
mov ecx, dword [ebp - 0x10]
mov byte [ecx + 0x2b], 0
mov edx, dword [ebp - 0x1c]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x10002b61
mov eax, dword [ebp - 0x10]
mov byte [eax + 0x2b], 0
mov ecx, dword [ebp - 0x10]
movzx edx, byte [ecx + 0x2b]
test edx, edx
je 0x10002b74
mov ecx, dword [ebp - 0x10]
call fcn.10008430
push 0x100ad538
lea ecx, [ebp - 0x504]
call fcn.1000d680
mov dword [ebp - 0x1bc], eax
mov eax, dword [ebp - 0x1bc]
mov dword [ebp - 0x1c0], eax
mov byte [ebp - 4], 0x45
push str.RPCA.tm
mov ecx, dword [ebp - 0x1c0]
push ecx
lea edx, [ebp - 0x4ec]
push edx
call fcn.1000c240
add esp, 0xc
mov dword [ebp - 0x1c4], eax
mov eax, dword [ebp - 0x1c4]
push eax
mov ecx, dword [ebp - 0x10]
add ecx, 0x4180
call fcn.1000de20
mov byte [ebp - 4], 0x46
push 0
push 1
lea ecx, [ebp - 0x4ec]
call fcn.100125f0
mov byte [ebp - 4], 0x47
push 0
push 1
lea ecx, [ebp - 0x504]
call fcn.100125f0
mov byte [ebp - 4], 0x43
push 0x100ad538
lea ecx, [ebp - 0x534]
call fcn.1000d680
mov dword [ebp - 0x1c8], eax
mov ecx, dword [ebp - 0x1c8]
mov dword [ebp - 0x1cc], ecx
mov byte [ebp - 4], 0x48
push str.RPCACheck.tm
mov edx, dword [ebp - 0x1cc]
push edx
lea eax, [ebp - 0x51c]
push eax
call fcn.1000c240
add esp, 0xc
mov dword [ebp - 0x1d0], eax
mov ecx, dword [ebp - 0x1d0]
push ecx
mov ecx, dword [ebp - 0x10]
add ecx, 0x419c
call fcn.1000de20
mov byte [ebp - 4], 0x49
push 0
push 1
lea ecx, [ebp - 0x51c]
call fcn.100125f0
mov byte [ebp - 4], 0x4a
push 0
push 1
lea ecx, [ebp - 0x534]
call fcn.100125f0
mov byte [ebp - 4], 0x43
call fcn.1000b7c0
test eax, eax
jle 0x10002c95
mov dword [ebp - 0xa0], 1
jmp 0x10002c9f
mov dword [ebp - 0xa0], 0
mov dl, byte [ebp - 0xa0]
mov byte [ebp - 0x16], dl
cmp dword [0x1008f3f4], 0
jne 0x10002cd7
movzx eax, byte [ebp - 0x16]
test eax, eax
jne 0x10002cd7
push 0
push 0
mov ecx, dword [ebp - 0x10]
push ecx
push 0x10003860
push 0
push 0
call fcn.10053104
add esp, 0x18
mov dword [0x1008f3f4], eax
mov edx, dword [ebp - 0x10]
movzx eax, byte [edx + 0x2b]
test eax, eax
jne 0x10002d12
cmp dword [0x1008f3fc], 0
jne 0x10002d12
mov byte [0x1008f3f2], 1
push str.Start_Bases_Download._Please_wait.
call fcn.10001740
add esp, 4
push 0x7d0
call dword [sym.imp.KERNEL32.dll_Sleep]
mov ecx, dword [ebp - 0x10]
call fcn.10009490
mov byte [ebp - 4], 0x4b
push 0
push 1
lea ecx, [ebp - 0x264]
call fcn.100125f0
mov byte [ebp - 4], 0x11
mov dword [ebp - 4], 0x4c
push 0
push 1
lea ecx, [ebp + 8]
call fcn.100125f0
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0x1c