Function at 0x5e4ac8
Capabilities:
Create tcp socket
Create udp socket

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffd84
mov eax, 0x69d2ab
xor edx, edx
push ebx
push esi
push edi
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 8]
mov dword [ebp - 0x1bc], 0x6e468c
mov dword [ebp - 0x1b8], esp
mov dword [ebp - 0x1c0], eax
mov word [ebp - 0x1b4], 0
mov dword [ebp - 0x1a8], edx
mov ecx, dword fs:[0]
mov dword [ebp - 0x1c4], ecx
lea eax, [ebp - 0x1c4]
mov dword fs:[0], eax
mov dl, byte [ebx]
test dl, dl
je 0x5e4b29
xor eax, eax
jmp 0x5e4b2e
mov eax, 0x6dc912
mov edx, dword [esi + 0x30]
push edx
push eax
push str.Security
push 0x6dc914
call sub.KERNEL32.DLL_WritePrivateProfileStringA
mov ecx, dword [ebx + 0x18]
lea eax, [ebp - 0x23c]
push ecx
push 0x6dc924
push eax
call fcn.006a0ad0
add esp, 0xc
mov edx, dword [ebx + 0x18]
test edx, edx
jl 0x5e4b69
lea eax, [ebp - 0x23c]
jmp 0x5e4b6b
xor eax, eax
mov edx, dword [esi + 0x30]
push edx
push eax
push 0x6dc92e
push 0x6dc927
call sub.KERNEL32.DLL_WritePrivateProfileStringA
mov cl, byte [ebx + 2]
test cl, cl
je 0x5e4b8d
mov eax, 0x6dc939
jmp 0x5e4b8f
xor eax, eax
mov edx, dword [esi + 0x30]
push edx
push eax
push str.CheckAnonPass
push 0x6dc93b
call sub.KERNEL32.DLL_WritePrivateProfileStringA
mov cl, byte [ebx + 4]
test cl, cl
je 0x5e4bb1
mov eax, 0x6dc950
jmp 0x5e4bb3
xor eax, eax
mov edx, dword [esi + 0x30]
push edx
push eax
push str.LowerCaseFileDir
push 0x6dc952
call sub.KERNEL32.DLL_WritePrivateProfileStringA
mov ecx, dword [ebx + 0x48]
lea edx, [ebp - 0x23c]
push ecx
mov eax, dword [ebx + 0x44]
push eax
push str._d_d
push edx
call fcn.006a0ad0
add esp, 0x10
mov ecx, dword [ebx + 0x44]
test ecx, ecx
jg 0x5e4bf1
mov eax, dword [ebx + 0x48]
test eax, eax
jle 0x5e4bf9
lea eax, [ebp - 0x23c]
jmp 0x5e4bfb
xor eax, eax
mov edx, dword [esi + 0x30]
push edx
push eax
push str.SpeedLimit
push 0x6dc970
call sub.KERNEL32.DLL_WritePrivateProfileStringA
mov cl, byte [ebx + 3]
test cl, cl
je 0x5e4c1d
mov eax, 0x6dc982
jmp 0x5e4c1f
xor eax, eax
mov edx, dword [esi + 0x30]
push edx
push eax
push str.DeletePartialUploads
push 0x6dc984
call sub.KERNEL32.DLL_WritePrivateProfileStringA
mov cl, byte [ebx + 6]
test cl, cl
je 0x5e4c41
mov eax, 0x6dc9a0
jmp 0x5e4c43
xor eax, eax
mov edx, dword [esi + 0x30]
push edx
push eax
push str.BlockFTPBounceAttack
push 0x6dc9a2
call sub.KERNEL32.DLL_WritePrivateProfileStringA
mov cl, byte [ebx + 5]
test cl, cl
je 0x5e4c65
mov eax, 0x6dc9be
jmp 0x5e4c67
xor eax, eax
mov edx, dword [esi + 0x30]
push edx
push eax
push str.BlockAntiTimeOut
push 0x6dc9c0
call sub.KERNEL32.DLL_WritePrivateProfileStringA
mov cl, byte [ebx + 7]
test cl, cl
je 0x5e4c86
xor eax, eax
jmp 0x5e4c8b
mov eax, 0x6dc9d8
mov edx, dword [esi + 0x30]
push edx
push eax
push str.DirCacheEnable
push 0x6dc9da
call sub.KERNEL32.DLL_WritePrivateProfileStringA
mov ecx, dword [ebx + 0x1c]
lea eax, [ebp - 0x23c]
push ecx
push 0x6dc9f0
push eax
call fcn.006a0ad0
add esp, 0xc
mov edx, dword [ebx + 0x1c]
cmp edx, 0x19
jne 0x5e4cc3
xor eax, eax
jmp 0x5e4cc9
lea eax, [ebp - 0x23c]
mov edx, dword [esi + 0x30]
push edx
push eax
push str.DirCacheSize
push 0x6dc9f3
call sub.KERNEL32.DLL_WritePrivateProfileStringA
mov ecx, dword [ebx + 0x20]
lea eax, [ebp - 0x23c]
push ecx
push 0x6dca07
push eax
call fcn.006a0ad0
add esp, 0xc
mov edx, dword [ebx + 0x20]
cmp edx, 0x258
jne 0x5e4d04
xor eax, eax
jmp 0x5e4d0a
lea eax, [ebp - 0x23c]
mov edx, dword [esi + 0x30]
push edx
push eax
push str.DirCacheTime
push 0x6dca0a
call sub.KERNEL32.DLL_WritePrivateProfileStringA
mov eax, dword [ebx + 0x24]
cmp eax, 1
jne 0x5e4d2d
mov eax, 0x6dca1e
jmp 0x5e4d3b
cmp eax, 2
jne 0x5e4d39
mov eax, str.Shared
jmp 0x5e4d3b
xor eax, eax
mov edx, dword [esi + 0x30]
push edx
push eax
push str.OpenFilesUploadMode
push 0x6dca2f
call sub.KERNEL32.DLL_WritePrivateProfileStringA
mov ecx, dword [ebx + 0x28]
dec ecx
jne 0x5e4d5c
mov eax, str.Exclusive
jmp 0x5e4d5e
xor eax, eax
mov edx, dword [esi + 0x30]
push edx
push eax
push str.OpenFilesDownloadMode
push 0x6dca54
call sub.KERNEL32.DLL_WritePrivateProfileStringA
lea ecx, [ebx + 0x60]
lea eax, [ebp - 0x1d4]
mov dword [ebp - 0x1c8], ecx
lea edx, [ebp - 0x1a0]
mov word [ebp - 0x1b4], 8
push eax
push str.rw_rw_rw_
push edx
call fcn.0069a6ec
add esp, 0xc
inc dword [ebp - 0x1a8]
mov dword [ebp - 0x1cc], eax
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [ecx + 8]
mov edx, dword [eax - 4]
push edx
mov ecx, dword [ebp - 0x1cc]
mov eax, dword [ecx + 8]
push eax
mov edx, dword [ebp - 0x1c8]
mov ecx, dword [edx + 8]
mov eax, dword [ecx - 4]
push eax
push 0
mov edx, dword [ebp - 0x1c8]
push edx
call fcn.0069b5b8
add esp, 0x14
test eax, eax
je 0x5e4de8
mov cl, 1
jmp 0x5e4dea
xor ecx, ecx
push ecx
dec dword [ebp - 0x1a8]
mov eax, dword [ebp - 0x198]
test eax, eax
je 0x5e4e9b
mov edx, dword [ebp - 0x198]
mov eax, dword [edx - 0xc]
inc eax
test eax, eax
je 0x5e4e41
mov edi, dword [ebp - 0x198]
add edi, 0xfffffff4
cmp edi, 0x6ff36c
je 0x5e4e38
cmp edi, 0x6ff36c
je 0x5e4e31
push edi
call sub.KERNEL32.DLL_InterlockedDecrement
mov eax, dword [edi]
inc eax
jmp 0x5e4e3d
mov eax, 1
jmp 0x5e4e3d
mov eax, 1
test eax, eax
jne 0x5e4e9b
mov edx, dword [ebp - 0x198]
add edx, 0xfffffff4
mov dword [ebp - 0x1d8], edx
mov ecx, dword [ebp - 0x198]
add ecx, 0xfffffff4
mov dword [ebp - 0x1dc], ecx
mov eax, dword [ebp - 0x1dc]
push eax
call fcn.0067ac7c
pop ecx
xor edx, edx
mov dword [ebp - 0x1e0], edx
lea eax, [ebp - 0x1a0]
mov ecx, dword [ebp - 0x1e0]
mov dword [ebp - 0x198], ecx
mov dword [ebp - 0x1e4], eax
mov edx, dword [ebp - 0x1e4]
mov ecx, dword [edx + 8]
mov dword [ebp - 0x244], ecx
pop eax
test al, al
je 0x5e4ea5
mov eax, dword [ebx + 0x68]
jmp 0x5e4ea7
xor eax, eax
mov edx, dword [esi + 0x30]
push edx
push eax
push str.DirListMask
push 0x6dca7b
call sub.KERNEL32.DLL_WritePrivateProfileStringA
mov cl, byte [ebx + 1]
test cl, cl
je 0x5e4ec9
mov eax, 0x6dca8e
jmp 0x5e4ecb
xor eax, eax
mov edx, dword [esi + 0x30]
push edx
push eax
push str.AntiHammer
push 0x6dca90
call sub.KERNEL32.DLL_WritePrivateProfileStringA
mov ecx, dword [ebx + 0x2c]
lea eax, [ebp - 0x23c]
push ecx
push 0x6dcaa2
push eax
call fcn.006a0ad0
add esp, 0xc
mov edx, dword [ebx + 0x2c]
cmp edx, 0x1e
jne 0x5e4f03
xor eax, eax
jmp 0x5e4f09
lea eax, [ebp - 0x23c]
mov edx, dword [esi + 0x30]
push edx
push eax
push str.AntiHammerWindow
push 0x6dcaa5
call sub.KERNEL32.DLL_WritePrivateProfileStringA
mov ecx, dword [ebx + 0x30]
lea eax, [ebp - 0x23c]
push ecx
push 0x6dcabd
push eax
call fcn.006a0ad0
add esp, 0xc
mov edx, dword [ebx + 0x30]
cmp edx, 4
jne 0x5e4f41
xor eax, eax
jmp 0x5e4f47
lea eax, [ebp - 0x23c]
mov edx, dword [esi + 0x30]
push edx
push eax
push str.AntiHammerTries
push 0x6dcac0
call sub.KERNEL32.DLL_WritePrivateProfileStringA
mov ecx, dword [ebx + 0x34]
lea eax, [ebp - 0x23c]
push ecx
push 0x6dcad7
push eax
call fcn.006a0ad0
add esp, 0xc
mov edx, dword [ebx + 0x34]
cmp edx, 0x12c
jne 0x5e4f82
xor eax, eax
jmp 0x5e4f88
lea eax, [ebp - 0x23c]
mov edx, dword [esi + 0x30]
push edx
push eax
push str.AntiHammerBlock
push 0x6dcada
call sub.KERNEL32.DLL_WritePrivateProfileStringA
mov word [ebp - 0x1b4], 0x20
push 0
push 7
push 0
push 0
mov ecx, dword [0x6af3d0]
push ecx
lea eax, [ebp - 0x190]
push eax
call fcn.00588fa8
add dword [ebp - 0x1a8], 3
mov word [ebp - 0x1b4], 0x2c
mov dword [ebp - 0x1e8], 0xffffffff
mov dword [ebp - 0x1ec], 0xffffffff
mov dword [ebp - 0x1f4], 4
mov edx, dword [ebp - 0x180]
add esp, 0x18
cmp edx, 0xffffffff
jne 0x5e5081
mov cl, byte [ebp - 0x184]
test cl, cl
jne 0x5e5019
push 0
push 1
push 2
call sub.WSOCK32.DLL_socket
mov edi, eax
jmp 0x5e502d
push 0
push 1
push 2
lea eax, [ebp - 0x190]
push eax
call fcn.00592a38
mov edi, eax
cmp edi, 0xffffffff
je 0x5e507b
xor edx, edx
lea eax, [ebp - 0x200]
mov dword [ebp - 0x1f8], edx
mov dword [ebp - 0x200], edi
mov ecx, dword [ebp - 0x1f8]
lea edx, [ebp - 0x264]
mov dword [ebp - 0x1fc], ecx
push eax
push 0x6db34c
push edx
call fcn.0058c62c
add esp, 0xc
mov ecx, dword [ebp - 0x25c]
add ecx, 0x10
add ecx, 4
lea eax, [ebp - 0x190]
mov dword [ecx], eax
mov dword [ebp - 0x180], edi
mov edx, dword [ebp - 0x180]
mov dword [ebp - 0x208], edx
mov cl, byte [ebp - 0x184]
test cl, cl
jne 0x5e50bd
lea eax, [ebp - 0x1f4]
lea edx, [ebp - 0x1f0]
push eax
push edx
push 0x1002
push 0xffff
mov ecx, dword [ebp - 0x208]
push ecx
call sub.WSOCK32.DLL_getsockopt
jmp 0x5e50e8
lea eax, [ebp - 0x1f4]
lea edx, [ebp - 0x1f0]
push eax
push edx
push 0x1002
push 0xffff
mov ecx, dword [ebp - 0x208]
lea eax, [ebp - 0x190]
push ecx
push eax
call fcn.00591d74
mov dword [ebp - 0x204], eax
mov edx, dword [ebp - 0x204]
test edx, edx
jne 0x5e50fc
xor ecx, ecx
jmp 0x5e512b
mov al, byte [ebp - 0x184]
test al, al
jne 0x5e510d
call sub.WSOCK32.DLL_WSAGetLastError
jmp 0x5e5119
lea edx, [ebp - 0x190]
push edx
call fcn.00592df0
push eax
lea ecx, [ebp - 0x190]
push ecx
call fcn.0058f584
add esp, 8
mov ecx, eax
test cl, cl
jne 0x5e513b
mov eax, dword [ebp - 0x1f0]
mov dword [ebp - 0x1e8], eax
mov dword [ebp - 0x20c], 4
mov edx, dword [ebp - 0x180]
cmp edx, 0xffffffff
jne 0x5e51d5
mov al, byte [ebp - 0x184]
test al, al
jne 0x5e516d
push 0
push 1
push 2
call sub.WSOCK32.DLL_socket
mov edi, eax
jmp 0x5e5181
push 0
push 1
push 2
lea edx, [ebp - 0x190]
push edx
call fcn.00592a38
mov edi, eax
cmp edi, 0xffffffff
je 0x5e51cf
xor ecx, ecx
lea edx, [ebp - 0x218]
mov dword [ebp - 0x210], ecx
mov dword [ebp - 0x218], edi
mov eax, dword [ebp - 0x210]
lea ecx, [ebp - 0x27c]
mov dword [ebp - 0x214], eax
push edx
push 0x6db34c
push ecx
call fcn.0058c62c
add esp, 0xc
mov eax, dword [ebp - 0x274]
add eax, 0x10
add eax, 4
lea edx, [ebp - 0x190]
mov dword [eax], edx
mov dword [ebp - 0x180], edi
mov ecx, dword [ebp - 0x180]
mov dword [ebp - 0x220], ecx
mov al, byte [ebp - 0x184]
test al, al
jne 0x5e5211
lea edx, [ebp - 0x20c]
lea ecx, [ebp - 0x1f0]
push edx
push ecx
push 0x1001
push 0xffff
mov eax, dword [ebp - 0x220]
push eax
call sub.WSOCK32.DLL_getsockopt
jmp 0x5e523c
lea edx, [ebp - 0x20c]
lea ecx, [ebp - 0x1f0]
push edx
push ecx
push 0x1001
push 0xffff
mov eax, dword [ebp - 0x220]
lea edx, [ebp - 0x190]
push eax
push edx
call fcn.00591d74
mov dword [ebp - 0x21c], eax
mov ecx, dword [ebp - 0x21c]
test ecx, ecx
jne 0x5e5250
xor eax, eax
jmp 0x5e527d
mov dl, byte [ebp - 0x184]
test dl, dl
jne 0x5e5261
call sub.WSOCK32.DLL_WSAGetLastError
jmp 0x5e526d
lea ecx, [ebp - 0x190]
push ecx
call fcn.00592df0
push eax
lea eax, [ebp - 0x190]
push eax
call fcn.0058f584
add esp, 8
test al, al
jne 0x5e528d
mov edx, dword [ebp - 0x1f0]
mov dword [ebp - 0x1ec], edx
mov cl, byte [ebx + 9]
test cl, cl
je 0x5e529b
mov eax, 0x6dcaf1
jmp 0x5e529d
xor eax, eax
mov edx, dword [esi + 0x30]
push edx
push eax
push str.SocketInlineOOB
push 0x6dcaf3
call sub.KERNEL32.DLL_WritePrivateProfileStringA
mov cl, byte [ebx + 0xa]
test cl, cl
je 0x5e52bf
mov eax, 0x6dcb0a
jmp 0x5e52c1
xor eax, eax
mov edx, dword [esi + 0x30]
push edx
push eax
push str.SocketKeepAlive
push 0x6dcb0c
call sub.KERNEL32.DLL_WritePrivateProfileStringA
mov cl, byte [ebx + 0xb]
test cl, cl
je 0x5e52e3
mov eax, 0x6dcb23
jmp 0x5e52e5
xor eax, eax
mov edx, dword [esi + 0x30]
push edx
push eax
push str.SocketNoNagle
push 0x6dcb25
call sub.KERNEL32.DLL_WritePrivateProfileStringA
mov ecx, dword [ebx + 0x38]
lea eax, [ebp - 0x23c]
push ecx
push 0x6dcb3a
push eax
call fcn.006a0ad0
add esp, 0xc
mov eax, dword [ebx + 0x38]
test eax, eax
jle 0x5e5322
mov edx, dword [ebp - 0x1e8]
cmp eax, edx
jne 0x5e5326
xor eax, eax
jmp 0x5e532c
lea eax, [ebp - 0x23c]
mov edx, dword [esi + 0x30]
push edx
push eax
push str.SocketRcvBuffer
push 0x6dcb3d
call sub.KERNEL32.DLL_WritePrivateProfileStringA
mov ecx, dword [ebx + 0x3c]
lea eax, [ebp - 0x23c]
push ecx
push 0x6dcb54
push eax
call fcn.006a0ad0
add esp, 0xc
mov eax, dword [ebx + 0x3c]
test eax, eax
jle 0x5e5369
mov edx, dword [ebp - 0x1ec]
cmp eax, edx
jne 0x5e536d
xor eax, eax
jmp 0x5e5373
lea eax, [ebp - 0x23c]
mov edx, dword [esi + 0x30]
push edx
push eax
push str.SocketSndBuffer
push 0x6dcb57
call sub.KERNEL32.DLL_WritePrivateProfileStringA
mov ecx, dword [ebx + 0x40]
lea eax, [ebp - 0x23c]
push ecx
push 0x6dcb6e
push eax
call fcn.006a0ad0
add esp, 0xc
mov edx, dword [ebx + 0x40]
test edx, edx
jle 0x5e53ae
lea eax, [ebp - 0x23c]
jmp 0x5e53b0
xor eax, eax
mov edx, dword [esi + 0x30]
push edx
push eax
push str.PacketTimeOut
push 0x6dcb71
call sub.KERNEL32.DLL_WritePrivateProfileStringA
mov cl, byte [ebx + 8]
test cl, cl
je 0x5e53cf
xor eax, eax
jmp 0x5e53d4
mov eax, 0x6dcb86
mov edx, dword [esi + 0x30]
push edx
push eax
push str.PacketTimeOutDynamic
push 0x6dcb88
call sub.KERNEL32.DLL_WritePrivateProfileStringA
mov ecx, dword [ebx + 0x10]
lea eax, [ebp - 0x23c]
push ecx
push 0x6dcba4
push eax
call fcn.006a0ad0
add esp, 0xc
mov edx, dword [ebx + 0x10]
test edx, edx
jle 0x5e540f
lea eax, [ebp - 0x23c]
jmp 0x5e5411
xor eax, eax
mov edx, dword [esi + 0x30]
push edx
push eax
push str.PASVPortStart
push 0x6dcba7
call sub.KERNEL32.DLL_WritePrivateProfileStringA
mov ecx, dword [ebx + 0x14]
lea eax, [ebp - 0x23c]
push ecx
push 0x6dcbbc
push eax
call fcn.006a0ad0
add esp, 0xc
mov edx, dword [ebx + 0x14]
test edx, edx
jle 0x5e544c
lea eax, [ebp - 0x23c]
jmp 0x5e544e
xor eax, eax
mov edx, dword [esi + 0x30]
push edx
push eax
push str.PASVPortRange
push 0x6dcbbf
call sub.KERNEL32.DLL_WritePrivateProfileStringA
sub dword [ebp - 0x1a8], 3
push 2
lea ecx, [ebp - 0x190]
push ecx
call fcn.005899b4
add esp, 8
mov eax, dword [ebp - 0x1c4]
mov dword fs:[0], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret