Function at 0x1008d730
Capabilities:
Check if file exists
Create directory
Download url
Get file attributes
Receive data

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
mov eax, dword [0x1029ad64]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
jmp 0x1008d74c
lea eax, [ebp - 0x1c]
mov ecx, 0x102896d0
push eax
call fcn.1004f340
cmp dword [ebp - 8], 0x10
lea edx, [ebp - 0x1c]
cmovae edx, dword [ebp - 0x1c]
mov ecx, edx
lea esi, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1008d770
sub ecx, esi
push ecx
push edx
mov ecx, 0x102a3740
call fcn.100464c0
mov edx, dword [ebp - 8]
cmp edx, 0x10
jb 0x1008d7b9
mov ecx, dword [ebp - 0x1c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1008d7af
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1008d87b
push edx
push ecx
call fcn.10138f1a
add esp, 8
lea eax, [ebp - 0x1c]
mov ecx, 0x102896e8
push eax
call fcn.10050910
cmp dword [ebp - 8], 0x10
lea edx, [ebp - 0x1c]
cmovae edx, dword [ebp - 0x1c]
mov ecx, edx
lea esi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1008d7d7
sub ecx, esi
push ecx
push edx
mov ecx, 0x102a3758
call fcn.100464c0
mov edx, dword [ebp - 8]
cmp edx, 0x10
jb 0x1008d81c
mov ecx, dword [ebp - 0x1c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1008d812
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1008d87b
push edx
push ecx
call fcn.10138f1a
add esp, 8
lea eax, [ebp - 0x1c]
mov ecx, 0x10289708
push eax
call fcn.10050670
cmp dword [ebp - 8], 0x10
lea edx, [ebp - 0x1c]
cmovae edx, dword [ebp - 0x1c]
mov ecx, edx
lea esi, [ecx + 1]
nop word [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1008d840
sub ecx, esi
push ecx
push edx
mov ecx, 0x102a3780
call fcn.100464c0
mov edx, dword [ebp - 8]
cmp edx, 0x10
jb 0x1008d88b
mov ecx, dword [ebp - 0x1c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1008d881
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1008d881
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.10138f1a
add esp, 8
cmp dword [0x102a3754], 0x10
mov eax, 0x102a3740
mov ebx, dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmovae eax, dword [0x102a3740]
push eax
call ebx
mov edi, dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x38], eax
cmp eax, 0xffffffff
jne 0x1008d8c5
call esi
cmp eax, 2
je 0x1008d8c9
mov eax, dword [ebp - 0x38]
test al, 0x10
jne 0x1008d8e1
cmp dword [0x102a3754], 0x10
mov eax, 0x102a3740
push 0
cmovae eax, dword [0x102a3740]
push eax
call edi
cmp dword [0x102a376c], 0x10
mov eax, 0x102a3758
cmovae eax, dword [0x102a3758]
push eax
call ebx
mov dword [ebp - 0x38], eax
cmp eax, 0xffffffff
jne 0x1008d909
call esi
cmp eax, 2
je 0x1008d90d
mov eax, dword [ebp - 0x38]
test al, 0x10
jne 0x1008d925
cmp dword [0x102a376c], 0x10
mov eax, 0x102a3758
push 0
cmovae eax, dword [0x102a3758]
push eax
call edi
cmp dword [0x102a3794], 0x10
mov eax, 0x102a3780
cmovae eax, dword [0x102a3780]
push eax
call ebx
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x1008d949
call esi
cmp eax, 2
je 0x1008d94e
test bl, 0x10
jne 0x1008d966
cmp dword [0x102a3794], 0x10
mov eax, 0x102a3780
push 0
cmovae eax, dword [0x102a3780]
push eax
call edi
lea eax, [ebp - 0x34]
mov ecx, 0x10289750
push eax
call fcn.10067450
cmp dword [ebp - 0x20], 0x10
lea eax, [ebp - 0x1c]
lea esi, [ebp - 0x34]
mov ecx, 0x10289720
cmovae esi, dword [ebp - 0x34]
push eax
call fcn.100661f0
cmp dword [ebp - 8], 0x10
lea eax, [ebp - 0x1c]
push 0
cmovae eax, dword [ebp - 0x1c]
push 0x10
push esi
push eax
push 0
call sub.urlmon.dll_URLDownloadToFileA
mov edx, dword [ebp - 8]
test eax, eax
setne bl
cmp edx, 0x10
jb 0x1008d9da
mov ecx, dword [ebp - 0x1c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1008d9d0
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1008da12
push edx
push ecx
call fcn.10138f1a
add esp, 8
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0xf
mov byte [ebp - 0x1c], 0
cmp edx, 0x10
jb 0x1008da22
mov ecx, dword [ebp - 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1008da18
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1008da18
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.10138f1a
add esp, 8
test bl, bl
jne 0x1008daf3
lea eax, [ebp - 0x34]
mov ecx, 0x102897c0
push eax
call fcn.10067450
cmp dword [ebp - 0x20], 0x10
lea eax, [ebp - 0x1c]
lea esi, [ebp - 0x34]
mov ecx, 0x10289790
cmovae esi, dword [ebp - 0x34]
push eax
call fcn.100661f0
cmp dword [ebp - 8], 0x10
lea eax, [ebp - 0x1c]
push 0
cmovae eax, dword [ebp - 0x1c]
push 0x10
push esi
push eax
push 0
call sub.urlmon.dll_URLDownloadToFileA
mov edx, dword [ebp - 8]
test eax, eax
setne bl
cmp edx, 0x10
jb 0x1008da9e
mov ecx, dword [ebp - 0x1c]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1008da94
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1008dad6
push edx
push ecx
call fcn.10138f1a
add esp, 8
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0xf
mov byte [ebp - 0x1c], 0
cmp edx, 0x10
jb 0x1008dae6
mov ecx, dword [ebp - 0x34]
inc edx
mov eax, ecx
cmp edx, 0x1000
jb 0x1008dadc
mov ecx, dword [ecx - 4]
add edx, 0x23
sub eax, ecx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1008dadc
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push edx
push ecx
call fcn.10138f1a
add esp, 8
test bl, bl
jne 0x1008daf3
jmp 0x1008daf3
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10139242
mov esp, ebp
pop ebp
ret