Function at 0x4315a1
Capabilities:
Hide graphical window
Read .ini file

Disassembly:
mov eax, 0x4a138c
call fcn.00497cb0
sub esp, 0x454
push ebx
push esi
xor ebx, ebx
cmp byte [0x4b9331], bl
push edi
mov edi, ecx
mov dword [ebp - 0x18], 0xa
je 0x4315ca
mov dword [ebp - 0x18], ebx
xor esi, esi
inc esi
push esi
push 0x12c
push 0x1f4
push 0x32
push 0x32
push dword [edi + 0x24]
call dword [sym.imp.USER32.dll_MoveWindow]
push 0x898
call sub.MSVCR71.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
mov dword [ebp - 0x14], eax
cmp eax, ebx
mov dword [ebp - 4], ebx
je 0x431616
cmp byte [0x4b9331], bl
mov eax, dword [edi + 0x24]
sete cl
push ecx
push eax
push eax
push dword [ebp - 0x14]
push 0x65
pop ecx
call fcn.0041aeae
jmp 0x431618
xor eax, eax
or dword [ebp - 4], 0xffffffff
mov edx, dword [0x4bbb8c]
mov dword [edi + 0x2c], eax
lea eax, [ebp - 0x70]
push eax
push 2
pop ecx
call fcn.004679bd
mov dword [ebp - 4], esi
cmp dword [eax + 0x1c], 0x10
jb 0x43163f
mov esi, dword [eax + 8]
jmp 0x431642
lea esi, [eax + 8]
mov ebx, dword [0x4bbb8c]
call fcn.00467847
push eax
push esi
mov esi, dword [sym.imp.MSVCR71.dll_sprintf]
lea eax, [ebp - 0x300]
push str.Serv_U_FTP_Server_v_s___s____Copyright__c__1995_2006_Rhino_Software__Inc.__All_Rights_Reserved
push eax
call esi
or dword [ebp - 4], 0xffffffff
add esp, 0x10
lea ecx, [ebp - 0x70]
call fcn.004835c3
xor ebx, ebx
inc ebx
push ebx
lea eax, [ebp - 0x300]
push eax
push 0x12
or ecx, 0xffffffff
call fcn.0041b172
add esp, 0xc
push 0
push ebx
lea eax, [ebp - 0x1a0]
push eax
call fcn.00467a71
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00482197
add esp, 0x10
cmp dword [eax + 0x1c], 0x10
jb 0x4316b1
mov eax, dword [eax + 8]
jmp 0x4316b4
add eax, 8
push 0
push ebx
push eax
lea eax, [ebp - 0x300]
push str.Build_Date:__s
push eax
call esi
add esp, 0x14
lea ecx, [ebp - 0x70]
call fcn.004835c3
push ebx
lea eax, [ebp - 0x300]
push eax
push 0x12
or ecx, 0xffffffff
call fcn.0041b172
mov ebx, dword [sym.imp.USER32.dll_LoadStringA]
add esp, 0xc
push 0x15e
lea eax, [ebp - 0x460]
push eax
push 0x7ea
push dword [edi + 0x20]
call ebx
lea eax, [ebp - 0x460]
push eax
lea ecx, [ebp - 0x4c]
call fcn.00483361
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0x4c]
push 0x4a48b0
lea ecx, [ebp - 0x4c]
call dword [eax + 0x14]
lea eax, [ebp - 0x300]
push eax
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x4c]
call dword [eax + 0x14]
mov eax, dword [ebp - 0x4c]
push 0x4a5864
lea ecx, [ebp - 0x4c]
call dword [eax + 0x14]
mov esi, 0x800
push esi
lea eax, [ebp - 0x460]
push eax
push dword [edi + 0x20]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea eax, [ebp - 0x460]
push eax
mov eax, dword [ebp - 0x4c]
lea ecx, [ebp - 0x4c]
call dword [eax + 0x14]
cmp dword [ebp - 0x30], 0x10
mov eax, dword [ebp - 0x44]
jae 0x431776
lea eax, [ebp - 0x44]
push eax
push 4
push 1
call fcn.0041c965
add esp, 0xc
push 0x10
lea eax, [ebp - 0x17c]
push str.w_QBf_ZF_
push eax
call sub.MSVCR71.dll_memcpy
add esp, 0xc
lea eax, [ebp - 0x17c]
push 0x10
push eax
call fcn.0048295d
lea eax, [ebp - 0x17c]
push eax
push esi
mov esi, 0x4bb2e0
push esi
call fcn.00482dd8
add esp, 0x14
push esi
call fcn.00482eeb
test al, al
pop ecx
jne 0x431827
push 0x4a5184
push esi
call dword [sym.imp.MSVCR71.dll_fopen]
push eax
call dword [sym.imp.MSVCR71.dll_fclose]
add esp, 0xc
push 0x64
lea eax, [ebp - 0x118]
push eax
push 0x7e1
push dword [edi + 0x20]
call ebx
push 3
lea eax, [ebp - 0x118]
push eax
push 0x12
or ecx, 0xffffffff
call fcn.0041b172
mov ebx, dword [0x4bbb8c]
add esp, 0xc
push esi
call fcn.00467847
push eax
push str.Version
mov ebx, str.GLOBAL
push ebx
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
jmp 0x43182c
mov ebx, str.GLOBAL
push esi
call fcn.00482eeb
test al, al
pop ecx
jne 0x43186b
mov byte [0x4bb2e0], al
push 0x64
lea eax, [ebp - 0x118]
push eax
push 0x7d0
push dword [edi + 0x20]
call dword [sym.imp.USER32.dll_LoadStringA]
push 2
lea eax, [ebp - 0x118]
push eax
push 0x12
or ecx, 0xffffffff
call fcn.0041b172
add esp, 0xc
jmp 0x431871
push esi
call fcn.00431bd8
push esi
push 0x28
lea eax, [ebp - 0xb4]
push eax
push 0x4a4630
push str.ProcessID
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
test eax, eax
jle 0x4318ab
lea eax, [ebp - 0xb4]
push eax
call dword [sym.imp.MSVCR71.dll_atoi]
test eax, eax
pop ecx
jle 0x4318ab
mov eax, dword [0x4bbb8c]
mov byte [eax + 0x50], 1
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push esi
push 0xa
lea ecx, [ebp - 0xb4]
push ecx
push eax
call dword [sym.imp.MSVCR71.dll__ultoa]
add esp, 0xc
push eax
push str.ProcessID
push ebx
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
push 0xa188
call sub.MSVCR71.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
mov dword [ebp - 0x14], eax
test eax, eax
mov byte [ebp - 4], 3
je 0x4318f4
push dword [edi + 0x24]
push esi
push eax
call fcn.004692d6
jmp 0x4318f6
xor eax, eax
mov byte [ebp - 4], 2
mov dword [edi + 0x28], eax
mov dword [0x4bb2a4], eax
mov dword [0x4bb1ec], eax
mov dword [0x4bb1c8], eax
mov dword [0x4bb2d0], eax
mov dword [0x4bb2b0], eax
mov dword [0x4bbaec], eax
mov dword [0x4bbae4], eax
call fcn.00469917
mov ecx, dword [edi + 0x28]
call fcn.004695b7
push 0x120
call sub.MSVCR71.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
mov dword [ebp - 0x14], eax
test eax, eax
mov byte [ebp - 4], 4
je 0x431957
push 0x407
push dword [edi + 0x24]
push dword [edi + 0x20]
push esi
push eax
call fcn.004047e8
jmp 0x431959
xor eax, eax
push esi
push 0x18
mov byte [ebp - 4], 2
mov dword [edi + 0x3c], eax
lea eax, [ebp - 0x8c]
push eax
push 0x4a4630
push str.Window
push ebx
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringA]
xor ebx, ebx
cmp eax, ebx
je 0x4319d8
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x8c]
push str._d__d__d__d
push eax
call dword [sym.imp.MSVCR71.dll_sscanf]
add esp, 0x18
cmp eax, 4
jne 0x4319d8
cmp dword [ebp - 0x14], ebx
jl 0x4319d8
cmp dword [ebp - 0x24], ebx
jl 0x4319d8
cmp dword [ebp - 0x1c], 0x32
jle 0x4319d8
cmp dword [ebp - 0x20], 0x32
jle 0x4319d8
push 1
push dword [ebp - 0x20]
push dword [ebp - 0x1c]
push dword [ebp - 0x24]
push dword [ebp - 0x14]
push dword [edi + 0x24]
call dword [sym.imp.USER32.dll_MoveWindow]
push 0x16c
call sub.MSVCR71.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
mov dword [ebp - 0x10], eax
cmp eax, ebx
mov byte [ebp - 4], 5
je 0x431a08
push ebx
push 7
push 0x400
push dword [edi + 0x24]
mov ecx, eax
push dword [edi + 0x20]
call fcn.0048a68a
mov dword [ebp - 0x10], eax
jmp 0x431a0b
mov dword [ebp - 0x10], ebx
push 0x15e
lea eax, [ebp - 0x300]
push eax
mov byte [ebp - 4], 2
mov ebx, dword [sym.imp.USER32.dll_LoadStringA]
push 0x7f7
push dword [edi + 0x20]
call ebx
call fcn.00484bcb
mov ecx, dword [ebp - 0x10]
push eax
call fcn.00484bc5
push eax
lea eax, [ebp - 0x300]
push eax
lea eax, [ebp - 0x460]
push eax
call dword [sym.imp.MSVCR71.dll_sprintf]
push 1
lea eax, [ebp - 0x460]
push eax
push 0x12
or ecx, 0xffffffff
call fcn.0041b172
mov ecx, dword [ebp - 0x10]
add esp, 0x1c
test ecx, ecx
je 0x431a71
mov eax, dword [ecx]
push 1
call dword [eax]
push 0xc0
call sub.MSVCR71.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
mov dword [ebp - 0x10], eax
test eax, eax
mov byte [ebp - 4], 6
je 0x431a95
push dword [edi + 0x20]
push dword [edi + 0x24]
push eax
call fcn.0041dc2f
jmp 0x431a97
xor eax, eax
mov byte [ebp - 4], 2
push 0x64
mov dword [edi + 0x30], eax
call sub.MSVCR71.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
mov dword [ebp - 0x10], eax
test eax, eax
mov byte [ebp - 4], 7
je 0x431abc
push dword [edi + 0x20]
push eax
call fcn.0042b1fb
jmp 0x431abe
xor eax, eax
mov byte [ebp - 4], 2
mov dword [edi + 0x34], eax
call fcn.00468045
test al, al
je 0x431ad5
call fcn.00431f26
jmp 0x431ae5
call fcn.004680b6
test al, al
je 0x431ae5
mov byte [0x4bb2d8], 1
push 0x38
call sub.MSVCR71.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
mov dword [ebp - 0x10], eax
test eax, eax
mov byte [ebp - 4], 8
je 0x431b0c
push dword [edi + 0x28]
push esi
push 0x403
push dword [edi + 0x24]
push eax
call fcn.0042661c
jmp 0x431b0e
xor eax, eax
mov byte [ebp - 4], 2
push 0x28
mov dword [edi + 0x38], eax
call sub.MSVCR71.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
mov dword [ebp - 0x10], eax
test eax, eax
mov byte [ebp - 4], 9
je 0x431b30
push eax
call fcn.0046619d
jmp 0x431b32
xor eax, eax
mov byte [ebp - 4], 2
push 0x15e
mov dword [edi + 0x40], eax
lea eax, [ebp - 0x300]
push eax
push 0x7ea
push dword [edi + 0x20]
call ebx
push 1
lea eax, [ebp - 0x300]
push eax
push 2
or ecx, 0xffffffff
call fcn.0041b172
mov esi, dword [sym.imp.MSVCR71.dll_time]
add esp, 0xc
push 0
call esi
mov dword [ebp - 0x28], eax
pop ecx
lea eax, [ebp - 0x28]
push eax
call dword [sym.imp.MSVCR71.dll_localtime]
mov eax, dword [eax + 0x14]
cmp eax, 0x50
pop ecx
jl 0x431b96
cmp eax, 0x87
jg 0x431b96
push 0
call esi
test eax, eax
pop ecx
jg 0x431bb1
push 2
push str.CHECK_THE_SYSTEMS_CLOCK___DATE_NEEDS_TO_BE_SET_CORRECTLY_FOR_SERVER_TO_WORK
push 0x12
or ecx, 0xffffffff
call fcn.0041b172
add esp, 0xc
mov byte [0x4b9328], 1
push dword [ebp - 0x18]
push dword [edi + 0x24]
call dword [sym.imp.USER32.dll_ShowWindow]
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.004835c3
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret