Function at 0x435fd0
Capabilities:
Check os version
Get common file path

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x439514
mov eax, dword fs:[0]
push eax
sub esp, 0x7cc
mov eax, dword [0x44c654]
xor eax, ebp
mov dword [ebp - 0x18], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
call fcn.00435c50
mov dword [ebp - 0x55c], 0
cmp dword [0x450628], 0
je 0x43602f
push 0x442a18
push 0x442a1c
push 0x442a24
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.004349f0
add esp, 0x10
push 0x114
push 0
lea eax, [ebp - 0x134]
push eax
call fcn.0041faf0
add esp, 0xc
mov dword [ebp - 0x134], 0x114
lea ecx, [ebp - 0x134]
push ecx
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
cmp dword [ebp - 0x130], 5
jae 0x436083
push 0
push 0x442a50
push 0x442a64
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov eax, 0xfffffffd
jmp 0x43667f
cmp dword [ebp - 0x130], 5
jne 0x4360a9
cmp dword [ebp - 0x12c], 1
jne 0x4360a9
push 0x442a7c
lea edx, [ebp - 0x120]
push edx
call fcn.004207c8
add esp, 8
push fcn.00401ae0
push fcn.00401a80
push 2
push 4
lea eax, [ebp - 0x13c]
push eax
call fcn.0042085b
mov dword [ebp - 4], 0
push 0x442a9c
lea ecx, [ebp - 0x138]
call fcn.00401520
mov dword [ebp - 0x140], 1
push 0x104
push 0
lea ecx, [ebp - 0x34c]
push ecx
call fcn.0041faf0
add esp, 0xc
push 0x104
lea edx, [ebp - 0x34c]
push edx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
lea eax, [ebp - 0x34c]
push eax
lea ecx, [ebp - 0x10]
call fcn.00402320
mov byte [ebp - 4], 1
push 0x442ac4
lea ecx, [ebp - 0x10]
call fcn.00401050
lea ecx, [ebp - 0x138]
push ecx
mov edx, esp
mov dword [ebp - 0x778], esp
push ecx
mov ecx, edx
call fcn.00401a60
mov dword [ebp - 0x7ac], eax
mov eax, dword [ebp - 0x7ac]
mov dword [ebp - 0x7b0], eax
mov byte [ebp - 4], 2
push ecx
mov ecx, esp
mov dword [ebp - 0x77c], esp
lea edx, [ebp - 0x10]
push edx
call fcn.00401a60
mov dword [ebp - 0x7b4], eax
mov byte [ebp - 4], 1
call fcn.00435e20
add esp, 8
mov dword [ebp - 0x7b8], eax
cmp dword [ebp - 0x7b8], 0xffffffff
jne 0x436216
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x55c], eax
mov eax, dword [ebp - 0x55c]
push eax
mov ecx, dword [ebp - 0x138]
push ecx
push 0x442ac8
push 0x103
lea edx, [ebp - 0x76c]
push edx
call fcn.004208c0
add esp, 0x14
push 0
push 0x442afc
lea eax, [ebp - 0x76c]
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov dword [ebp - 0x780], 0xfffffffe
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x10]
call fcn.00401ae0
mov dword [ebp - 4], 0xffffffff
push fcn.00401ae0
push 2
push 4
lea ecx, [ebp - 0x13c]
push ecx
call fcn.0041fe4b
mov eax, dword [ebp - 0x780]
jmp 0x43667f
push 0x442b10
lea ecx, [ebp - 0x144]
call fcn.00402320
mov byte [ebp - 4], 3
mov edx, dword [ebp + 8]
push edx
lea ecx, [ebp - 0x144]
call fcn.00401050
push 0x442b18
lea ecx, [ebp - 0x144]
call fcn.00401050
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x144]
call fcn.00401050
cmp dword [0x450634], 0
je 0x436281
push 0x442b1c
lea ecx, [ebp - 0x144]
call fcn.00401050
push 0x442b20
lea ecx, [ebp - 0x144]
call fcn.00401050
push 0x104
push 0
lea ecx, [ebp - 0x554]
push ecx
call fcn.0041faf0
add esp, 0xc
mov dword [ebp - 0x558], 0
call fcn.00435420
test eax, eax
je 0x436457
cmp dword [0x450630], 0
je 0x436303
mov dword [ebp - 0x784], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x144]
call fcn.00401ae0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x10]
call fcn.00401ae0
mov dword [ebp - 4], 0xffffffff
push fcn.00401ae0
push 2
push 4
lea edx, [ebp - 0x13c]
push edx
call fcn.0041fe4b
mov eax, dword [ebp - 0x784]
jmp 0x43667f
mov dword [ebp - 0x558], 1
mov dword [ebp - 0x774], 0
push 0x14
call fcn.00403ace
add esp, 4
mov dword [ebp - 0x78c], eax
mov byte [ebp - 4], 4
cmp dword [ebp - 0x78c], 0
je 0x43636e
push 0
push ecx
mov ecx, esp
mov dword [ebp - 0x790], esp
push 0x442b24
call fcn.004012e0
mov dword [ebp - 0x7bc], eax
mov ecx, dword [ebp - 0x78c]
call fcn.004379a0
mov dword [ebp - 0x7c0], eax
mov eax, dword [ebp - 0x7c0]
mov dword [ebp - 0x7c4], eax
jmp 0x436378
mov dword [ebp - 0x7c4], 0
mov ecx, dword [ebp - 0x7c4]
mov dword [ebp - 0x788], ecx
mov byte [ebp - 4], 3
mov edx, dword [ebp - 0x788]
mov dword [ebp - 0x774], edx
push 1
push ecx
mov ecx, esp
mov dword [ebp - 0x794], esp
push 0x442b28
call fcn.004012e0
mov dword [ebp - 0x7c8], eax
lea eax, [ebp - 0x798]
push eax
mov ecx, dword [ebp - 0x774]
call fcn.004373d0
mov dword [ebp - 0x7cc], eax
mov ecx, dword [ebp - 0x7cc]
mov dword [ebp - 0x7d0], ecx
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x7d0]
push edx
lea ecx, [ebp - 0x770]
call fcn.00401a60
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x798]
call fcn.00401ae0
lea ecx, [ebp - 0x770]
call fcn.004012c0
movzx eax, al
test eax, eax
je 0x43642c
push 0x64
lea ecx, [ebp - 0x554]
push ecx
push 0x442b38
push 0x442b48
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.00434960
add esp, 0x14
jmp 0x43644c
push 0x104
lea ecx, [ebp - 0x770]
call fcn.00402810
push eax
lea edx, [ebp - 0x554]
push edx
call fcn.00420993
add esp, 0xc
lea ecx, [ebp - 0x770]
call fcn.00401ae0
push 2
call fcn.00435550
add esp, 4
push 0x442b90
lea ecx, [ebp - 0x560]
call fcn.00402320
mov byte [ebp - 4], 6
push 0x442ba4
lea eax, [ebp - 0x10]
push eax
lea ecx, [ebp - 0x79c]
push ecx
call fcn.004011d0
add esp, 0xc
mov dword [ebp - 0x7d4], eax
lea ecx, [ebp - 0x560]
call fcn.00402810
push eax
mov ecx, dword [ebp - 0x7d4]
call fcn.00402810
push eax
call fcn.004354a0
add esp, 8
mov dword [ebp - 0x564], eax
lea ecx, [ebp - 0x79c]
call fcn.00401ae0
mov edx, 1
test edx, edx
je 0x4364e7
push 0x2bf20
mov eax, dword [ebp - 0x564]
push eax
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x4364e5
jmp 0x4364e7
jmp 0x4364c4
push 0x442bcc
lea ecx, [ebp - 0x10]
push ecx
lea edx, [ebp - 0x7a0]
push edx
call fcn.004011d0
add esp, 0xc
mov dword [ebp - 0x7d8], eax
lea ecx, [ebp - 0x144]
call fcn.00402810
push eax
mov ecx, dword [ebp - 0x7d8]
call fcn.00402810
push eax
call fcn.004354a0
add esp, 8
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x7a0]
call fcn.00401ae0
cmp dword [ebp - 0x14], 0
jne 0x4365a8
push 0
push 0x442bf4
push 0x442c08
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov dword [ebp - 0x7a4], 0xffffffff
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x560]
call fcn.00401ae0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x144]
call fcn.00401ae0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x10]
call fcn.00401ae0
mov dword [ebp - 4], 0xffffffff
push fcn.00401ae0
push 2
push 4
lea eax, [ebp - 0x13c]
push eax
call fcn.0041fe4b
mov eax, dword [ebp - 0x7a4]
jmp 0x43667f
cmp dword [0x450628], 0
je 0x4365ed
mov ecx, 1
test ecx, ecx
je 0x4365d1
push 0x2bf20
mov edx, dword [ebp - 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
jne 0x4365cf
jmp 0x4365d1
jmp 0x4365b1
push 0x442c2c
push 0x442c30
push 0x442c38
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.004349f0
add esp, 0x10
lea eax, [ebp - 0x554]
push eax
call fcn.0041fc38
add esp, 4
test eax, eax
je 0x436627
cmp dword [0x45062c], 0
je 0x436627
lea ecx, [ebp - 0x554]
push ecx
push str.agentid
push 0x442c78
push reloc.OLEAUT32.dll_SysReAllocString
call fcn.004349f0
add esp, 0x10
mov edx, dword [ebp - 0x55c]
mov dword [ebp - 0x7a8], edx
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x560]
call fcn.00401ae0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x144]
call fcn.00401ae0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x10]
call fcn.00401ae0
mov dword [ebp - 4], 0xffffffff
push fcn.00401ae0
push 2
push 4
lea eax, [ebp - 0x13c]
push eax
call fcn.0041fe4b
mov eax, dword [ebp - 0x7a8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.0041fae0
mov esp, ebp
pop ebp
ret