Function at 0x48187c
Capabilities:
Create directory

Disassembly:
push ebx
push esi
push edi
push ebp
push ecx
mov ebx, dword [0x563764]
test ebx, ebx
je 0x481b9b
mov eax, dword [ebx]
mov esi, 0x57a8a8
mov edi, eax
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push 0x5637fe
push 0x57a8a8
call fcn.0054c5e4
add esp, 8
mov esi, eax
push 0x563807
push 0x57a8a8
call fcn.0054c5e4
add esp, 8
mov edi, eax
push 0x563810
push 0x57a8a8
call fcn.0054c5e4
add esp, 8
mov ebp, eax
push 0x563819
push 0x57a8a8
call fcn.0054c5e4
add esp, 8
mov dword [esp], eax
test esi, esi
je 0x481b90
mov byte [esi], 0
add esi, 7
push 0x20
push 0x57a8a8
call fcn.0054c230
add esp, 8
test eax, eax
je 0x48192a
mov byte [eax], 0
test edi, edi
je 0x48193b
mov byte [edi], 0
add edi, 7
cmp byte [edi], 0
jne 0x48193b
xor edi, edi
test ebp, ebp
je 0x48194e
mov byte [ebp], 0
add ebp, 7
cmp byte [ebp], 0
jne 0x48194e
xor ebp, ebp
cmp dword [esp], 0
je 0x48196b
mov eax, dword [esp]
mov byte [eax], 0
add dword [esp], 7
mov edx, dword [esp]
cmp byte [edx], 0
jne 0x48196b
xor ecx, ecx
mov dword [esp], ecx
cmp byte [esi], 0
je 0x481b90
push 0x563822
push 0x57a8a8
call fcn.0054c494
add esp, 8
test eax, eax
jne 0x481b90
push esi
push edi
mov edi, esi
mov esi, 0x57ac8f
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
xchg edi, esi
mov eax, edi
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
push 0x57ac8f
call fcn.0042cb4e
push 0x57fd38
push 0x57ac8f
call fcn.0054c494
add esp, 8
test eax, eax
je 0x4819ea
push 2
push 0x57ac8f
call fcn.0042c9b5
test eax, eax
jne 0x481b9b
push 0x57fd38
push str._sdownload
push 0x57ac8f
call sub.USER32.dll_wsprintfA
add esp, 0xc
push 0
push 0x57ac8f
call sub.KERNEL32.dll_CreateDirectoryA
push 2
push 0x57ac8f
call fcn.0042c9b5
test eax, eax
je 0x481b9b
push 0x57ac8f
push 0x563837
push 0x57fe40
call sub.USER32.dll_wsprintfA
add esp, 0xc
test edi, edi
je 0x481a5c
push edi
push 0x56384a
push 0x57fe40
call fcn.0054c2d0
pop ecx
add eax, 0x57fe40
push eax
call sub.USER32.dll_wsprintfA
add esp, 0xc
test ebp, ebp
je 0x481a80
push ebp
push 0x563855
push 0x57fe40
call fcn.0054c2d0
pop ecx
add eax, 0x57fe40
push eax
call sub.USER32.dll_wsprintfA
add esp, 0xc
cmp dword [esp], 0
je 0x481aa8
push dword [esp]
push 0x563860
push 0x57fe40
call fcn.0054c2d0
pop ecx
add eax, 0x57fe40
push eax
call sub.USER32.dll_wsprintfA
add esp, 0xc
push 0
push 0x57fe40
push 0
call fcn.004c6a50
mov esi, eax
test esi, esi
je 0x481b9b
push ebx
push dword [0x563764]
call fcn.004c6cb6
mov dword [0x563764], eax
push esi
push dword [0x563764]
push dword [0x563764]
call fcn.004c6d36
mov dword [0x563764], eax
push 0x57ac8f
call fcn.0042caf0
push eax
push str.defaultEXTDIR:_s_
push 0x57fe40
call sub.USER32.dll_wsprintfA
add esp, 0xc
test edi, edi
je 0x481b29
push edi
push str.EXTAPP:_s
push 0x57fe40
call fcn.0054c2d0
pop ecx
add eax, 0x57fe40
push eax
call sub.USER32.dll_wsprintfA
add esp, 0xc
test ebp, ebp
je 0x481b4d
push ebp
push str.EXTCOM:_s
push 0x57fe40
call fcn.0054c2d0
pop ecx
add eax, 0x57fe40
push eax
call sub.USER32.dll_wsprintfA
add esp, 0xc
cmp dword [esp], 0
je 0x481b75
push dword [esp]
push str.EXTOPT:_s
push 0x57fe40
call fcn.0054c2d0
pop ecx
add eax, 0x57fe40
push eax
call sub.USER32.dll_wsprintfA
add esp, 0xc
push 0x57fc34
push 0x57fe40
push 0x5638ab
push 0x56389f
call fcn.004ac86a
jmp 0x481b9b
mov ebx, dword [ebx + 0x40]
test ebx, ebx
jne 0x48188f
pop edx
pop ebp
pop edi
pop esi
pop ebx
ret