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

Disassembly:
mov eax, 0x4a110c
call fcn.00497a30
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 0x431035
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 0x431081
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.0041adcd
jmp 0x431083
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.004673ae
mov dword [ebp - 4], esi
cmp dword [eax + 0x1c], 0x10
jb 0x4310aa
mov esi, dword [eax + 8]
jmp 0x4310ad
lea esi, [eax + 8]
mov ebx, dword [0x4bbb8c]
call fcn.00467238
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.004833a3
xor ebx, ebx
inc ebx
push ebx
lea eax, [ebp - 0x300]
push eax
push 0x12
or ecx, 0xffffffff
call fcn.0041b091
add esp, 0xc
push 0
push ebx
lea eax, [ebp - 0x1a0]
push eax
call fcn.00467462
push eax
lea eax, [ebp - 0x70]
push eax
call fcn.00481f77
add esp, 0x10
cmp dword [eax + 0x1c], 0x10
jb 0x43111c
mov eax, dword [eax + 8]
jmp 0x43111f
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.004833a3
push ebx
lea eax, [ebp - 0x300]
push eax
push 0x12
or ecx, 0xffffffff
call fcn.0041b091
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.00483141
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 0x4311e1
lea eax, [ebp - 0x44]
push eax
push 4
push 1
call fcn.0041c884
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.0048273d
lea eax, [ebp - 0x17c]
push eax
push esi
mov esi, 0x4bb2e0
push esi
call fcn.00482bb8
add esp, 0x14
push esi
call fcn.00482ccb
test al, al
pop ecx
jne 0x431292
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.0041b091
mov ebx, dword [0x4bbb8c]
add esp, 0xc
push esi
call fcn.00467238
push eax
push str.Version
mov ebx, str.GLOBAL
push ebx
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringA]
jmp 0x431297
mov ebx, str.GLOBAL
push esi
call fcn.00482ccb
test al, al
pop ecx
jne 0x4312d6
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.0041b091
add esp, 0xc
jmp 0x4312dc
push esi
call fcn.00431643
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 0x431316
lea eax, [ebp - 0xb4]
push eax
call dword [sym.imp.MSVCR71.dll_atoi]
test eax, eax
pop ecx
jle 0x431316
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 0x43135f
push dword [edi + 0x24]
push esi
push eax
call fcn.00468cc7
jmp 0x431361
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.00469308
mov ecx, dword [edi + 0x28]
call fcn.00468fa8
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 0x4313c2
push 0x407
push dword [edi + 0x24]
push dword [edi + 0x20]
push esi
push eax
call fcn.00404788
jmp 0x4313c4
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 0x431443
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 0x431443
cmp dword [ebp - 0x14], ebx
jl 0x431443
cmp dword [ebp - 0x24], ebx
jl 0x431443
cmp dword [ebp - 0x1c], 0x32
jle 0x431443
cmp dword [ebp - 0x20], 0x32
jle 0x431443
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 0x431473
push ebx
push 7
push 0x400
push dword [edi + 0x24]
mov ecx, eax
push dword [edi + 0x20]
call fcn.0048a44d
mov dword [ebp - 0x10], eax
jmp 0x431476
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.00484991
mov ecx, dword [ebp - 0x10]
push eax
call fcn.0048498b
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.0041b091
mov ecx, dword [ebp - 0x10]
add esp, 0x1c
test ecx, ecx
je 0x4314dc
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 0x431500
push dword [edi + 0x20]
push dword [edi + 0x24]
push eax
call fcn.0041db54
jmp 0x431502
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 0x431527
push dword [edi + 0x20]
push eax
call fcn.0042ac91
jmp 0x431529
xor eax, eax
mov byte [ebp - 4], 2
mov dword [edi + 0x34], eax
call fcn.00467a36
test al, al
je 0x431540
call fcn.00431991
jmp 0x431550
call fcn.00467aa7
test al, al
je 0x431550
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 0x431577
push dword [edi + 0x28]
push esi
push 0x403
push dword [edi + 0x24]
push eax
call fcn.004261d1
jmp 0x431579
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 0x43159b
push eax
call fcn.00465b50
jmp 0x43159d
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.0041b091
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 0x431601
cmp eax, 0x87
jg 0x431601
push 0
call esi
test eax, eax
pop ecx
jg 0x43161c
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.0041b091
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.004833a3
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret