Function at 0x401e60
Capabilities:
Download url
Get common file path
Receive data

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4336b9
mov eax, dword fs:[0]
push eax
sub esp, 0x8f8
mov eax, dword [0x43ed54]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x904], ecx
mov eax, dword [ebp - 0x904]
movzx ecx, byte [eax + 0xd4]
test ecx, ecx
je 0x401f09
lea ecx, [ebp - 0x24c]
call fcn.00405760
mov dword [ebp - 4], 0
push 0x8e
lea ecx, [ebp - 0x24c]
call fcn.00405ab0
push 0
push 0x435624
lea ecx, [ebp - 0x24c]
call fcn.00405cb0
push eax
mov ecx, dword [ebp - 0x904]
call fcn.00403d80
mov dword [ebp - 0x8f8], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24c]
call fcn.00405740
mov eax, dword [ebp - 0x8f8]
jmp 0x4021e6
lea ecx, [ebp - 0x240]
call fcn.004042c0
mov dword [ebp - 4], 1
mov edx, dword [ebp - 0x904]
mov byte [edx + 0xd4], 0
push 0
call dword [sym.imp.USER32.dll_GetActiveWindow]
push eax
lea ecx, [ebp - 0x240]
call fcn.004065b0
cmp eax, 1
je 0x401f68
mov dword [ebp - 0x8fc], 0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x240]
call fcn.00404470
mov eax, dword [ebp - 0x8fc]
jmp 0x4021e6
xor eax, eax
mov word [ebp - 0x21c], ax
push 0x206
push 0
lea ecx, [ebp - 0x21a]
push ecx
call fcn.0041dea0
add esp, 0xc
lea edx, [ebp - 0x21c]
push edx
push 0
push 0
push 5
push 0
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
mov dword [ebp - 0x248], eax
cmp dword [ebp - 0x248], 0
jl 0x4020c6
lea eax, [ebp - 0x21c]
push eax
lea ecx, [ebp - 0x250]
call fcn.00405780
mov byte [ebp - 4], 2
push str.c:_temphgjty5
lea ecx, [ebp - 0x250]
call fcn.00405800
push 0
push 0
lea ecx, [ebp - 0x250]
call fcn.00405cb0
push eax
mov ecx, dword [0x43e020]
push ecx
push 0
call sub.urlmon.dll_URLDownloadToFileW
mov dword [ebp - 0x248], eax
cmp dword [ebp - 0x248], 0
jl 0x4020b7
push 1
push 0x40
push 1
lea ecx, [ebp - 0x250]
call fcn.00405cb0
push eax
lea ecx, [ebp - 0x2e4]
call fcn.00406cb0
mov byte [ebp - 4], 3
mov byte [ebp - 0x6e4], 0
push 0x3ff
push 0
lea edx, [ebp - 0x6e3]
push edx
call fcn.0041dea0
add esp, 0xc
push 0x400
lea eax, [ebp - 0x6e4]
push eax
lea ecx, [ebp - 0x2e4]
call fcn.004061c0
lea ecx, [ebp - 0x6e4]
push ecx
lea edx, [ebp - 0x220]
push edx
call fcn.00405c70
add esp, 8
movzx eax, al
test eax, eax
je 0x40209d
lea ecx, [ebp - 0x6e4]
push ecx
mov ecx, dword [ebp - 0x904]
add ecx, 0xd8
call fcn.00405820
mov edx, dword [ebp - 0x904]
mov byte [edx + 0xd4], 1
lea ecx, [ebp - 0x2e4]
call fcn.00406e10
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x2e4]
call fcn.00404490
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x250]
call fcn.00405740
mov eax, dword [ebp - 0x904]
movzx ecx, byte [eax + 0xd4]
test ecx, ecx
je 0x402165
lea ecx, [ebp - 0x6ec]
call fcn.00406780
push 0
push 0
push 0x2001f
push 0
push 0
push str.Software_aapdftoword
push SysReAllocString
lea ecx, [ebp - 0x6ec]
call fcn.00406940
test eax, eax
jne 0x40215a
xor edx, edx
mov word [ebp - 0x8f4], dx
push 0x206
push 0
lea eax, [ebp - 0x8f2]
push eax
call fcn.0041dea0
add esp, 0xc
push 1
mov ecx, dword [ebp - 0x904]
add ecx, 0xd8
call fcn.00405cb0
push eax
push 0x435670
lea ecx, [ebp - 0x6ec]
call fcn.00407340
lea ecx, [ebp - 0x6ec]
call fcn.00406850
lea ecx, [ebp - 0x6ec]
call fcn.004067b0
lea ecx, [ebp - 0x244]
call fcn.00405760
mov byte [ebp - 4], 4
mov ecx, dword [ebp - 0x904]
movzx edx, byte [ecx + 0xd4]
neg edx
sbb edx, edx
add edx, 0x8d
push edx
lea ecx, [ebp - 0x244]
call fcn.00405ab0
push 0
push 0x435674
lea ecx, [ebp - 0x244]
call fcn.00405cb0
push eax
mov ecx, dword [ebp - 0x904]
call fcn.00403d80
mov dword [ebp - 0x900], 0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x244]
call fcn.00405740
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x240]
call fcn.00404470
mov eax, dword [ebp - 0x900]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041de91
mov esp, ebp
pop ebp
ret 0x10