Function at 0x43e560
Capabilities:
Create directory
Get disk size

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x61b432
mov eax, dword fs:[0]
push eax
sub esp, 0x7b4
mov eax, dword [0x6d5db8]
xor eax, ebp
mov dword [ebp - 0x18], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x7c0], ecx
call fcn.00442630
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x43ecd0
push 0
mov eax, dword [ebp - 0x7c0]
mov ecx, dword [eax + 4]
push ecx
mov ecx, dword [ebp - 0x10]
call fcn.00443110
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x43e5ce
mov edx, dword [ebp - 0x14]
cmp dword [edx + 0x1e4], 0
ja 0x43e5ef
mov eax, dword [ebp - 0x7c0]
mov dword [eax + 0x28], 0
mov ecx, dword [ebp - 0x7c0]
mov dword [ecx + 0xc], 0
xor eax, eax
jmp 0x43ecdf
push 0x5c8
mov edx, dword [ebp - 0x14]
push edx
lea eax, [ebp - 0x5e4]
push eax
call fcn.005e5550
add esp, 0xc
mov ecx, dword [ebp - 0x7c0]
cmp dword [ecx + 0x3c], 0
jle 0x43e61a
xor eax, eax
jmp 0x43ecdf
mov edx, dword [ebp - 0x7c0]
mov eax, dword [ebp - 0x7c0]
mov ecx, dword [edx + 0xc]
cmp ecx, dword [eax + 0x28]
jl 0x43e638
mov eax, 1
jmp 0x43ecdf
push 0x649355
lea ecx, [ebp - 0x6d4]
call fcn.004015a0
mov dword [ebp - 4], 0
push 0x64991c
mov edx, dword [ebp - 0x7c0]
add edx, 0xc
push edx
mov ecx, dword [ebp - 0x7c0]
add ecx, 0x1c
call fcn.0043f930
add eax, 8
push eax
call fcn.0043bd30
add esp, 8
test eax, eax
je 0x43e68e
push 0x649920
lea ecx, [ebp - 0x6d4]
call fcn.00401640
jmp 0x43e69e
push 0x649924
lea ecx, [ebp - 0x6d4]
call fcn.00401640
mov eax, dword [ebp - 0x7c0]
add eax, 0xc
push eax
lea ecx, [ebp - 0x6fc]
push ecx
mov ecx, dword [ebp - 0x7c0]
add ecx, 0x1c
call fcn.0043fc30
lea edx, [ebp - 0x7b0]
push edx
mov ecx, dword [ebp - 0x7c0]
add ecx, 0x1c
call fcn.00407480
push eax
lea ecx, [ebp - 0x6fc]
call fcn.004e5980
movzx eax, al
test eax, eax
je 0x43e726
mov ecx, dword [ebp - 0x7c0]
mov dword [ecx + 0x28], 0
mov edx, dword [ebp - 0x7c0]
mov dword [edx + 0xc], 0
mov dword [ebp - 0x7b4], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x6d4]
call fcn.00401620
mov eax, dword [ebp - 0x7b4]
jmp 0x43ecdf
lea ecx, [ebp - 0x6fc]
call fcn.005917e0
add eax, 4
mov ecx, 0x2f
mov esi, eax
lea edi, [ebp - 0x6bc]
rep movsd dword es:[edi], dword [esi]
lea ecx, [ebp - 0x6d0]
call fcn.00514f40
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x6c4]
call fcn.00404aa0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x6c0]
call fcn.00404aa0
mov byte [ebp - 4], 3
lea eax, [ebp - 0x6c0]
push eax
lea ecx, [ebp - 0x6d0]
call fcn.00517c80
push 0
push 0
lea ecx, [ebp - 0x6c0]
call fcn.00401880
push eax
call fcn.005e62b2
add esp, 8
mov dword [ebp - 0x5e8], eax
push 0xffffffffffffffff
lea ecx, [ebp - 0x6c0]
call fcn.0040cfa0
cmp dword [ebp - 0x5e8], 0xffffffff
jne 0x43e7d9
push 0
push 0
lea ecx, [ebp - 0x6c0]
call fcn.00401880
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
push 0xffffffffffffffff
lea ecx, [ebp - 0x6c0]
call fcn.0040cfa0
mov eax, dword [ebp - 0x6b8]
shl eax, 0xa
cdq
mov dword [ebp - 0x5f4], eax
mov dword [ebp - 0x5f0], edx
mov byte [ebp - 0x6f4], 0
mov byte [ebp - 0x6f3], 0x3a
mov byte [ebp - 0x6f2], 0x5c
mov byte [ebp - 0x6f1], 0
push 0
lea ecx, [ebp - 0x6c0]
call fcn.004145c0
mov byte [ebp - 0x6f4], al
lea ecx, [ebp - 0x6dc]
push ecx
lea edx, [ebp - 0x6e4]
push edx
lea eax, [ebp - 0x6ec]
push eax
lea ecx, [ebp - 0x6f4]
push ecx
call dword [sym.imp.KERNEL32.dll_GetDiskFreeSpaceExA]
test eax, eax
je 0x43e8d4
mov edx, dword [ebp - 0x6d8]
cmp edx, dword [ebp - 0x5f0]
ja 0x43e8d4
jb 0x43e866
mov eax, dword [ebp - 0x6dc]
cmp eax, dword [ebp - 0x5f4]
ja 0x43e8d4
mov ecx, dword [ebp - 0x7c0]
mov dword [ecx + 0x28], 0
mov edx, dword [ebp - 0x7c0]
mov dword [edx + 0xc], 0
mov dword [ebp - 0x7b8], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x6c0]
call fcn.00401620
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x6c4]
call fcn.00401620
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x6d0]
call fcn.00515010
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x6d4]
call fcn.00401620
mov eax, dword [ebp - 0x7b8]
jmp 0x43ecdf
mov eax, dword [ebp - 0xac]
push eax
call fcn.00594ec0
add esp, 4
mov dword [ebp - 0x5f8], eax
cmp dword [ebp - 0x5f8], 0
jne 0x43e960
mov ecx, dword [ebp - 0x7c0]
mov dword [ecx + 0x28], 0
mov edx, dword [ebp - 0x7c0]
mov dword [edx + 0xc], 0
mov dword [ebp - 0x7bc], 0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x6c0]
call fcn.00401620
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x6c4]
call fcn.00401620
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x6d0]
call fcn.00515010
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x6d4]
call fcn.00401620
mov eax, dword [ebp - 0x7bc]
jmp 0x43ecdf
lea ecx, [ebp - 0x6f0]
call fcn.00404aa0
mov byte [ebp - 4], 4
lea eax, [ebp - 0xa0]
test eax, eax
je 0x43e9a3
lea ecx, [ebp - 0xa0]
push ecx
call fcn.005e51c0
add esp, 4
test eax, eax
jbe 0x43e9a3
lea edx, [ebp - 0xa0]
push edx
lea ecx, [ebp - 0x6f0]
call fcn.00401640
jmp 0x43eb18
push 0x90
push 0
lea eax, [ebp - 0x794]
push eax
call fcn.005e5330
add esp, 0xc
push 0
push 0x90
lea ecx, [ebp - 0x794]
push ecx
push 0xffffffffffffffff
push 0x14
push 0
mov edx, dword [ebp - 0x400]
push edx
mov eax, dword [ebp - 0x5f8]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x5f8]
mov eax, dword [edx + 0x3c]
call eax
mov dword [ebp - 0x700], eax
cmp dword [ebp - 0x700], 0
jle 0x43eb06
lea ecx, [ebp - 0x727]
push ecx
call fcn.005e51c0
add esp, 4
test eax, eax
jbe 0x43eb06
lea ecx, [ebp - 0x798]
call fcn.00404aa0
mov byte [ebp - 4], 5
lea edx, [ebp - 0x727]
push edx
lea ecx, [ebp - 0x798]
call fcn.00401640
push 0x3a
lea ecx, [ebp - 0x798]
call fcn.0043f810
lea eax, [ebp - 0x798]
push eax
lea ecx, [ebp - 0x6f0]
call fcn.0040bb70
lea ecx, [ebp - 0x798]
call fcn.00401c10
mov dword [ebp - 0x79c], eax
mov ecx, dword [ebp - 0x79c]
add ecx, 1
push ecx
push 0
lea ecx, [ebp - 0x798]
call fcn.00401880
push eax
lea edx, [ebp - 0xa0]
push edx
call fcn.005e5550
add esp, 0xc
push 0xffffffffffffffff
lea ecx, [ebp - 0x798]
call fcn.0040cfa0
lea eax, [ebp - 0x5e4]
push eax
mov ecx, dword [ebp - 0x5e4]
push ecx
call fcn.00442630
mov ecx, eax
call fcn.004438c0
mov dword [ebp - 0x7a0], eax
cmp dword [ebp - 0x7a0], 0
jle 0x43eaf5
push 0
mov edx, dword [ebp - 0x7a0]
push edx
call fcn.00442630
mov ecx, eax
call fcn.00443110
mov dword [ebp - 0x7a4], eax
cmp dword [ebp - 0x7a4], 0
jne 0x43eaf5
lea eax, [ebp - 0x5a0]
push eax
lea ecx, [ebp - 0x6f0]
call fcn.00401640
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x798]
call fcn.00401620
jmp 0x43eb18
lea ecx, [ebp - 0x5a0]
push ecx
lea ecx, [ebp - 0x6f0]
call fcn.00401640
mov edx, dword [ebp - 0x6d4]
push edx
mov eax, dword [ebp - 0x630]
push eax
mov ecx, dword [ebp - 0x634]
push ecx
mov edx, dword [ebp - 0x638]
push edx
mov eax, dword [ebp - 0x640]
push eax
mov ecx, dword [ebp - 0x644]
push ecx
mov edx, dword [ebp - 0x648]
push edx
push 0
lea ecx, [ebp - 0x6f0]
call fcn.00401880
push eax
mov eax, dword [ebp - 0x6c0]
push eax
push str._s_s_04d_02d_02d_02d_02d_02d._s
lea ecx, [ebp - 0x6c4]
push ecx
call fcn.00405010
add esp, 0x2c
push 0xffffffffffffffff
lea ecx, [ebp - 0x6f0]
call fcn.0040cfa0
lea ecx, [ebp - 0x6c4]
call fcn.0040cd50
mov edx, dword [ebp - 0x7c0]
push edx
push 0x43e4b0
push 0
lea ecx, [ebp - 0x6c4]
call fcn.00401880
push eax
lea eax, [ebp - 0x6bc]
push eax
mov ecx, dword [ebp - 0x5e4]
push ecx
mov edx, dword [ebp - 0x400]
push edx
mov eax, dword [ebp - 0x5f8]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x5f8]
mov eax, dword [edx + 0x6c]
call eax
mov ecx, dword [ebp - 0x7c0]
mov dword [ecx + 0x3c], eax
push 0xffffffffffffffff
lea ecx, [ebp - 0x6c4]
call fcn.0040cfa0
mov edx, dword [ebp - 0x7c0]
cmp dword [edx + 0x3c], 0
jg 0x43ec49
mov dword [ebp - 0x7a8], 0
mov eax, dword [ebp - 0x5f8]
mov edx, dword [eax]
mov ecx, dword [ebp - 0x5f8]
mov eax, dword [edx + 0xb4]
call eax
mov dword [ebp - 0x7a8], eax
push 0
lea ecx, [ebp - 0x6c4]
call fcn.00401880
push eax
mov ecx, dword [ebp - 0x7c0]
mov edx, dword [ecx + 0x3c]
push edx
mov eax, dword [ebp - 0x7a8]
push eax
lea ecx, [ebp - 0x5a0]
push ecx
push str._n_s_Download_Error:_d___ld___s_n
call fcn.0041cba0
add esp, 0x14
jmp 0x43ec75
push 0
lea ecx, [ebp - 0x6c4]
call fcn.00401880
push eax
mov edx, dword [ebp - 0x7c0]
mov eax, dword [edx + 0x3c]
push eax
lea ecx, [ebp - 0x5a0]
push ecx
push str._n_s_Download_Start:__ld____s_n
call fcn.0041cba0
add esp, 0x10
push 0xffffffffffffffff
lea ecx, [ebp - 0x6c4]
call fcn.0040cfa0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x6f0]
call fcn.00401620
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x6c0]
call fcn.00401620
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x6c4]
call fcn.00401620
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x6d0]
call fcn.00515010
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x6d4]
call fcn.00401620
mov edx, dword [ebp - 0x7c0]
xor eax, eax
cmp dword [edx + 0x3c], 0
setg al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x18]
xor ecx, ebp
call fcn.005e5163
mov esp, ebp
pop ebp
ret