Function at 0x426d40
Capabilities:
Create directory
Get common file path
Initialize winsock library

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x80c
mov eax, dword [0x519008]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x3a8
push 0
push 0x51d9e0
mov ebx, edx
mov esi, ecx
call fcn.00405490
mov eax, dword [esi]
add esp, 0xc
mov dword [0x51d9e0], eax
push 0x51dbe8
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
push 0
push 0x3e8
push dword [0x51dbec]
push dword [0x51dbe8]
call fcn.004fce10
push 0x51dbf0
mov dword [0x51dbe8], eax
mov dword [0x51dbec], edx
call dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
push 0x104
lea eax, [ebp - 0x20c]
push eax
push dword [0x51d9e0]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov edi, dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
lea eax, [ebp - 0x40c]
push 0
push 0
push 0x200
push eax
push 0xffffffffffffffff
lea eax, [ebp - 0x20c]
push eax
push 0
push 0xfde9
call edi
or edx, 0xffffffff
lea ecx, [ebp - 0x40c]
call fcn.0042bb20
lea esi, [ebp - 0x40c]
mov byte [0x51d9e4], 0
lea ecx, [esi + 1]
lea esp, [esp]
mov al, byte [esi]
inc esi
test al, al
jne 0x426e10
sub esi, ecx
je 0x426e5f
jmp 0x426e20
mov al, byte [ebp + esi - 0x40d]
dec esi
cmp al, 0x2f
je 0x426e36
cmp al, 0x5c
je 0x426e36
test esi, esi
jne 0x426e20
jmp 0x426e5f
cmp esi, 0x100
jb 0x426e43
mov esi, 0xff
push esi
lea eax, [ebp - 0x40c]
push eax
push 0x51d9e4
call fcn.00407040
add esp, 0xc
mov byte [esi + 0x51d9e4], 0
lea eax, [ebp - 0x20c]
push eax
push 0
push 0
push 0x801a
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
lea ecx, [ebp - 0x20c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x426e80
sub ecx, edx
xor eax, eax
sar ecx, 1
je 0x426eb8
lea edx, [eax + 0x2f]
jmp 0x426ea0
cmp word [ebp + eax*2 - 0x20c], 0x5c
jne 0x426eb3
mov word [ebp + eax*2 - 0x20c], dx
inc eax
cmp eax, ecx
jb 0x426ea0
push 0
push 0
push 0x100
push 0x51dae4
push 0xffffffffffffffff
lea eax, [ebp - 0x20c]
push eax
push 0
push 0xfde9
call edi
or edx, 0xffffffff
mov ecx, 0x51dae4
call fcn.0042bb20
push 0x504df0
push 0x100
push 0x51dae4
call fcn.0040bf49
push ebx
push 0x100
push 0x51dae4
call fcn.0040bf49
add esp, 0x18
cmp byte [0x51dae4], 0
je 0x426fbb
cmp byte [0x51dae5], 0x3a
jne 0x426fbb
mov al, byte [0x51dae7]
mov esi, 3
test al, al
je 0x426faf
mov ebx, dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov edi, dword [sym.imp.KERNEL32.dll_GetLastError]
cmp al, 0x5c
je 0x426f48
cmp al, 0x2f
jne 0x426fa4
cmp esi, 0xffffffff
jne 0x426f51
or eax, esi
jmp 0x426f53
mov eax, esi
push 0x200
lea ecx, [ebp - 0x80c]
push ecx
push eax
push 0x51dae4
push 0
push 0xfde9
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
test eax, eax
je 0x426fbb
cmp word [ebp + eax*2 - 0x80c], 0
je 0x426f8b
xor ecx, ecx
mov word [ebp + eax*2 - 0x80c], cx
push 0
lea eax, [ebp - 0x80c]
push eax
call ebx
cmp eax, 1
je 0x426fa4
call edi
cmp eax, 0xb7
jne 0x426fbb
mov al, byte [esi + 0x51dae5]
inc esi
test al, al
jne 0x426f40
mov edx, esi
mov ecx, 0x51dae4
call fcn.0042a5f0
push 0x51dbf8
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
mov ecx, dword [ebp - 4]
test eax, eax
pop edi
sete al
xor ecx, ebp
pop esi
pop ebx
call fcn.00403d8c
mov esp, ebp
pop ebp
ret