Function at 0x5204b0
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x90
mov eax, dword [0x5c4738]
xor eax, ebp
mov dword [esp + 0x88], eax
xor edi, edi
dec edi
lea esi, [esp + 0x50]
mov dword [esi + 0x34], edi
mov dword [esi + 0x30], edi
pcmpeqd xmm0, xmm0
movdqa xmmword [esi + 0x20], xmm0
movdqa xmmword [esi + 0x10], xmm0
movdqa xmmword [esi], xmm0
lea ebx, [esp + 0x40]
push 0x278
push str..._.._base_files_file_util_win.cc
push str.CreateTemporaryDirInDir
push ebx
call fcn.004c10c0
add esp, 0x10
mov ecx, esi
push 0
push ebx
call fcn.004c7be0
mov dword [ebx], edi
mov dword [ebx + 4], edi
mov dword [ebx + 8], edi
lea ecx, [esp + 0x40]
call fcn.0041a390
mov byte [esp + 0xf], 1
lea ebx, [esp + 0x30]
xor ecx, ecx
mov dword [esp + 0x10], ecx
xor eax, eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], eax
mov ecx, ebx
push dword [ebp + 0xc]
call fcn.004c5e90
call fcn.00409900
push eax
lea esi, [esp + 0x18]
push esi
call fcn.0051e0f0
add esp, 8
movzx ebx, byte [esp + 0x1f]
mov ecx, esi
test bl, bl
jns 0x520570
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], eax
xor edi, edi
mov dword [esp + 0x28], eax
cmp ebx, 0x7ffffff0
jae 0x5207e3
cmp ebx, 5
jae 0x52059f
mov byte [esp + 0x2b], bl
lea esi, [esp + 0x20]
test ebx, ebx
jne 0x5205cb
jmp 0x5205d9
lea edi, [ebx + 8]
and edi, 0xfffffff8
lea eax, [edi + edi]
push eax
mov esi, ecx
call fcn.004cf0a6
mov ecx, esi
add esp, 4
mov esi, eax
mov dword [esp + 0x20], eax
or edi, 0x80000000
mov dword [esp + 0x28], edi
xor edi, edi
mov dword [esp + 0x24], ebx
lea eax, [ebx + ebx]
push eax
push ecx
push esi
call fcn.004d4f00
add esp, 0xc
mov word [esi + ebx*2], 0
movzx eax, byte [esp + 0x2b]
test al, al
cmovs eax, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x20]
cmovns edx, ecx
lea esi, [esp + 0x30]
mov ecx, esi
push eax
push edx
call fcn.004cb060
cmp byte [esp + 0x2b], 0
jns 0x520616
push dword [esp + 0x20]
call fcn.004cf0d6
add esp, 4
cmp byte [esp + 0x1f], 0
jns 0x520629
push dword [esp + 0x14]
call fcn.004cf0d6
add esp, 4
mov ecx, esi
push 0x5f
call fcn.004c1a60
push 0x7fffffff
push edi
call fcn.004360f0
add esp, 8
push eax
lea esi, [esp + 0x18]
push esi
call fcn.0051dfd0
add esp, 8
movzx ebx, byte [esp + 0x1f]
mov ecx, esi
test bl, bl
jns 0x520661
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], eax
cmp ebx, 0x7ffffff0
jae 0x5207e3
cmp ebx, 5
jae 0x52068e
mov byte [esp + 0x2b], bl
lea esi, [esp + 0x20]
test ebx, ebx
jne 0x5206b8
jmp 0x5206c6
lea edi, [ebx + 8]
and edi, 0xfffffff8
lea eax, [edi + edi]
push eax
mov esi, ecx
call fcn.004cf0a6
mov ecx, esi
add esp, 4
mov esi, eax
mov dword [esp + 0x20], eax
or edi, 0x80000000
mov dword [esp + 0x28], edi
mov dword [esp + 0x24], ebx
lea eax, [ebx + ebx]
push eax
push ecx
push esi
call fcn.004d4f00
add esp, 0xc
mov word [esi + ebx*2], 0
movzx eax, byte [esp + 0x2b]
test al, al
cmovs eax, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x20]
cmovns edx, ecx
lea ebx, [esp + 0x30]
mov ecx, ebx
push eax
push edx
call fcn.004cb060
cmp byte [esp + 0x2b], 0
jns 0x520703
push dword [esp + 0x20]
call fcn.004cf0d6
add esp, 4
cmp byte [esp + 0x1f], 0
jns 0x520716
push dword [esp + 0x14]
call fcn.004cf0d6
add esp, 4
movzx eax, byte [esp + 0x3b]
mov edx, ebx
test al, al
jns 0x520729
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x34]
mov ecx, dword [ebp + 8]
push eax
push edx
lea edi, [esp + 0x28]
push edi
call fcn.00411970
lea esi, [esp + 0x40]
mov ecx, esi
push edi
call fcn.00411710
mov ecx, edi
call fcn.004c5e70
cmp byte [esp + 0x4b], 0
jns 0x520756
mov esi, dword [esp + 0x40]
push 0
push esi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x5207c1
cmp byte [esp + 0x3b], 0
jns 0x520776
push dword [esp + 0x30]
call fcn.004cf0d6
add esp, 4
mov eax, dword [esp + 0x10]
cmp eax, 0x31
lea eax, [eax + 1]
setb byte [esp + 0xf]
mov ecx, eax
cmp eax, 0x32
jne 0x52052e
lea ecx, [esp + 0x40]
call fcn.004c5e70
lea ecx, [esp + 0x50]
call fcn.004c7b60
mov bl, byte [esp + 0xf]
and bl, 1
mov ecx, dword [esp + 0x88]
xor ecx, ebp
call fcn.004d25a3
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [ebp + 0x10]
lea eax, [esp + 0x40]
push eax
call fcn.004076e0
cmp byte [esp + 0x3b], 0
jns 0x520790
push dword [esp + 0x30]
call fcn.004cf0d6
add esp, 4
jmp 0x520790
lea ecx, [esp + 0x20]
call fcn.004fc800
int3