Function at 0x41b480
Capabilities:
Create directory

Disassembly:
sub esp, 0x124
push ebx
push ebp
push esi
push edi
lea eax, [esp + 0x34]
push 0x100
mov ebx, ecx
push eax
push 0
mov dword [esp + 0x30], ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
lea edi, [esp + 0x34]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov al, 0x5c
cmp byte [esp + ecx + 0x34], al
je 0x41b4c1
mov dl, byte [esp + ecx + 0x33]
dec ecx
cmp dl, al
jne 0x41b4b8
mov al, byte [0x52aaf5]
mov byte [esp + ecx + 0x35], 0
test al, al
je 0x41b4e2
xor eax, eax
mov cl, byte [eax + 0x52a7e4]
mov byte [esp + eax + 0x34], cl
inc eax
test cl, cl
jne 0x41b4d1
jmp 0x41b516
lea edi, [esp + 0x34]
or ecx, 0xffffffff
xor eax, eax
mov dx, word [0x4a0a38]
repne scasb al, byte es:[edi]
mov ecx, dword [0x4a0a34]
mov al, byte [0x4a0a3a]
dec edi
push 0
mov dword [edi], ecx
lea ecx, [esp + 0x38]
push ecx
mov word [edi + 4], dx
mov byte [edi + 6], al
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov edx, dword [ebx + 0xe4]
or ecx, 0xffffffff
xor eax, eax
lea ebp, [esp + 0x34]
mov edi, dword [edx + 0x3c]
push 0x4a0824
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edx, ecx
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [esp + 0x38]
and ecx, 3
push edx
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x3c]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov eax, dword [str..gen]
mov cl, byte [0x4a0a30]
dec edi
mov byte [ebx + 0x21370], 0
mov dword [edi], eax
mov byte [edi + 4], cl
call fcn.0048b5ca
mov esi, eax
add esp, 8
test esi, esi
mov dword [esp + 0x20], esi
je 0x41b835
push esi
call fcn.0048c07d
add esp, 4
cmp eax, 0xffffffff
je 0x41b82c
xor ecx, ecx
xor bl, bl
mov dword [esp + 0x10], ecx
cmp eax, 0xd
mov dword [esp + 0x14], ecx
mov byte [esp + 0x1c], bl
mov byte [esp + 0x18], cl
mov byte [esp + 0x10], al
je 0x41b601
cmp eax, 0xa
je 0x41b601
cmp eax, 0xffffffff
je 0x41b601
push esi
call fcn.0048c07d
add esp, 4
cmp eax, 0xd
je 0x41b601
cmp eax, 0xa
je 0x41b601
cmp eax, 0xffffffff
je 0x41b601
inc bl
cmp bl, 8
mov byte [esp + 0x1c], bl
jae 0x41b5f3
mov edx, dword [esp + 0x1c]
and edx, 0xff
mov byte [esp + edx + 0x10], al
push esi
call fcn.0048c07d
add esp, 4
cmp eax, 0xd
jne 0x41b5d0
xor dl, dl
mov byte [esp + 0x28], dl
mov eax, dword [esp + 0x28]
xor ecx, ecx
and eax, 0xff
mov cl, byte [esp + eax + 0x10]
lea eax, [esp + eax + 0x10]
add ecx, 0xffffffbf
cmp ecx, 0x19
ja case.0x41b62a.81
xor ebx, ebx
mov bl, byte [ecx + 0x41b884]
jmp dword [ebx*4 + 0x41b840]
mov byte [eax], 0
jmp 0x41b687
mov byte [eax], 1
jmp 0x41b687
mov byte [eax], 2
jmp 0x41b687
mov byte [eax], 3
jmp 0x41b687
mov byte [eax], 4
jmp 0x41b687
mov byte [eax], 5
jmp 0x41b687
mov byte [eax], 6
jmp 0x41b687
mov byte [eax], 7
jmp 0x41b687
mov byte [eax], 8
jmp 0x41b687
mov byte [eax], 9
jmp 0x41b687
mov byte [eax], 0xa
jmp 0x41b687
mov byte [eax], 0xb
jmp 0x41b687
mov byte [eax], 0xc
jmp 0x41b687
mov byte [eax], 0xd
jmp 0x41b687
mov byte [eax], 0xe
jmp 0x41b687
mov byte [eax], 0xf
jmp 0x41b687
mov byte [esp + 0x1c], dl
mov dl, 9
inc dl
cmp dl, 9
mov byte [esp + 0x28], dl
jb 0x41b607
mov al, byte [esp + 0x1c]
cmp al, 6
jne 0x41b728
mov eax, dword [esp + 0x13]
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x15]
and eax, 0xff
and esi, 0xff
mov edx, eax
and edx, 7
mov ebx, esi
shl edx, 4
and ebx, 8
and ecx, 0xff
mov edi, dword [esp + 0x11]
or edx, ebx
mov ebx, ecx
and edi, 0xff
and ebx, 7
mov ebp, dword [esp + 0x10]
or edx, ebx
mov bl, byte [esp + 0x12]
shl edx, 4
and ebx, 7
and esi, 7
or edx, ebx
mov ebx, edi
and ebx, 8
and eax, 8
or edx, ebx
and ebp, 0xff
shl edx, 4
or edx, esi
and edi, 7
or edx, eax
mov eax, ebp
shl edx, 0xc
and eax, 8
and ebp, 7
or edx, eax
or edx, edi
shl edx, 4
or edx, ebp
and ecx, 8
jmp 0x41b7f3
cmp al, 8
jne 0x41b81a
mov edx, dword [esp + 0x17]
mov eax, dword [esp + 0x13]
mov esi, dword [esp + 0x14]
and edx, 0xff
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x15]
and edx, 0xff
and eax, 0xff
mov dword [esp + 0x2c], edx
and esi, 0xff
mov edx, eax
or edx, 0xfffffff8
mov ebx, esi
shl edx, 4
and ebx, 8
and ecx, 0xff
mov edi, dword [esp + 0x11]
or edx, ebx
mov ebx, ecx
and edi, 0xff
and ebx, 7
mov ebp, dword [esp + 0x16]
or edx, ebx
mov bl, byte [esp + 0x12]
shl edx, 4
and ebx, 7
and esi, 7
or edx, ebx
mov ebx, edi
and ebx, 8
and eax, 8
or edx, ebx
and ebp, 0xff
shl edx, 4
or edx, esi
and ecx, 8
or edx, eax
mov eax, dword [esp + 0x30]
mov esi, eax
and edi, 7
shl edx, 4
and esi, 7
and eax, 8
or edx, esi
mov esi, ebp
and esi, 8
and ebp, 7
or edx, esi
shl edx, 4
or edx, ebp
or edx, ecx
mov ecx, dword [esp + 0x2c]
mov esi, ecx
shl edx, 4
and esi, 8
or edx, esi
or edx, edi
shl edx, 4
or edx, eax
and ecx, 7
mov eax, dword [esp + 0x24]
or edx, ecx
xor ecx, ecx
mov esi, dword [esp + 0x20]
mov cl, byte [eax + 0x21370]
mov dword [eax + ecx*4 + 0x21374], edx
mov cl, byte [eax + 0x21370]
inc cl
mov byte [eax + 0x21370], cl
push esi
call fcn.0048c07d
add esp, 4
cmp eax, 0xffffffff
jne 0x41b59b
push esi
call fcn.0048b90e
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x124
ret