Function at 0x10005730
Capabilities:
Get common file path

Disassembly:
sub esp, 0x144
push ebx
push ebp
push esi
push edi
xor ebx, ebx
mov ecx, 7
xor eax, eax
lea edi, [esp + 0x24]
mov word [esp + 0x20], bx
mov byte [esp + 0x50], bl
rep stosd dword es:[edi], eax
mov ecx, 0x40
lea edi, [esp + 0x51]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0x50]
push 0x104
push eax
mov dword [esp + 0x20], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x18], ebx
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryA]
mov edi, str.NetConfig.dat
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x50]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov ebp, ecx
mov edi, edx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, ebp
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x158]
mov ecx, ebp
and ecx, 3
cmp eax, ebx
rep movsb byte es:[edi], byte [esi]
jne 0x10005868
lea eax, [esp + 0x18]
push eax
push str.Server
call fcn.10008ad0
add esp, 8
test eax, eax
je 0x10005868
mov eax, dword [esp + 0x18]
cmp eax, ebx
je 0x10005868
push eax
call sub.WS2_32.dll_htonl
mov dword [esp + 0x18], eax
call fcn.10004e20
push 0x106
mov ecx, dword [esp + 0x1c]
push 2
push ebx
push 1
push 1
push ebx
push 3
push ebx
push 0x1e
push 0x1e5d
push ecx
push ebx
mov esi, eax
push ebx
push ebx
push esi
call fcn.10004f10
add esp, 0x3c
test eax, eax
jne 0x1000585f
lea edx, [esp + 0x14]
lea eax, [esp + 0x10]
push edx
push eax
push esi
mov dword [esp + 0x20], ebx
call fcn.100040e0
add esp, 0xc
test eax, eax
jne 0x1000585f
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
push ecx
lea eax, [esp + 0x54]
push edx
push eax
mov dword [esp + 0x28], ebx
call fcn.10007a20
lea ecx, [esp + 0x28]
push 4
push ecx
push esi
call fcn.100043c0
add esp, 0x18
push esi
call fcn.10004e70
add esp, 4
lea edx, [esp + 0x44]
lea eax, [esp + 0x10]
push edx
lea ecx, [esp + 0x54]
push eax
push ecx
call fcn.10007b70
add esp, 0xc
test eax, eax
je 0x10005a6d
cmp dword [esp + 0x10], ebx
je 0x10005a55
mov ecx, dword [esp + 0x44]
cmp ecx, ebx
je 0x10005a55
mov eax, 0xcccccccd
mul ecx
mov edi, edx
shr edi, 4
je 0x10005a55
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x14]
lea eax, [esp + 0x4c]
push edx
push eax
push ecx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x20], ebx
call fcn.100068e0
add esp, 0xc
cmp eax, ebx
mov dword [esp + 0x48], eax
je 0x10005a55
mov ecx, dword [esp + 0x14]
cmp ecx, ebx
jle 0x10005a55
cmp edi, ebx
jle 0x10005a49
mov edx, dword [esp + 0x10]
mov esi, 4
mov dword [esp + 0x1c], edi
cmp dword [esi + edx + 0xc], ebx
je 0x10005a37
cmp ecx, ebx
mov dword [esp + 0x40], ebx
jle 0x10005a37
mov ebp, eax
mov ecx, 8
xor eax, eax
lea edi, [esp + 0x20]
push 0x20
rep stosd dword es:[edi], eax
movzx ax, byte [esi + edx + 8]
mov word [esp + 0x24], ax
mov ecx, dword [esi + edx - 4]
and ecx, dword [esi + edx]
mov dword [esp + 0x2c], ecx
mov eax, dword [esi + edx]
mov dword [esp + 0x34], eax
mov ax, word [esi + edx + 4]
xor ecx, ecx
mov cl, ah
mov ch, al
xor eax, eax
mov word [esp + 0x3a], cx
mov dx, word [esi + edx + 6]
mov al, dh
mov ah, dl
lea edx, [esp + 0x24]
mov word [esp + 0x3e], ax
mov ecx, dword [ebp]
mov dword [esp + 0x28], ecx
push edx
push 0x4322a0c8
mov ecx, 0x10026840
mov dword [esp + 0x38], 0xffffffff
mov word [esp + 0x40], bx
mov word [esp + 0x44], 0xffff
mov byte [esp + 0x48], bl
call fcn.100099f0
mov ecx, 8
xor eax, eax
lea edi, [esp + 0x20]
push 0x20
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x14]
movzx cx, byte [esi + eax + 8]
mov word [esp + 0x24], cx
mov edx, dword [ebp]
mov dword [esp + 0x2c], edx
mov dword [esp + 0x34], 0xffffffff
mov word [esp + 0x3a], bx
mov word [esp + 0x3e], 0xffff
mov ecx, dword [esi + eax - 4]
mov edx, dword [esi + eax]
and ecx, edx
mov dword [esp + 0x28], ecx
mov edx, dword [esi + eax]
mov dword [esp + 0x30], edx
mov cx, word [esi + eax + 4]
xor edx, edx
mov dl, ch
mov dh, cl
xor ecx, ecx
mov word [esp + 0x38], dx
mov ax, word [esi + eax + 6]
mov cl, ah
lea edx, [esp + 0x24]
mov ch, al
push edx
mov word [esp + 0x40], cx
push 0x4322a0c8
mov ecx, 0x10026840
mov byte [esp + 0x48], bl
call fcn.100099f0
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
inc eax
add ebp, 4
cmp eax, ecx
mov dword [esp + 0x40], eax
jl 0x10005913
mov eax, dword [esp + 0x48]
mov edi, dword [esp + 0x1c]
add esi, 0x14
dec edi
mov dword [esp + 0x1c], edi
jne 0x100058fb
push eax
mov ebx, 1
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov eax, dword [esp + 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
pop edi
pop esi
mov eax, ebx
pop ebp
pop ebx
add esp, 0x144
ret
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x144
ret