Function at 0x4376f2
Capabilities:
Create directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x410
test byte [ebp + 0xc], 1
push ebx
push esi
jne 0x43770d
mov eax, 0x80020003
jmp 0x43793b
push edi
mov edi, dword [ebp + 0x10]
mov ecx, dword [edi + 8]
lea edx, [ecx - 1]
cmp edx, 2
ja 0x437935
mov esi, dword [edi]
mov eax, ecx
add eax, eax
push 8
pop ebx
cmp word [esi + eax*8 - 0x10], bx
je 0x437737
mov eax, dword [ebp + 0x18]
mov dword [eax], edx
jmp 0x437767
cmp ecx, 2
jb 0x43774c
lea eax, [ecx - 2]
add eax, eax
cmp word [esi + eax*8], bx
je 0x43774c
add ecx, 0xfffffffe
jmp 0x437762
push 0xb
pop ebx
cmp ecx, 3
jb 0x437771
lea eax, [ecx - 3]
add eax, eax
cmp word [esi + eax*8], bx
je 0x437771
add ecx, 0xfffffffd
mov eax, dword [ebp + 0x18]
mov dword [eax], ecx
mov eax, 0x80020005
jmp 0x43793a
mov esi, dword [ebp + 0x14]
test esi, esi
je 0x437782
push esi
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov word [esi], bx
mov eax, dword [ebp + 8]
mov ecx, 0x4f8e10
push 0
push 2
push dword [eax + 0xc]
push dword [eax + 4]
push str.downloadmedia
push str.downloader
call fcn.0043c134
cmp eax, 1
jne 0x437927
test esi, esi
je 0x4377b7
or eax, 0xffffffff
mov word [esi + 8], ax
mov eax, dword [edi + 8]
mov ecx, dword [edi]
add eax, eax
cmp dword [edi + 8], 2
mov ebx, dword [ecx + eax*8 - 8]
jb 0x4377ce
mov edi, dword [ecx + eax*8 - 0x18]
jmp 0x4377d7
push ebx
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
mov edi, eax
push edi
call fcn.00438603
pop ecx
test ebx, ebx
je 0x437927
test edi, edi
je 0x437927
push edi
call fcn.00437c91
pop ecx
test al, al
jne 0x437813
push edi
call fcn.00437d3a
pop ecx
test al, al
jne 0x437813
push edi
call fcn.00437d1d
pop ecx
test al, al
je 0x437927
push 0x208
lea eax, [ebp - 0x208]
push 0
push eax
call fcn.0049a3b0
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x208]
add esp, 0xc
mov ecx, dword [ecx + 0xc]
push eax
call fcn.004379f2
push eax
mov eax, dword [ebp + 8]
push dword [eax + 4]
call fcn.00437a0d
add esp, 0xc
test al, al
je 0x437927
push 0
lea eax, [ebp - 0x208]
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
push 0x208
lea eax, [ebp - 0x410]
push 0
push eax
call fcn.0049a3b0
add esp, 0xc
lea eax, [ebp - 0x208]
push edi
push eax
lea eax, [ebp - 0x410]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
push 0x24
call fcn.0049909d
mov edi, eax
pop ecx
test edi, edi
je 0x4378bc
mov esi, dword [ebp + 8]
mov ecx, dword [esi + 0xc]
call fcn.004379f2
push eax
push dword [esi + 4]
lea eax, [ebp - 0x410]
mov ecx, edi
push eax
push ebx
call fcn.004375e9
mov esi, eax
jmp 0x4378be
xor esi, esi
push 0x50bb64
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp dword [0x4f8e00], 2
push 0
push 0
push ebx
jae 0x4378e5
call fcn.00404fb9
mov edi, eax
mov eax, 0xf002
jmp 0x4378f1
call fcn.00404fb9
mov edi, eax
mov eax, 0xff02
mov ecx, dword [0x531bd8]
add esp, 0xc
push eax
push esi
push edi
push 0
push 0x14
call fcn.004290cf
push edi
mov esi, eax
call fcn.004a1b5f
pop ecx
push esi
mov ecx, 0x4f8dfc
call fcn.00407867
push 0x50bb64
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x437931
test esi, esi
je 0x437931
xor eax, eax
mov word [esi + 8], ax
xor eax, eax
jmp 0x43793a
mov eax, 0x8002000e
pop edi
pop esi
pop ebx
leave
ret 0x14