Function at 0x41bb30
Capabilities:
Create directory
Set file attributes

Disassembly:
sub esp, 0xc20
mov eax, dword [0x4537c0]
xor eax, esp
mov dword [esp + 0xc1c], eax
push ebx
push esi
mov esi, dword [esp + 0xc2c]
push edi
mov edi, dword [esp + 0xc34]
xor ebx, ebx
mov dword [esp + 0x14], esi
mov dword [esp + 0x20], edi
cmp edi, ebx
je 0x41bb76
cmp word [edi], bx
je 0x41bb76
call fcn.004369f0
mov byte [esp + 0xf], 1
test al, al
jne 0x41bb7a
mov byte [esp + 0xf], bl
lea eax, [esp + 0x428]
xor ecx, ecx
sub eax, edi
push ebp
mov byte [esp + 0x11], bl
mov byte [esp + 0x12], 1
mov ebp, esi
mov dword [esp + 0x14], edi
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], ecx
cmp ebp, ebx
je 0x41bbb1
mov eax, ebp
sub eax, esi
cmp eax, 0x400
jge 0x41bbb1
cmp byte [ebp], bl
jne 0x41bbb6
mov byte [esp + 0x11], 1
mov dl, byte [esp + 0x13]
cmp dl, bl
je 0x41bbdd
cmp ecx, 0x400
jge 0x41bbe3
mov eax, dword [esp + 0x14]
movzx eax, word [eax]
cmp ax, bx
je 0x41bbe3
cmp ax, 0x5c
je 0x41bc3d
jmp 0x41bd32
cmp byte [esp + 0x11], bl
je 0x41bc33
pop ebp
cmp byte [esp + 0xc38], bl
jne 0x41bd80
push esi
call fcn.004275c0
movsx ecx, byte [eax]
push ecx
call fcn.00427350
test al, al
jne 0x41bd80
call fcn.0041dd50
test eax, eax
je 0x41bd6c
cmp edi, ebx
je 0x41bd6c
cmp word [edi], bx
je 0x41bd6c
push ebx
push edi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
jmp 0x41bd74
cmp byte [ebp], 0x5c
jne 0x41bd38
xor esi, esi
cmp dl, bl
je 0x41bc67
push ecx
push edi
lea ecx, [esp + 0x434]
push ecx
call fcn.00436a50
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
xor edx, edx
mov word [eax + ecx], dx
lea esi, [esp + 0x42c]
cmp byte [esp + 0x11], bl
je 0x41bc7f
push 0x1000000
lea edx, [esp + 0x30]
push edx
push esi
call fcn.004367a0
jmp 0x41bc9e
mov eax, dword [esp + 0x18]
mov edi, ebp
sub edi, eax
push edi
push eax
lea eax, [esp + 0x34]
push eax
call fcn.0043f3c0
mov byte [esp + edi + 0x38], bl
mov edi, dword [esp + 0x30]
add esp, 0xc
call fcn.0041dd50
test eax, eax
je 0x41bcba
cmp esi, ebx
je 0x41bcba
cmp word [esi], bx
je 0x41bcba
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
jmp 0x41bcc6
push ebx
lea ecx, [esp + 0x30]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
cmp eax, ebx
je 0x41bd24
call fcn.0041dd50
test eax, eax
je 0x41bd16
cmp esi, ebx
je 0x41bd16
cmp word [esi], bx
je 0x41bd16
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
lea eax, [esp + 0x2c]
push eax
push 0xd66
call fcn.004308b0
push eax
call fcn.00412160
add esp, 8
push 0xd14
call fcn.004308b0
push eax
push 0x44c7e0
call fcn.00412160
add esp, 8
jmp 0x41bd2e
push ebx
lea edx, [esp + 0x30]
push edx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
jmp 0x41bce4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov byte [esp + 0x12], bl
mov esi, dword [esp + 0x18]
cmp byte [esp + 0x11], bl
jne 0x41bd5d
cmp byte [0x4627b8], bl
je 0x41bd5c
push ebp
mov ecx, 0x4626b8
call fcn.004370f0
mov ecx, dword [esp + 0x1c]
inc ecx
add dword [esp + 0x14], 2
mov ebp, eax
jmp 0x41bb99
inc ebp
mov ecx, dword [esp + 0x1c]
inc ecx
add dword [esp + 0x14], 2
jmp 0x41bb99
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
cmp eax, ebx
je 0x41bd9e
push ebx
push edi
push esi
call fcn.0041b3f0
mov al, byte [esp + 0xe]
mov ecx, dword [esp + 0xc28]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.0043e556
add esp, 0xc20
ret 0xc
call dword [sym.imp.KERNEL32.dll_GetLastError]
xor al, al
jmp 0x41bd84