Function at 0x30003ae3
Capabilities:
Copy file
Read .ini file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x3003394b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x424
lea ecx, [ebp - 0x13c]
call fcn.300044f0
mov dword [ebp - 4], 0
mov dword [ebp - 0x120], 1
lea ecx, [ebp - 0x13c]
call fcn.30011845
mov dword [ebp - 0x118], eax
mov dword [ebp - 0x2e8], 0
jmp 0x30003b49
mov eax, dword [ebp - 0x2e8]
add eax, 1
mov dword [ebp - 0x2e8], eax
mov ecx, dword [ebp - 0x2e8]
cmp ecx, dword [ebp - 0x118]
jge 0x30003d09
lea edx, [ebp - 0x11c]
push edx
lea eax, [ebp - 0x2e4]
push eax
lea ecx, [ebp - 0x10]
push ecx
mov edx, dword [ebp - 0x2e8]
push edx
lea ecx, [ebp - 0x13c]
call fcn.300118b9
push 0x104
lea eax, [ebp - 0x114]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea ecx, [ebp - 0x18c]
push ecx
push 0
lea edx, [ebp - 0x114]
push edx
call fcn.30017bae
add esp, 0xc
lea eax, [ebp - 0x2e0]
push eax
mov ecx, dword [0x30041740]
push ecx
mov edx, dword [ebp - 0x11c]
push edx
call fcn.3000cc2c
add esp, 0xc
lea eax, [ebp - 0x1dc]
push eax
push 0
lea ecx, [ebp - 0x2e0]
push ecx
call fcn.30017bae
add esp, 0xc
movsx edx, byte [ebp - 0x18c]
test edx, edx
je 0x30003d04
movsx eax, byte [ebp - 0x1dc]
test eax, eax
je 0x30003d04
lea ecx, [ebp - 0x1dc]
push ecx
lea edx, [ebp - 0x18c]
push edx
call fcn.300197e0
add esp, 8
test eax, eax
je 0x30003d04
lea eax, [ebp - 0x1dc]
push eax
lea ecx, [ebp - 0x18c]
push ecx
mov edx, dword [ebp - 0x11c]
push edx
push 0x4f
call fcn.30006c31
add esp, 0x10
cmp eax, 6
jne 0x30003d02
lea eax, [ebp - 0x2e0]
push eax
mov ecx, dword [str.fpinst4.exe]
push ecx
mov edx, dword [ebp - 0x11c]
push edx
call fcn.3000cc2c
add esp, 0xc
lea eax, [ebp - 0x114]
push eax
mov ecx, dword [str.fpinstTEMP.exe]
push ecx
call fcn.3000cbb0
add esp, 8
push 0
lea edx, [ebp - 0x114]
push edx
lea eax, [ebp - 0x2e0]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
jne 0x30003cb4
lea ecx, [ebp - 0x114]
push ecx
lea edx, [ebp - 0x2e0]
push edx
call fcn.30006e9a
add esp, 4
push eax
push 0x14
call fcn.30006a18
add esp, 0xc
jmp 0x30003d09
mov byte [ebp - 0x114], 0x22
lea eax, [ebp - 0x113]
push eax
mov ecx, dword [str.fpinstTEMP.exe]
push ecx
call fcn.3000cbb0
add esp, 8
push str.___netreinstall__quiet5
lea edx, [ebp - 0x114]
push edx
call fcn.300193f0
add esp, 8
push 0
push 1
lea eax, [ebp - 0x114]
push eax
call fcn.30016d0e
add esp, 0xc
mov dword [ebp - 0x120], 0
jmp 0x30003d09
jmp 0x30003b3a
cmp dword [ebp - 0x118], 0
jle 0x30003dcb
call fcn.30014245
test eax, eax
jne 0x30003dcb
lea ecx, [ebp - 0x2e0]
push ecx
mov edx, dword [str.fp4.ini]
push edx
mov eax, dword [ebp - 0x11c]
push eax
call fcn.3000cc2c
add esp, 0xc
lea ecx, [ebp - 0x2e0]
push ecx
push pe_nt_image_headers32
lea edx, [ebp - 0x388]
push edx
push 0x300414c4
push 0x3003b2f0
push 0x3003b2f8
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
lea eax, [ebp - 0x2e0]
push eax
push 0x20
lea ecx, [ebp - 0x308]
push ecx
push 0x300414c8
push 0x3003b304
push 0x3003b314
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
mov edx, dword [0x30041854]
push edx
lea eax, [ebp - 0x308]
push eax
lea ecx, [ebp - 0x388]
push ecx
mov edx, dword [0x30041798]
push edx
call fcn.300141bd
add esp, 0x10
test eax, eax
je 0x30003dcb
lea eax, [ebp - 0x308]
push eax
lea ecx, [ebp - 0x388]
push ecx
call fcn.3001434a
add esp, 8
cmp dword [ebp - 0x120], 0
je 0x30003f10
call fcn.30012d9a
lea ecx, [ebp - 0x3c0]
call fcn.30012d02
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x3f4]
call fcn.30011ee0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x3c0]
call fcn.3000e410
test eax, eax
jne 0x30003e51
mov edx, dword [ebp - 0x120]
mov dword [ebp - 0x42c], edx
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x3f4]
call fcn.30011f5b
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x3c0]
call fcn.30012d52
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x13c]
call fcn.30004530
mov eax, dword [ebp - 0x42c]
jmp 0x30003f34
lea ecx, [ebp - 0x3c0]
call fcn.30013490
mov dword [ebp - 0x38c], eax
jmp 0x30003e75
lea ecx, [ebp - 0x3c0]
call fcn.300134b0
mov dword [ebp - 0x38c], eax
cmp dword [ebp - 0x38c], 0
je 0x30003ef2
mov eax, dword [ebp - 0x38c]
push eax
lea ecx, [ebp - 0x3c0]
call fcn.3000e410
push eax
lea ecx, [ebp - 0x3f4]
push ecx
call fcn.30012082
add esp, 0xc
test eax, eax
jne 0x30003ea6
jmp 0x30003e64
lea ecx, [ebp - 0x3f4]
call fcn.3000e410
push eax
lea ecx, [ebp - 0x428]
call fcn.30014c76
mov byte [ebp - 4], 3
push 1
push str.CheckServer
lea ecx, [ebp - 0x428]
call fcn.30012c24
lea ecx, [ebp - 0x3f4]
call fcn.3001223f
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x428]
call fcn.30004570
jmp 0x30003e64
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x3f4]
call fcn.30011f5b
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x3c0]
call fcn.30012d52
mov edx, dword [ebp - 0x120]
mov dword [ebp - 0x430], edx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x13c]
call fcn.30004530
mov eax, dword [ebp - 0x430]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret