Function at 0x442a10
Capabilities:
Create directory
Set current directory

Disassembly:
push 0xffffffffffffffff
push 0x4ae767
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x244
mov eax, dword [0x4cb400]
push ebx
push esi
mov dword [esp + 0x248], eax
mov eax, dword [esp + 0x25c]
push edi
xor ebx, ebx
xor edi, edi
cmp eax, 2
jl 0x442ac9
mov eax, dword [esp + 0x264]
mov edx, dword [eax + 4]
mov eax, edx
mov dword [esp + 0x28], 0xf
mov dword [esp + 0x24], ebx
mov byte [esp + 0x14], bl
lea esi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x442a70
sub eax, esi
push eax
push edx
lea ecx, [esp + 0x18]
call fcn.00404fa0
mov eax, dword [esp + 0x28]
mov esi, 0x10
cmp eax, esi
mov eax, dword [esp + 0x14]
jae 0x442a99
lea eax, [esp + 0x14]
push eax
call fcn.00497e42
mov edi, eax
mov eax, dword [esp + 0x2c]
add esp, 4
cmp eax, esi
jb 0x442ab9
mov ecx, dword [esp + 0x14]
push ecx
call fcn.00496b1d
add esp, 4
mov dword [esp + 0x28], 0xf
mov dword [esp + 0x24], ebx
mov byte [esp + 0x14], bl
mov edx, dword [0x549140]
mov ecx, dword [edx]
lea edx, [esp + 0x2c]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
cmp al, bl
jne 0x442ad5
lea esi, [esp + 0x2c]
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
cmp al, bl
jne 0x442ae6
sub esi, ecx
cmp esi, ebx
jle 0x442b34
mov al, 0x5c
cmp byte [esp + esi + 0x2c], al
je 0x442b02
dec esi
cmp esi, ebx
jg 0x442af5
jmp 0x442b34
lea eax, [esi + 1]
push eax
call fcn.004972f4
push esi
lea ecx, [esp + 0x34]
push ecx
push eax
mov dword [0x524e08], eax
call fcn.00498420
mov edx, dword [0x524e08]
mov byte [edx + esi], bl
mov eax, dword [0x524e08]
add esp, 0x10
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryA]
push 0x4429e0
push 2
call fcn.004980fa
push 0x4429e0
push 0xf
call fcn.004980fa
push 0x4429e0
push 0x15
call fcn.004980fa
push 0x4429e0
push 0x16
call fcn.004980fa
add esp, 0x20
push ebx
push str.cetup.ini
lea ecx, [esp + 0x134]
call fcn.0047ebd0
push str.ServerId
push str.SceneServer
lea ecx, [esp + 0x134]
mov dword [esp + 0x260], ebx
call fcn.0047eb70
mov ecx, dword [0x524e08]
push eax
push ecx
push str._s_d
push 0x4d5ed0
call fcn.00496d86
add esp, 0x10
push ebx
push 0x4d5ed0
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push 0x4d5ed0
mov ecx, 0x4d5fd8
call fcn.00482770
mov eax, dword [0x524e14]
mov edx, dword [eax]
lea ecx, [esp + 0x2c]
push ecx
push 0x4b5900
push str.region:
push eax
call dword [edx + pe_nt_image_headers32]
push 0x20
call fcn.004972e6
add esp, 0x14
mov dword [esp + 0xc], eax
cmp eax, ebx
mov byte [esp + 0x258], 1
je 0x442c08
mov ecx, eax
call fcn.0047d7e0
jmp 0x442c0a
xor eax, eax
push 0x4000
mov ecx, eax
mov byte [esp + 0x25c], bl
mov dword [0x4d5fd0], eax
call fcn.0047d4f0
push 0xdd0
call fcn.004972e6
add esp, 4
mov dword [esp + 0xc], eax
cmp eax, ebx
mov byte [esp + 0x258], 2
je 0x442c48
mov ecx, eax
call fcn.004346a0
jmp 0x442c4a
xor eax, eax
mov ecx, eax
mov byte [esp + 0x258], bl
mov dword [0x4d5fd4], eax
call fcn.004320b0
test al, al
push ebx
push ebx
jne 0x442c71
push 0x2b12
push edi
call dword [sym.imp.USER32.dll_PostMessageA]
jmp 0x442c88
push 0x2b10
push edi
call dword [sym.imp.USER32.dll_PostMessageA]
mov ecx, dword [0x4d5fd4]
call fcn.00435140
mov eax, dword [0x524e14]
mov edx, dword [eax]
push 0x4b58f4
push str.region:
push eax
call dword [edx + pe_nt_image_headers32]
mov ecx, dword [0x4d5fd4]
add esp, 0xc
call fcn.004325c0
mov ecx, dword [0x4d5fd4]
cmp ecx, ebx
mov esi, ecx
je 0x442cc5
call fcn.004330e0
push esi
call fcn.00496b1d
add esp, 4
mov ecx, dword [0x4d5fd0]
pop edi
pop esi
cmp ecx, ebx
pop ebx
je 0x442cd8
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, 0x4d5fd8
call fcn.00482930
mov ecx, dword [0x524e08]
push ecx
call fcn.00496b1d
add esp, 4
lea ecx, [esp + 0x120]
mov dword [esp + 0x24c], 0xffffffff
call fcn.0047e4e0
mov ecx, dword [esp + 0x244]
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x240]
xor eax, eax
call fcn.00496e0f
add esp, 0x250
ret