Function at 0x41e6d0
Capabilities:
Create directory
Delete directory
Delete file
Enumerate files on windows
Read file on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a1321
mov eax, dword fs:[0]
push eax
mov eax, 0x3398
call fcn.00497d20
mov eax, dword [0x4cc99c]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
xor ebx, ebx
mov esi, edx
mov dword [ebp - 0x3398], ebx
mov dword [ebp - 0x339c], esi
mov dword [ecx], 1
cmp eax, 0x842
jne 0x41e72c
call fcn.00480590
jmp 0x41ed47
cmp eax, 0x838
jne 0x41e768
push eax
push ebx
lea ecx, [esi + 0x14]
call dword [sym.imp.HFUILib.dll_public:_bool___thiscall_CPaintManagerUI::KillTimer_class_CControlUI___unsigned_int_]
mov eax, dword [esi + 0x2504]
cmp eax, ebx
je 0x41ed47
push 0x93
push ebx
push ebx
push ebx
push ebx
push ebx
push eax
call dword [sym.imp.USER32.dll_SetWindowPos]
mov dword [esi + 0x2504], ebx
jmp 0x41ed47
cmp eax, 0x83d
jne 0x41e787
push eax
push ebx
lea ecx, [esi + 0x14]
call dword [sym.imp.HFUILib.dll_public:_bool___thiscall_CPaintManagerUI::KillTimer_class_CControlUI___unsigned_int_]
push 1
push esi
call fcn.00433d70
jmp 0x41ed47
cmp eax, 0x83f
jne 0x41e79a
mov ecx, esi
call fcn.00437920
jmp 0x41ed47
cmp eax, 0x83a
jne 0x41e817
push eax
push ebx
lea ecx, [esi + 0x14]
call dword [sym.imp.HFUILib.dll_public:_bool___thiscall_CPaintManagerUI::KillTimer_class_CControlUI___unsigned_int_]
cmp dword [esi + 0x2318], ebx
je 0x41ed47
lea eax, [ebp - 0x3114]
push 0x800
push eax
call dword [sym.imp.HFUILib.dll_public:_static_struct_HINSTANCE______cdecl_CPaintManagerUI::GetResourceInstance_void_]
push eax
call fcn.0045b1e0
add esp, 0xc
test eax, eax
je 0x41e7f1
push str.pagegameworld.htm
lea ecx, [ebp - 0x3114]
push 0x800
push ecx
call dword [sym.imp.MSVCR100.dll_wcscat_s]
add esp, 0xc
mov edx, dword [esi + 0x2318]
mov dword [edx + 0xa4], 3
mov ebx, dword [esi + 0x2318]
lea edi, [ebp - 0x3114]
call fcn.00417e10
jmp 0x41ed47
cmp eax, 0x839
jne 0x41ebe0
push eax
push ebx
lea ecx, [esi + 0x14]
call dword [sym.imp.HFUILib.dll_public:_bool___thiscall_CPaintManagerUI::KillTimer_class_CControlUI___unsigned_int_]
cmp dword [esi + 0x2358], ebx
jne 0x41e927
push 0xc0
call dword [sym.imp.MSVCR100.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 4
mov dword [ebp - 0x339c], eax
mov dword [ebp - 4], ebx
cmp eax, ebx
je 0x41e8aa
push ebx
push ebx
push ebx
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x33a0], esp
push 0x4acbdc
call fcn.00402480
call fcn.00405b40
lea edi, [ebp - 0x3140]
mov ebx, eax
call fcn.00407d10
mov ecx, 1
mov byte [ebp - 4], cl
cmp dword [eax + 0x14], 8
mov dword [ebp - 0x3398], ecx
jb 0x41e894
mov eax, dword [eax]
mov ecx, dword [ebp - 0x339c]
push 0
push ecx
mov ebx, eax
xor edx, edx
call fcn.00418d60
xor ebx, ebx
jmp 0x41e8ac
xor eax, eax
mov dword [ebp - 4], 0xffffffff
test byte [ebp - 0x3398], 1
mov dword [esi + 0x2358], eax
je 0x41e8cd
lea ecx, [ebp - 0x3140]
call fcn.004024d0
mov edx, dword [esi + 0x2358]
mov dword [edx + 0x34], esi
mov edi, dword [esi + 0x2358]
lea eax, [ebp - 0x3124]
mov dword [ebp - 0x3124], ebx
mov dword [ebp - 0x3120], ebx
mov dword [ebp - 0x311c], 0x320
mov dword [ebp - 0x3118], 0x258
call fcn.00418fc0
mov esi, dword [esi + 0x2358]
mov eax, dword [esi + 0x7c]
cmp eax, ebx
je 0x41ed47
mov dword [eax + 0xa4], 1
jmp 0x41ed47
lea eax, [ebp - 0x1114]
push 0x800
push eax
call dword [sym.imp.HFUILib.dll_public:_static_struct_HINSTANCE______cdecl_CPaintManagerUI::GetResourceInstance_void_]
push eax
call fcn.0045b1e0
add esp, 0xc
test eax, eax
je 0x41ebbd
push str.page
lea ecx, [ebp - 0x1114]
push 0x800
push ecx
call dword [sym.imp.MSVCR100.dll_wcscat_s]
add esp, 0xc
push ebx
lea edx, [ebp - 0x1114]
push edx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea eax, [ebp - 0x1114]
push eax
push str._sgameworld_files.
lea edx, [ebp - 0x2114]
call fcn.0043ed00
add esp, 8
lea ecx, [ebp - 0x3394]
push ecx
lea edx, [ebp - 0x2114]
push edx
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov ebx, dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov edi, eax
cmp edi, 0xffffffff
je 0x41ea33
lea eax, [ebp - 0x3368]
push eax
lea ecx, [ebp - 0x1114]
push ecx
push str._sgameworld_files_s
lea edx, [ebp - 0x2114]
call fcn.0043ed00
add esp, 0xc
lea edx, [ebp - 0x2114]
push edx
call ebx
lea eax, [ebp - 0x3394]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
je 0x41ea2c
lea ecx, [ecx]
lea ecx, [ebp - 0x3368]
push ecx
lea edx, [ebp - 0x1114]
push edx
push str._sgameworld_files_s
lea edx, [ebp - 0x2114]
call fcn.0043ed00
add esp, 0xc
lea eax, [ebp - 0x2114]
push eax
call ebx
lea ecx, [ebp - 0x3394]
push ecx
push edi
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x41e9f0
push edi
call dword [sym.imp.KERNEL32.dll_FindClose]
lea edx, [ebp - 0x1114]
push edx
push str._sgameworld_files
lea edx, [ebp - 0x2114]
call fcn.0043ed00
add esp, 8
lea eax, [ebp - 0x2114]
push eax
call dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
push str.gameworld.htm
lea ecx, [ebp - 0x1114]
push 0x800
push ecx
call dword [sym.imp.MSVCR100.dll_wcscat_s]
add esp, 0xc
lea edx, [ebp - 0x1114]
push edx
call ebx
mov esi, dword [esi + 0x2358]
mov eax, 0xfffffc18
mov ebx, 1
lea edi, [ebp - 0x311c]
mov dword [ebp - 0x311c], eax
mov dword [ebp - 0x3118], eax
call fcn.0041a6b0
mov eax, dword [ebp - 0x339c]
mov ecx, dword [eax + 0x2358]
mov ecx, dword [ecx + 0x7c]
test ecx, ecx
je 0x41ebb5
lea edx, [ebp - 0x1114]
push edx
call fcn.00417600
test eax, eax
jne 0x41ebb5
mov ebx, dword [sym.imp.KERNEL32.dll_CreateFileW]
push eax
push 0x80
push 3
push eax
push 3
push 0xc0000000
lea eax, [ebp - 0x1114]
push eax
call ebx
mov edi, eax
test edi, edi
je 0x41ebb5
xor eax, eax
push eax
lea ecx, [ebp - 0x3398]
push ecx
push 0x100
lea edx, [ebp - 0x114]
push edx
push edi
mov dword [ebp - 0x3398], eax
mov dword [ebp - 0x33a0], eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x41ebb5
lea eax, [ebp - 0x114]
push str.__DOCTYPE_HTML
push eax
call dword [sym.imp.MSVCR100.dll_strstr]
mov esi, eax
add esp, 8
test esi, esi
je 0x41ebb5
lea ecx, [ebp - 0x114]
push 0x4b1978
push ecx
call dword [sym.imp.MSVCR100.dll_strstr]
sub eax, esi
sub eax, 0xe
push eax
push 0x20
add esi, 0xe
push esi
call sub.MSVCR100.dll_memset
add esp, 0x14
push edi
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
call edi
push 0
push 0x80
push 3
push 0
push 3
push 0xc0000000
lea edx, [ebp - 0x1114]
push edx
call ebx
mov esi, eax
test esi, esi
je 0x41ebb5
mov ecx, dword [ebp - 0x3398]
push 0
lea eax, [ebp - 0x33a0]
push eax
push ecx
lea edx, [ebp - 0x114]
push edx
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
push esi
call edi
mov esi, dword [ebp - 0x339c]
xor ebx, ebx
mov eax, dword [esi + 0x2358]
cmp eax, ebx
je 0x41ed47
mov eax, dword [eax + 4]
push eax
call dword [sym.imp.USER32.dll_DestroyWindow]
mov dword [esi + 0x2358], ebx
jmp 0x41ed47
cmp eax, 0x83b
jne 0x41ed47
push eax
push ebx
lea ecx, [esi + 0x14]
call dword [sym.imp.HFUILib.dll_public:_bool___thiscall_CPaintManagerUI::KillTimer_class_CControlUI___unsigned_int_]
cmp byte [esi + 0x2694], bl
jne 0x41ed47
cmp dword [esi + 0x235c], ebx
je 0x41ecdf
cmp dword [esi + 0x2658], ebx
je 0x41ec62
lea eax, [esi + 0x2360]
lea edi, [esi + 0x23c0]
call fcn.0043d230
mov eax, dword [eax]
cmp eax, ebx
je 0x41ed47
add eax, 0x3014
push eax
call dword [sym.imp.MSVCR100.dll__wtoi]
add esp, 4
cmp byte [esi + 0x2694], bl
jne 0x41ed47
mov ecx, dword [esi + 0x235c]
push 1
push eax
push ecx
mov ebx, esi
call fcn.0041e0d0
jmp 0x41ed47
call dword [sym.imp.USER32.dll_GetActiveWindow]
mov ecx, dword [esi + 4]
cmp eax, ecx
jne 0x41ed47
push ecx
call dword [sym.imp.USER32.dll_IsWindowEnabled]
test eax, eax
je 0x41ed47
cmp dword [esi + 0x2394], ebx
jne 0x41ed47
cmp dword [esi + 0x2398], ebx
jne 0x41ed47
lea eax, [esi + 0x2360]
lea edi, [esi + 0x23c0]
call fcn.0043d230
mov eax, dword [eax]
cmp eax, ebx
je 0x41ed47
add eax, 0x3014
push eax
call dword [sym.imp.MSVCR100.dll__wtoi]
add esp, 4
cmp byte [esi + 0x2694], bl
jne 0x41ed47
mov edx, dword [esi + 0x235c]
push 1
push eax
push edx
mov ebx, esi
call fcn.0041e0d0
jmp 0x41ed47
mov edx, dword [esi + 0x2698]
cmp edx, 2
jne 0x41ecf9
mov esi, dword [esi + 0x231c]
cmp esi, ebx
je 0x41ed47
mov eax, dword [esi + 4]
jmp 0x41ed2f
cmp edx, 3
jne 0x41ed0d
mov esi, dword [esi + 0x2320]
cmp esi, ebx
je 0x41ed47
mov eax, dword [esi + 4]
jmp 0x41ed2f
cmp edx, 1
jne 0x41ed21
mov esi, dword [esi + 0x2318]
cmp esi, ebx
je 0x41ed47
mov eax, dword [esi + 4]
jmp 0x41ed2f
mov ecx, esi
call fcn.00439190
cmp eax, ebx
je 0x41ed47
mov eax, dword [eax + 4]
cmp eax, ebx
je 0x41ed47
push eax
call fcn.0045b0a0
add esp, 4
cmp eax, ebx
je 0x41ed47
push eax
call dword [sym.imp.USER32.dll_SetFocus]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00497792
mov esp, ebp
pop ebp
ret 4