Function at 0x402d20
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x23c
mov eax, dword [0x419050]
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 0x402fa0
cmp esi, edi
je 0x402fa0
push eax
call fcn.00408760
mov ebx, eax
add esp, 4
cmp ebx, edi
je 0x402f87
push edi
push esi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
cmp dword [ebx], 1
je 0x402d80
mov dword [0x41aad8], 0x80000
jmp 0x402d91
mov ecx, dword [ebx + 4]
mov eax, esi
mov esi, ecx
call fcn.00407cc0
mov dword [0x41aad8], 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 0x402db6
mov dword [0x41aad8], 0x80000
jmp 0x402e33
mov esi, dword [ebx + 4]
mov ecx, dword [esi]
or edx, 0xffffffff
cmp dword [ecx + 4], edx
jg 0x402dca
mov ecx, 0x10000
jmp 0x402e2d
cmp dword [esi + 4], edx
je 0x402ddb
mov edi, ecx
call fcn.00407b10
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 [0x41aad8], ecx
xor esi, esi
cmp eax, edi
mov dword [esp + 0xc], eax
jle 0x402ea1
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 0x402e63
mov dword [0x41aad8], 0x80000
jmp 0x402e76
mov ecx, dword [ebx + 4]
lea eax, [esp + 0x10]
push eax
push esi
call fcn.00407d30
mov dword [0x41aad8], eax
cmp dword [ebx], 1
je 0x402e87
mov dword [0x41aad8], 0x80000
jmp 0x402e9a
mov ecx, dword [ebx + 4]
lea edx, [esp + 0x14]
push edx
push esi
call fcn.00408430
mov dword [0x41aad8], eax
inc esi
cmp esi, dword [esp + 0xc]
jl 0x402e40
cmp dword [ebx], 1
je 0x402ece
mov edi, 1
mov dword [0x41aad8], 0x80000
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x238]
xor ecx, esp
call fcn.004089cf
mov esp, ebp
pop ebp
ret 4
mov esi, dword [ebx + 4]
cmp dword [esi + 4], 0xffffffff
je 0x402ede
mov edi, dword [esi]
call fcn.00407b10
mov edi, dword [esi]
mov dword [esi + 4], 0xffffffff
test edi, edi
je 0x402f26
cmp dword [edi + 0x7c], 0
je 0x402ef6
call fcn.00407b10
mov eax, dword [edi]
mov dword [esp + 0xc], eax
test eax, eax
je 0x402f1d
cmp byte [eax + 0x10], 0
je 0x402f14
mov eax, dword [eax + 4]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0xc]
push eax
call fcn.00408b00
add esp, 4
push edi
call fcn.004097da
add esp, 4
mov dword [esi], 0
mov eax, dword [esi + 0x23c]
mov dword [0x41aad8], 0
test eax, eax
je 0x402f49
push eax
call fcn.00408b0b
add esp, 4
mov eax, dword [esi + 0x240]
mov dword [esi + 0x23c], 0
test eax, eax
je 0x402f66
push eax
call fcn.00408b0b
add esp, 4
push esi
mov dword [esi + 0x240], 0
call fcn.00408b00
add esp, 4
push ebx
call fcn.00408b00
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.004089cf
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.004089cf
mov esp, ebp
pop ebp
ret 4