Function at 0x401cd0
Capabilities:
Create directory

Disassembly:
sub esp, 0x218
lea eax, [esp]
push ebx
push ebp
xor ebp, ebp
push esi
test eax, eax
push edi
jne 0x4020b5
mov esi, 1
mov dword [esp + 0x18], ebp
lea edi, [esp + 0x18]
cmp eax, ebp
je 0x401d0e
lea ecx, [esp + 0x10]
dec ecx
mov dl, byte [ecx + esi]
mov bl, byte [ecx + eax]
cmp dl, bl
je 0x401d0e
mov eax, dword [esp + eax*4 + 0x14]
jmp 0x401d2c
inc esi
add edi, 4
lea ecx, [esp + 0x10]
inc eax
dec ecx
mov dl, byte [ecx + esi]
mov bl, byte [ecx + eax]
cmp dl, bl
je 0x401d26
mov dword [edi], eax
jmp 0x401d2c
mov ecx, dword [esp + eax*4 + 0x14]
mov dword [edi], ecx
cmp esi, 0xa
jl 0x401cf5
mov esi, 1
xor eax, eax
mov dword [esp + 0x18], ebp
lea edi, [esp + 0x18]
cmp eax, ebp
je 0x401d59
lea ecx, [esp + 0x10]
dec ecx
mov dl, byte [ecx + esi]
mov bl, byte [ecx + eax]
cmp dl, bl
je 0x401d59
mov eax, dword [esp + eax*4 + 0x14]
jmp 0x401d77
inc esi
add edi, 4
lea ecx, [esp + 0x10]
inc eax
dec ecx
mov dl, byte [ecx + esi]
mov bl, byte [ecx + eax]
cmp dl, bl
je 0x401d71
mov dword [edi], eax
jmp 0x401d77
mov ecx, dword [esp + eax*4 + 0x14]
mov dword [edi], ecx
cmp esi, 0xa
jl 0x401d40
mov esi, 1
xor eax, eax
mov dword [esp + 0x18], ebp
lea edi, [esp + 0x18]
cmp eax, ebp
je 0x401da4
lea ecx, [esp + 0x10]
dec ecx
mov dl, byte [ecx + esi]
mov bl, byte [ecx + eax]
cmp dl, bl
je 0x401da4
mov eax, dword [esp + eax*4 + 0x14]
jmp 0x401dc2
inc esi
add edi, 4
lea ecx, [esp + 0x10]
inc eax
dec ecx
mov dl, byte [ecx + esi]
mov bl, byte [ecx + eax]
cmp dl, bl
je 0x401dbc
mov dword [edi], eax
jmp 0x401dc2
mov ecx, dword [esp + eax*4 + 0x14]
mov dword [edi], ecx
cmp esi, 0xa
jl 0x401d8b
mov esi, 1
xor eax, eax
mov dword [esp + 0x18], ebp
lea edi, [esp + 0x18]
cmp eax, ebp
je 0x401def
lea ecx, [esp + 0x10]
dec ecx
mov dl, byte [ecx + esi]
mov bl, byte [ecx + eax]
cmp dl, bl
je 0x401def
mov eax, dword [esp + eax*4 + 0x14]
jmp 0x401e0d
inc esi
add edi, 4
lea ecx, [esp + 0x10]
inc eax
dec ecx
mov dl, byte [ecx + esi]
mov bl, byte [ecx + eax]
cmp dl, bl
je 0x401e07
mov dword [edi], eax
jmp 0x401e0d
mov ecx, dword [esp + eax*4 + 0x14]
mov dword [edi], ecx
cmp esi, 0xa
jl 0x401dd6
mov esi, 1
xor eax, eax
mov dword [esp + 0x18], ebp
lea edi, [esp + 0x18]
cmp eax, ebp
je 0x401e3a
lea ecx, [esp + 0x10]
dec ecx
mov dl, byte [ecx + esi]
mov bl, byte [ecx + eax]
cmp dl, bl
je 0x401e3a
mov eax, dword [esp + eax*4 + 0x14]
jmp 0x401e58
inc esi
add edi, 4
lea ecx, [esp + 0x10]
inc eax
dec ecx
mov dl, byte [ecx + esi]
mov bl, byte [ecx + eax]
cmp dl, bl
je 0x401e52
mov dword [edi], eax
jmp 0x401e58
mov ecx, dword [esp + eax*4 + 0x14]
mov dword [edi], ecx
cmp esi, 0xa
jl 0x401e21
mov esi, 1
xor eax, eax
mov dword [esp + 0x18], ebp
lea edi, [esp + 0x18]
cmp eax, ebp
je 0x401e85
lea ecx, [esp + 0x10]
dec ecx
mov dl, byte [esi + ecx]
mov bl, byte [eax + ecx]
cmp dl, bl
je 0x401e85
mov eax, dword [esp + eax*4 + 0x14]
jmp 0x401ea3
inc esi
add edi, 4
lea ecx, [esp + 0x10]
inc eax
dec ecx
mov dl, byte [esi + ecx]
mov bl, byte [eax + ecx]
cmp dl, bl
je 0x401e9d
mov dword [edi], eax
jmp 0x401ea3
mov ecx, dword [esp + eax*4 + 0x14]
mov dword [edi], ecx
cmp esi, 0xa
jl 0x401e6c
mov esi, 1
xor eax, eax
mov dword [esp + 0x18], ebp
lea edi, [esp + 0x18]
cmp eax, ebp
je 0x401ed0
lea ecx, [esp + 0x10]
dec ecx
mov dl, byte [esi + ecx]
mov bl, byte [eax + ecx]
cmp dl, bl
je 0x401ed0
mov eax, dword [esp + eax*4 + 0x14]
jmp 0x401eee
inc esi
add edi, 4
lea ecx, [esp + 0x10]
inc eax
dec ecx
mov dl, byte [esi + ecx]
mov bl, byte [eax + ecx]
cmp dl, bl
je 0x401ee8
mov dword [edi], eax
jmp 0x401eee
mov ecx, dword [esp + eax*4 + 0x14]
mov dword [edi], ecx
cmp esi, 0xa
jl 0x401eb7
mov esi, 1
xor eax, eax
mov dword [esp + 0x18], ebp
lea edi, [esp + 0x18]
cmp eax, ebp
je 0x401f1b
lea ecx, [esp + 0x10]
dec ecx
mov dl, byte [esi + ecx]
mov bl, byte [eax + ecx]
cmp dl, bl
je 0x401f1b
mov eax, dword [esp + eax*4 + 0x14]
jmp 0x401f39
inc esi
add edi, 4
lea ecx, [esp + 0x10]
inc eax
dec ecx
mov dl, byte [esi + ecx]
mov bl, byte [eax + ecx]
cmp dl, bl
je 0x401f33
mov dword [edi], eax
jmp 0x401f39
mov ecx, dword [esp + eax*4 + 0x14]
mov dword [edi], ecx
cmp esi, 0xa
jl 0x401f02
mov esi, 1
xor eax, eax
mov dword [esp + 0x18], ebp
lea edi, [esp + 0x18]
cmp eax, ebp
je 0x401f66
lea ecx, [esp + 0x10]
dec ecx
mov dl, byte [esi + ecx]
mov bl, byte [eax + ecx]
cmp dl, bl
je 0x401f66
mov eax, dword [esp + eax*4 + 0x14]
jmp 0x401f84
inc esi
add edi, 4
lea ecx, [esp + 0x10]
inc eax
dec ecx
mov dl, byte [esi + ecx]
mov bl, byte [eax + ecx]
cmp dl, bl
je 0x401f7e
mov dword [edi], eax
jmp 0x401f84
mov ecx, dword [esp + eax*4 + 0x14]
mov dword [edi], ecx
cmp esi, 0xa
jl 0x401f4d
mov esi, 1
xor eax, eax
mov dword [esp + 0x18], ebp
lea edi, [esp + 0x18]
cmp eax, ebp
je 0x401fb1
lea ecx, [esp + 0x10]
dec ecx
mov dl, byte [esi + ecx]
mov bl, byte [eax + ecx]
cmp dl, bl
je 0x401fb1
mov eax, dword [esp + eax*4 + 0x14]
jmp 0x401fcf
inc esi
add edi, 4
lea ecx, [esp + 0x10]
inc eax
dec ecx
mov dl, byte [esi + ecx]
mov bl, byte [eax + ecx]
cmp dl, bl
je 0x401fc9
mov dword [edi], eax
jmp 0x401fcf
mov ecx, dword [esp + eax*4 + 0x14]
mov dword [edi], ecx
cmp esi, 0xa
jl 0x401f98
mov esi, 1
xor eax, eax
mov dword [esp + 0x18], ebp
lea edi, [esp + 0x18]
cmp eax, ebp
je 0x401ffc
lea ecx, [esp + 0x10]
dec ecx
mov dl, byte [esi + ecx]
mov bl, byte [eax + ecx]
cmp dl, bl
je 0x401ffc
mov eax, dword [esp + eax*4 + 0x14]
jmp 0x40201a
inc esi
add edi, 4
lea ecx, [esp + 0x10]
inc eax
dec ecx
mov dl, byte [esi + ecx]
mov bl, byte [eax + ecx]
cmp dl, bl
je 0x402014
mov dword [edi], eax
jmp 0x40201a
mov ecx, dword [esp + eax*4 + 0x14]
mov dword [edi], ecx
cmp esi, 0xa
jl 0x401fe3
mov esi, 1
xor eax, eax
mov dword [esp + 0x18], ebp
lea edi, [esp + 0x18]
cmp eax, ebp
je 0x402047
lea ecx, [esp + 0x10]
dec ecx
mov dl, byte [esi + ecx]
mov bl, byte [eax + ecx]
cmp dl, bl
je 0x402047
mov eax, dword [esp + eax*4 + 0x14]
jmp 0x402065
inc esi
add edi, 4
lea ecx, [esp + 0x10]
inc eax
dec ecx
mov dl, byte [esi + ecx]
mov bl, byte [eax + ecx]
cmp dl, bl
je 0x40205f
mov dword [edi], eax
jmp 0x402065
mov ecx, dword [esp + eax*4 + 0x14]
mov dword [edi], ecx
cmp esi, 0xa
jl 0x40202e
mov esi, 1
xor eax, eax
mov dword [esp + 0x18], ebp
lea edi, [esp + 0x18]
cmp eax, ebp
je 0x402092
lea ecx, [esp + 0x10]
dec ecx
mov dl, byte [esi + ecx]
mov bl, byte [eax + ecx]
cmp dl, bl
je 0x402092
mov eax, dword [esp + eax*4 + 0x14]
jmp 0x4020b0
inc esi
add edi, 4
lea ecx, [esp + 0x10]
inc eax
dec ecx
mov dl, byte [esi + ecx]
mov bl, byte [eax + ecx]
cmp dl, bl
je 0x4020aa
mov dword [edi], eax
jmp 0x4020b0
mov ecx, dword [esp + eax*4 + 0x14]
mov dword [edi], ecx
cmp esi, 0xa
jl 0x402079
mov edx, dword [esp + 0x22c]
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x20]
rep stosd dword es:[edi], eax
push edx
lea eax, [esp + 0x24]
push 0x410020
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
mov ebp, dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
add esp, 0xc
lea ecx, [esp + 0x20]
push 0x5c
push ecx
call dword [sym.imp.MSVCRT.dll_strchr]
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x40213e
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x124]
mov esi, dword [esp + 0x22c]
rep stosd dword es:[edi], eax
mov ecx, ebx
lea edx, [esp + 0x20]
sub ecx, edx
lea edi, [esp + 0x124]
mov eax, ecx
push 0
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x128]
push ecx
call ebp
mov byte [ebx], 0x7c
jmp 0x4020e3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x218
ret