Function at 0x440510
Capabilities:
Initialize winsock library

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x46124e
push eax
mov dword fs:[0], esp
sub esp, 0x1b0
push esi
mov esi, dword [esp + 0x1c4]
mov al, byte [esi]
push edi
xor edi, edi
cmp al, 0x2f
je 0x440540
cmp al, 0x2d
jne 0x440558
inc esi
push str.start
push esi
call fcn.0044c9a6
add esp, 8
test eax, eax
jne 0x440594
mov edi, 1
push str.FileZilla_Server_Helper_Window
push str.FileZilla_Server_Helper_Window
call dword [sym.imp.USER32.dll_FindWindowA]
cmp edi, 1
mov esi, eax
jne 0x440663
test esi, esi
je 0x4406ad
pop edi
xor eax, eax
pop esi
mov ecx, dword [esp + 0x1b0]
mov dword fs:[0], ecx
add esp, 0x1bc
ret
push str.stop
push esi
call fcn.0044c9a6
add esp, 8
test eax, eax
jne 0x4405ad
mov edi, 2
jmp 0x440558
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4405b2
sub eax, edx
cmp eax, 0xa
jb 0x4405d4
push 0xa
push str.adminport
push esi
call fcn.0044cd17
add esp, 0xc
test eax, eax
je 0x440640
push str.install
push esi
call fcn.0044c9a6
add esp, 8
test eax, eax
je 0x440670
push str.uninstall
push esi
call fcn.0044c9a6
add esp, 8
test eax, eax
je 0x440670
push str.install_auto
push esi
call fcn.0044c9a6
add esp, 8
test eax, eax
je 0x440670
push str.reload_config
push esi
call fcn.0044c9a6
add esp, 8
test eax, eax
jne 0x440558
call fcn.00440140
pop edi
pop esi
mov ecx, dword [esp + 0x1b0]
mov dword fs:[0], ecx
add esp, 0x1bc
ret
add esi, 0xa
push esi
call fcn.00440010
add esp, 4
pop edi
pop esi
mov ecx, dword [esp + 0x1b0]
mov dword fs:[0], ecx
add esp, 0x1bc
ret
cmp edi, 2
jne 0x440689
test esi, esi
jne 0x4407c3
pop edi
xor eax, eax
pop esi
mov ecx, dword [esp + 0x1b0]
mov dword fs:[0], ecx
add esp, 0x1bc
ret
test esi, esi
jne 0x44079f
test edi, edi
jne 0x4406d2
push 0x24
push str.Question
push str.Start_Server_
push edi
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 6
jne 0x4406d2
lea eax, [esp + 0x28]
push eax
push 0x101
call sub.WS2_32.dll_WSAStartup
test eax, eax
jne 0x4406d2
mov ax, word [esp + 0x28]
cmp al, 1
jne 0x4406cd
cmp ah, al
je 0x4406ee
call sub.WS2_32.dll_WSACleanup
pop edi
mov eax, 1
pop esi
mov ecx, dword [esp + 0x1b0]
mov dword fs:[0], ecx
add esp, 0x1bc
ret
push ebp
push 0x88
call fcn.00449985
add esp, 4
mov dword [esp + 0xc], eax
test eax, eax
mov dword [esp + 0x1c4], 0
je 0x44071a
mov ecx, eax
call fcn.00439f50
mov ebp, eax
jmp 0x44071c
xor ebp, ebp
mov ecx, ebp
mov dword [esp + 0x1c4], 0xffffffff
call fcn.0043bdd0
mov esi, dword [sym.imp.USER32.dll_GetMessageA]
push 0
push 0
push 0
lea ecx, [esp + 0x1c]
push ecx
call esi
test eax, eax
je 0x440772
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
push ebx
mov ebx, dword [sym.imp.USER32.dll_DispatchMessageA]
lea edx, [esp + 0x14]
push edx
call edi
lea eax, [esp + 0x14]
push eax
call ebx
push 0
push 0
push 0
lea ecx, [esp + 0x20]
push ecx
call esi
test eax, eax
jne 0x440752
pop ebx
test ebp, ebp
je 0x440780
mov edx, dword [ebp]
push 1
mov ecx, ebp
call dword [edx + 4]
call sub.WS2_32.dll_WSACleanup
pop ebp
pop edi
xor eax, eax
pop esi
mov ecx, dword [esp + 0x1b0]
mov dword fs:[0], ecx
add esp, 0x1bc
ret
test edi, edi
jne 0x4406d2
push 0x24
push str.Question
push str.Stop_Server_
push edi
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 6
jne 0x4406d2
push 0
push 0
push 0x10
push esi
call dword [sym.imp.USER32.dll_SendMessageA]
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, dword [esp + 0x1b8]
neg eax
sbb eax, eax
pop edi
neg eax
pop esi
mov dword fs:[0], ecx
add esp, 0x1bc
ret