Function at 0x403410
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x23c
mov eax, dword [0x41c050]
xor eax, esp
mov dword [esp + 0x238], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
xor edi, edi
mov esi, ecx
cmp eax, edi
je 0x403690
cmp esi, edi
je 0x403690
push eax
call fcn.00408ed0
mov ebx, eax
add esp, 4
cmp ebx, edi
je 0x403677
push edi
push esi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
cmp dword [ebx], 1
je 0x403470
mov dword [0x41daf0], 0x80000
jmp 0x403481
mov ecx, dword [ebx + 4]
mov eax, esi
mov esi, ecx
call fcn.00408430
mov dword [0x41daf0], eax
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x10], eax
mov word [esp + 0x14], cx
mov dword [esp + 0x23c], edi
cmp dword [ebx], 1
je 0x4034a6
mov dword [0x41daf0], 0x80000
jmp 0x403523
mov esi, dword [ebx + 4]
mov ecx, dword [esi]
or edx, 0xffffffff
cmp dword [ecx + 4], edx
jg 0x4034ba
mov ecx, 0x10000
jmp 0x40351d
cmp dword [esi + 4], edx
je 0x4034cb
mov edi, ecx
call fcn.00408280
or edx, 0xffffffff
xor edi, edi
mov dword [esi + 4], edx
mov edx, dword [esi]
mov eax, dword [edx + 4]
xor ecx, ecx
mov dword [esp + 0x10], eax
mov word [esp + 0x14], cx
mov dword [esp + 0x21c], edi
mov dword [esp + 0x220], edi
mov dword [esp + 0x224], edi
mov dword [esp + 0x228], edi
mov dword [esp + 0x22c], edi
mov dword [esp + 0x230], edi
mov dword [esp + 0x234], edi
mov dword [esp + 0x238], edi
mov dword [esp + 0x23c], edi
mov dword [0x41daf0], ecx
xor esi, esi
cmp eax, edi
mov dword [esp + 0xc], eax
jle 0x403591
lea ecx, [ecx]
xor edx, edx
mov dword [esp + 0x10], edi
mov word [esp + 0x14], dx
mov dword [esp + 0x23c], edi
cmp dword [ebx], 1
je 0x403553
mov dword [0x41daf0], 0x80000
jmp 0x403566
mov ecx, dword [ebx + 4]
lea eax, [esp + 0x10]
push eax
push esi
call fcn.004084a0
mov dword [0x41daf0], eax
cmp dword [ebx], 1
je 0x403577
mov dword [0x41daf0], 0x80000
jmp 0x40358a
mov ecx, dword [ebx + 4]
lea edx, [esp + 0x14]
push edx
push esi
call fcn.00408ba0
mov dword [0x41daf0], eax
inc esi
cmp esi, dword [esp + 0xc]
jl 0x403530
cmp dword [ebx], 1
je 0x4035be
mov edi, 1
mov dword [0x41daf0], 0x80000
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x238]
xor ecx, esp
call fcn.0040913f
mov esp, ebp
pop ebp
ret 4
mov esi, dword [ebx + 4]
cmp dword [esi + 4], 0xffffffff
je 0x4035ce
mov edi, dword [esi]
call fcn.00408280
mov edi, dword [esi]
mov dword [esi + 4], 0xffffffff
test edi, edi
je 0x403616
cmp dword [edi + 0x7c], 0
je 0x4035e6
call fcn.00408280
mov eax, dword [edi]
mov dword [esp + 0xc], eax
test eax, eax
je 0x40360d
cmp byte [eax + 0x10], 0
je 0x403604
mov eax, dword [eax + 4]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0xc]
push eax
call fcn.00409270
add esp, 4
push edi
call fcn.00409431
add esp, 4
mov dword [esi], 0
mov eax, dword [esi + 0x23c]
mov dword [0x41daf0], 0
test eax, eax
je 0x403639
push eax
call fcn.0040927b
add esp, 4
mov eax, dword [esi + 0x240]
mov dword [esi + 0x23c], 0
test eax, eax
je 0x403656
push eax
call fcn.0040927b
add esp, 4
push esi
mov dword [esi + 0x240], 0
call fcn.00409270
add esp, 4
push ebx
call fcn.00409270
add esp, 4
mov edi, 1
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x238]
xor ecx, esp
call fcn.0040913f
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [esp + 0x244]
pop edi
pop esi
pop ebx
xor ecx, esp
xor eax, eax
call fcn.0040913f
mov esp, ebp
pop ebp
ret 4