Function at 0x41ec40
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x644
mov eax, dword [0x4f1040]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [ebp + 8], 0
je 0x41ed11
push 0x104
mov eax, dword [ebp + 8]
push eax
lea ecx, [ebp - 0x414]
push ecx
call fcn.004ad08d
add esp, 0xc
lea edx, [ebp - 0x414]
push edx
call fcn.004b1676
add esp, 4
mov dword [ebp - 0x628], eax
cmp dword [ebp - 0x628], 0
jbe 0x41ecec
mov eax, dword [ebp - 0x628]
movzx ecx, word [ebp + eax*2 - 0x416]
cmp ecx, 0x2f
je 0x41ecb9
mov edx, dword [ebp - 0x628]
movzx eax, word [ebp + edx*2 - 0x416]
cmp eax, 0x5c
jne 0x41ecec
mov ecx, dword [ebp - 0x628]
lea edx, [ecx + ecx - 2]
mov dword [ebp - 0x62c], edx
cmp dword [ebp - 0x62c], 0x208
jae 0x41ecd7
jmp 0x41ecdc
call fcn.0040b8a0
xor eax, eax
mov ecx, dword [ebp - 0x62c]
mov word [ebp + ecx - 0x414], ax
lea edx, [ebp - 0x414]
push edx
call fcn.0041ef30
add esp, 4
movzx eax, al
test eax, eax
jne 0x41ed11
push 0
lea ecx, [ebp - 0x414]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov edx, dword [ebp + 0xc]
movzx eax, word [edx]
test eax, eax
jne 0x41ed20
jmp 0x41ef22
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x624], ecx
mov edx, dword [ebp - 0x624]
mov dword [ebp - 0x620], edx
mov eax, dword [ebp - 0x620]
movzx ecx, word [eax]
test ecx, ecx
je 0x41ed7b
mov edx, dword [ebp - 0x620]
movzx eax, word [edx]
cmp eax, 0x2f
je 0x41ed5e
mov ecx, dword [ebp - 0x620]
movzx edx, word [ecx]
cmp edx, 0x5c
jne 0x41ed6a
mov eax, dword [ebp - 0x620]
mov dword [ebp - 0x624], eax
mov ecx, dword [ebp - 0x620]
add ecx, 2
mov dword [ebp - 0x620], ecx
jmp 0x41ed35
mov edx, dword [ebp - 0x624]
mov dword [ebp - 0x634], edx
mov eax, dword [ebp - 0x624]
cmp eax, dword [ebp + 0xc]
je 0x41ee0b
mov ecx, dword [ebp - 0x624]
sub ecx, dword [ebp + 0xc]
sar ecx, 1
shl ecx, 1
push ecx
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x61c]
push eax
call fcn.004a02a0
add esp, 0xc
mov ecx, dword [ebp - 0x624]
sub ecx, dword [ebp + 0xc]
sar ecx, 1
shl ecx, 1
mov dword [ebp - 0x630], ecx
cmp dword [ebp - 0x630], 0x208
jae 0x41edd4
jmp 0x41edd9
call fcn.0040b8a0
xor edx, edx
mov eax, dword [ebp - 0x630]
mov word [ebp + eax - 0x61c], dx
lea ecx, [ebp - 0x61c]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.0041ec40
add esp, 8
mov eax, dword [ebp - 0x634]
add eax, 2
mov dword [ebp - 0x634], eax
mov ecx, 2
imul edx, ecx, 0
mov dword [ebp - 0x638], edx
cmp dword [ebp - 0x638], 0x208
jae 0x41ee27
jmp 0x41ee2c
call fcn.0040b8a0
xor eax, eax
mov ecx, dword [ebp - 0x638]
mov word [ebp + ecx - 0x20c], ax
cmp dword [ebp + 8], 0
je 0x41ee5a
push 0x104
mov edx, dword [ebp + 8]
push edx
lea eax, [ebp - 0x20c]
push eax
call fcn.004ad08d
add esp, 0xc
mov ecx, 2
imul edx, ecx, 0x103
mov dword [ebp - 0x63c], edx
cmp dword [ebp - 0x63c], 0x208
jae 0x41ee79
jmp 0x41ee7e
call fcn.0040b8a0
xor eax, eax
mov ecx, dword [ebp - 0x63c]
mov word [ebp + ecx - 0x20c], ax
lea edx, [ebp - 0x20c]
push edx
call fcn.004b1676
add esp, 4
mov dword [ebp - 0x640], eax
mov eax, 0x104
sub eax, dword [ebp - 0x640]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp - 0x640]
lea eax, [ebp + edx*2 - 0x20c]
push eax
call fcn.004ad08d
add esp, 0xc
mov ecx, 2
imul edx, ecx, 0x103
mov dword [ebp - 0x644], edx
cmp dword [ebp - 0x644], 0x208
jae 0x41eee8
jmp 0x41eeed
call fcn.0040b8a0
xor eax, eax
mov ecx, dword [ebp - 0x644]
mov word [ebp + ecx - 0x20c], ax
lea edx, [ebp - 0x20c]
push edx
call fcn.0041ef30
add esp, 4
movzx eax, al
test eax, eax
jne 0x41ef22
push 0
lea ecx, [ebp - 0x20c]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0040b76b
mov esp, ebp
pop ebp
ret