Function at 0x411060
Capabilities:
Create directory
Get common file path
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a291c
mov eax, dword fs:[0]
push eax
sub esp, 0x224
mov eax, dword [0x4c3014]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
cmp dword [0x4c60d0], 0
mov esi, dword [ebp + 8]
je 0x4113c3
inc dword [edi + 0x406]
add esi, 0x10
mov ebx, dword [sym.imp.WS2_32.dll_htons]
movzx eax, word [esi]
push eax
call ebx
movzx eax, ax
mov dword [ebp - 0x230], eax
add esi, 2
je 0x4113c3
movzx eax, word [esi]
push eax
call ebx
cmp ax, 0x19
jne 0x4113c3
lea ecx, [ebp - 0x218]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
cmp dword [ebp - 0x230], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x22c], 0
jbe 0x4112a4
lea ebx, [esi + 6]
mov dword [ebp - 0x228], ebx
nop word [eax + eax]
movzx eax, word [ebx - 6]
push eax
call dword [sym.imp.WS2_32.dll_htons]
cmp ax, 0x19
jne 0x4112a4
push dword [ebx - 4]
call dword [sym.imp.WS2_32.dll_htonl]
push dword [ebx]
mov esi, eax
call dword [sym.imp.WS2_32.dll_htonl]
mov ebx, eax
cmp esi, 0x55dc
jne 0x41114a
mov dword [edi + 0x366], ebx
jmp 0x411188
cmp esi, 0x55e2
jne 0x41115a
mov dword [edi + 0x36a], ebx
jmp 0x411188
cmp esi, 0x55e8
jne 0x41116a
mov dword [edi + 0x36e], ebx
jmp 0x411188
cmp esi, 0x5600
jne 0x41117a
mov dword [edi + 0x372], ebx
jmp 0x411188
cmp esi, 0x560c
jne 0x411188
mov dword [edi + 0x376], ebx
mov eax, dword [edi + 0x42e]
test eax, eax
je 0x4111a2
cmp esi, dword [edi + 0x432]
jne 0x4111a2
cmp ebx, eax
jae 0x4113e1
cmp esi, 0x27df
je 0x411222
cmp esi, 0x3988
je 0x4111d2
cmp esi, 0x3987
je 0x4111da
cmp esi, 0x4981
je 0x4111d2
cmp esi, 0x615b
je 0x4111d2
cmp esi, 0x5da8
jne 0x41122e
cmp esi, 0x3987
jne 0x4111e2
mov dword [edi + 0x4e3], ebx
jmp 0x41122e
cmp esi, 0x4981
jne 0x4111f2
mov dword [edi + 0x4e7], ebx
jmp 0x41122e
cmp esi, 0x615b
jne 0x411202
mov dword [edi + 0x4eb], ebx
jmp 0x41122e
cmp esi, 0x5da8
jne 0x411212
mov dword [edi + 0x4ef], ebx
jmp 0x41122e
cmp esi, 0x31b0
jne 0x41122e
mov dword [edi + 0x4f3], ebx
jmp 0x41122e
mov dword [edi + 0x4db], ebx
mov dword [edi + 0x4df], ebx
mov edx, esi
lea ecx, [ebp - 0x224]
call fcn.0041ae70
mov eax, dword [ebp - 0x228]
mov byte [ebp - 4], 1
push dword [eax + 4]
call dword [sym.imp.WS2_32.dll_htonl]
push eax
push ebx
push esi
push dword [ebp - 0x224]
lea eax, [ebp - 0x218]
push str._s_d:_d:_d____
push eax
call dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__8]
add esp, 0x18
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x224]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov eax, dword [ebp - 0x22c]
mov ebx, dword [ebp - 0x228]
inc eax
add ebx, 0x19
mov dword [ebp - 0x22c], eax
mov dword [ebp - 0x228], ebx
cmp eax, dword [ebp - 0x230]
jb 0x411110
push 0x200
lea eax, [ebp - 0x210]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
lea ecx, [ebp - 0x214]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
lea ecx, [ebp - 0x220]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
lea ecx, [ebp - 0x21c]
call dword [sym.imp.mfc140u.dll_Ordinal_296]
push 0
push 0
lea eax, [ebp - 0x210]
mov byte [ebp - 4], 4
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHGetSpecialFolderPathW]
push dword [edi + 8]
mov esi, dword [sym.imp.mfc140u.dll_ATL::CStringT_wchar_t_StrTraitMFC_DLL_wchar_t_ATL::ChTraitsCRT_wchar_t__9]
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x214]
push str._sGzxItem
push eax
call esi
add esp, 0x10
push dword [ebp - 0x214]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0x10
je 0x411335
push 0
push dword [ebp - 0x214]
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push dword [edi + 8]
lea eax, [ebp - 0x210]
push eax
lea eax, [ebp - 0x214]
push str._sGzxItem_u.ini
push eax
call esi
push dword [edi + 8]
lea eax, [ebp - 0x220]
push 0x4b6b6c
push eax
call esi
push dword [edi + 0x406]
lea eax, [ebp - 0x21c]
push str.Item_d
push eax
call esi
add esp, 0x28
push dword [ebp - 0x214]
push dword [ebp - 0x218]
push dword [ebp - 0x220]
push dword [ebp - 0x21c]
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
lea ecx, [ebp - 0x21c]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x220]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x214]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
lea ecx, [ebp - 0x218]
call dword [sym.imp.mfc140u.dll_Ordinal_1045]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0044627d
mov esp, ebp
pop ebp
ret 8
cmp dword [0x4c6114], 0
je 0x411401
cmp byte [edi + 0x5fc], 0
je 0x411401
mov ecx, edi
call fcn.004147a0
mov ecx, edi
call fcn.004147a0
mov dword [edi + 0x416], 1
jmp 0x4113b7