Function at 0x420990
Capabilities:
Check if file exists
Create directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x224
mov eax, dword [0x4926cc]
xor eax, ebp
mov dword [ebp - 4], eax
push edi
mov edi, ecx
cmp dword [edi + 4], 0
setle al
test al, al
je 0x4209c2
xor al, al
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00452ca6
mov esp, ebp
pop ebp
ret
xor eax, eax
push 0x1fe
push eax
mov word [ebp - 0x204], ax
lea eax, [ebp - 0x202]
push eax
call fcn.0045a8b0
mov edi, dword [edi]
add esp, 0xc
mov dword [ebp - 0x21c], edi
test edi, edi
je 0x4209f2
cmp word [edi], 0
jne 0x4209fd
mov edi, 0x481274
mov dword [ebp - 0x21c], edi
movzx eax, word [edi]
push ebx
mov ebx, 1
push esi
mov dword [ebp - 0x220], ebx
test ax, ax
je 0x420b45
lea ecx, [ebp - 0x204]
mov ebx, 0x5c
sub ecx, edi
mov dword [ebp - 0x224], ecx
lea esi, [ebx - 0x2d]
lea edx, [ebx - 0x22]
nop
cmp bx, ax
je 0x420a3e
cmp si, ax
jne 0x420b22
cmp dx, word [edi - 2]
je 0x420b22
xor ebx, ebx
cmp word [ebp - 0x204], bx
je 0x420acf
lea esi, [ebp - 0x204]
lea ecx, [esi + 2]
lea esp, [esp]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x420a60
sub esi, ecx
sar esi, 1
jns 0x420a75
xor eax, eax
jmp 0x420aac
mov edi, 2
cmp esi, edi
jle 0x420a86
mov edi, edi
add edi, edi
cmp edi, esi
jl 0x420a80
lea eax, [edi*2 + 2]
push eax
push 0
call fcn.00455561
add esp, 8
test eax, eax
je 0x420aa3
xor ecx, ecx
mov ebx, eax
mov word [eax], cx
lea eax, [edi + 1]
mov edi, dword [ebp - 0x21c]
push esi
lea ecx, [ebp - 0x204]
push ecx
push eax
push ebx
call fcn.00454b08
xor eax, eax
add esp, 0x10
mov word [ebx + esi*2], ax
test ebx, ebx
je 0x420acf
cmp word [ebx], ax
mov eax, ebx
jne 0x420ad4
mov eax, 0x481274
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, 1
sete al
test al, al
jne 0x420b04
push 0
lea eax, [ebp - 0x204]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov ecx, eax
mov dword [ebp - 0x220], ecx
test ecx, ecx
je 0x420bcc
test ebx, ebx
je 0x420b11
push ebx
call fcn.004547da
add esp, 4
mov ecx, dword [ebp - 0x224]
mov esi, 0x2f
lea ebx, [esi + 0x2d]
lea edx, [esi + 0xb]
mov ax, word [edi]
mov word [ecx + edi], ax
movzx eax, word [edi + 2]
add edi, 2
mov dword [ebp - 0x21c], edi
test ax, ax
jne 0x420a30
mov ebx, dword [ebp - 0x220]
xor edi, edi
xor esi, esi
mov dword [ebp - 0x218], edi
mov dword [ebp - 0x214], edi
mov dword [ebp - 0x210], edi
mov dword [ebp - 0x20c], esi
mov dword [ebp - 0x208], esi
cmp word [ebp - 0x204], si
je 0x420bf2
lea esi, [ebp - 0x204]
lea ecx, [esi + 2]
lea ecx, [ecx]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x420b80
sub esi, ecx
sar esi, 1
push esi
lea ecx, [ebp - 0x218]
call fcn.004045c0
mov edi, dword [ebp - 0x218]
push esi
lea ecx, [ebp - 0x204]
push ecx
push eax
push edi
call fcn.00454b08
xor eax, eax
add esp, 0x10
mov word [edi + esi*2], ax
test edi, edi
je 0x420bec
cmp word [edi], ax
je 0x420bec
mov esi, dword [ebp - 0x20c]
mov eax, edi
jmp 0x420bf7
test ebx, ebx
je 0x420bd9
push ebx
call fcn.004547da
add esp, 4
pop esi
pop ebx
xor al, al
pop edi
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.00452ca6
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp - 0x20c]
mov eax, 0x481274
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, 1
sete al
test al, al
jne 0x420c19
push 0
lea eax, [ebp - 0x204]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov ebx, eax
test ebx, ebx
setne bl
test edi, edi
je 0x420c2b
push edi
call fcn.004547da
add esp, 4
test esi, esi
je 0x420c38
push esi
call fcn.004547da
add esp, 4
mov ecx, dword [ebp - 4]
pop esi
mov al, bl
pop ebx
xor ecx, ebp
pop edi
call fcn.00452ca6
mov esp, ebp
pop ebp
ret