Function at 0x4203cf
Capabilities:
Create directory

Disassembly:
push 0xc
mov eax, 0x461d84
call fcn.00446255
mov ebx, ecx
mov dword [ebp - 0x14], ebx
xor edi, edi
mov esi, edi
mov dword [ebp - 4], edi
cmp dword [ebp + 8], edi
jne 0x4203f6
mov edi, 0x80070057
jmp 0x4205ed
push 0x2c
push edi
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
test eax, eax
je 0x4205e6
mov ecx, eax
call fcn.0042066d
mov esi, eax
test esi, esi
je 0x4205e6
push edi
push edi
mov dword [ebp - 0x18], esi
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call dword [sym.imp.WDSCORE.dll_CurrentIP]
push eax
push 0x409810
push 0x409780
push 0xd8
push edi
push 0x406890
push 0xa4000
push dword [ebp + 8]
push edi
push 0x409868
push 0x4000000
call fcn.00420037
add esp, 0x10
push eax
call dword [sym.imp.WDSCORE.dll_WdsSetupLogMessageW]
push edi
push edi
call dword [sym.imp.ole32.dll_CoInitializeEx]
mov edi, eax
test edi, edi
jns 0x420483
mov ecx, edi
call fcn.0041b100
jmp 0x4205e0
mov dword [ebx + 8], 1
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
lea ecx, [ebx + 0x10]
mov dword [ebx + 0xc], eax
call dword [0x46a510]
lea ecx, [ebx + 0x14]
call dword [0x46a510]
mov ecx, dword [ebp + 8]
call fcn.00432caf
test eax, eax
jne 0x4204d0
push eax
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x4204d0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
call fcn.0042001a
mov edi, eax
jmp 0x420477
push ebx
push 0
push esi
push 0
push 2
push dword [ebp + 8]
call dword [0x46a64c]
test eax, eax
js 0x42056b
mov ebx, dword [ebx]
mov eax, dword [ebx]
mov edi, dword [eax + 0x74]
mov ecx, edi
call dword [0x46a7c8]
mov ecx, ebx
call edi
mov edi, eax
test edi, edi
jns 0x420568
xor ebx, ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call dword [sym.imp.WDSCORE.dll_CurrentIP]
push eax
push 0x409810
push 0x409780
push 0xf3
push ebx
push 0x406890
push 0xa4000
push edi
push 0x4098d4
push 0x3000000
call fcn.00420037
add esp, 0xc
push eax
call dword [sym.imp.WDSCORE.dll_WdsSetupLogMessageW]
mov ebx, dword [ebp - 0x14]
mov ecx, dword [ebx]
test ecx, ecx
je 0x420564
mov eax, dword [ecx]
push ecx
mov edi, dword [eax + 8]
mov ecx, edi
call dword [0x46a7c8]
call edi
and dword [ebx], 0
xor edi, edi
jmp 0x42056b
mov ebx, dword [ebp - 0x14]
cmp dword [ebx], 0
jne 0x42058b
push ebx
push 0
push esi
push 0
push 1
push dword [ebp + 8]
call dword [0x46a64c]
mov edi, eax
test edi, edi
js 0x420477
mov eax, dword [ebx]
push 0
mov dword [esi + 0x28], eax
push 0
mov dword [ebx + 4], 1
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call dword [sym.imp.WDSCORE.dll_CurrentIP]
push eax
push 0x409810
push 0x409780
push 0x106
push 0
push 0x406890
push 0xa4000
push dword [ebx + 0xc]
push 0x409908
push 0x4000000
call fcn.00420037
add esp, 0xc
push eax
call dword [sym.imp.WDSCORE.dll_WdsSetupLogMessageW]
test edi, edi
jns 0x42063f
jmp 0x4205f4
mov esi, edi
mov edi, 0x8007000e
mov ecx, edi
call fcn.0041b100
xor ebx, ebx
push ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call dword [sym.imp.WDSCORE.dll_CurrentIP]
push eax
push 0x409810
push 0x409780
push 0x10f
push ebx
push 0x406890
push 0xa4000
push edi
push 0x409960
push 0x409988
push 0x3000000
call fcn.00420037
add esp, 0x10
push eax
call dword [sym.imp.WDSCORE.dll_WdsSetupLogMessageW]
mov ecx, edi
call fcn.0041b049
or dword [ebp - 4], 0xffffffff
test esi, esi
je 0x42065e
mov eax, dword [esi]
push esi
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x46a7c8]
call esi
mov eax, edi
call fcn.00446209
ret 8