Function at 0x10005700
Capabilities:
Get common file path
Get session user name
Reference http user-agent string
Write file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0xa78c
call fcn.10018f10
mov dword [ebp - 0xa788], ecx
mov dword [ebp - 0xe50], 0xffffffff
mov dword [ebp - 0xd1c], 0
mov dword [ebp - 0x677c], 0
mov dword [ebp - 0xe2c], 0
mov dword [ebp - 0xe48], 0
mov dword [ebp - 0x125c], 0
mov dword [ebp - 0xe58], 0
mov dword [ebp - 0x1260], 0
mov dword [ebp - 0x5270], 0
mov dword [ebp - 0x5278], 0
mov dword [ebp - 0x914], 0
lea eax, [ebp - 0x6678]
push eax
push 0
lea ecx, [ebp - 0x1258]
push ecx
push 0
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0xa788]
call fcn.10005550
push 0x200
lea eax, [ebp - 0x908]
push eax
push 0xffffffffffffffff
lea ecx, [ebp - 0x1258]
push ecx
push 1
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0x2000
lea edx, [ebp - 0x5268]
push edx
push 0xffffffffffffffff
lea eax, [ebp - 0x6678]
push eax
push 1
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0x200
lea ecx, [ebp - 0x508]
push ecx
push 0xffffffffffffffff
mov edx, dword [ebp + 0x10]
push edx
push 1
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0x2000
lea eax, [ebp - 0xa780]
push eax
push 0xffffffffffffffff
mov ecx, dword [ebp + 0xc]
push ecx
push 1
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
push 0x200
lea edx, [ebp - 0xd18]
push edx
push 0xffffffffffffffff
push str.Mozilla_5.0__compatible__MSIE_8.0__Windows_NT_6.0__Trident_4.0__WOW64__Trident_4.0__SLCC2__.NET_CLR_2.0.50727__.NET_CLR_3.5.30729__.NET_CLR_3.0.30729__.NET_CLR_1.0.3705__.NET_CLR_1.1.4322_
push 1
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov eax, dword [ebp - 0xa788]
cmp dword [eax], 0
je 0x1000596f
lea ecx, [ebp - 0xe34]
push ecx
lea edx, [ebp - 0x6778]
push edx
call dword [sym.imp.ADVAPI32.dll_GetUserNameA]
push 0x1001bf1c
call fcn.100011b0
add esp, 4
push eax
lea eax, [ebp - 0x6778]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x1000589c
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0xd18]
push ecx
mov edx, dword [ebp - 0xa788]
mov eax, dword [edx + 0xc]
call eax
mov dword [ebp - 0xd1c], eax
jmp 0x1000596f
lea ecx, [ebp - 0xe44]
push ecx
mov edx, dword [ebp - 0xa788]
mov eax, dword [edx + 8]
call eax
test eax, eax
je 0x1000594f
cmp dword [ebp - 0xe3c], 0
je 0x100058eb
push 0
mov ecx, dword [ebp - 0xe38]
push ecx
mov edx, dword [ebp - 0xe3c]
push edx
push 3
lea eax, [ebp - 0xd18]
push eax
mov ecx, dword [ebp - 0xa788]
mov edx, dword [ecx + 0xc]
call edx
mov dword [ebp - 0xd1c], eax
jmp 0x1000590b
push 0
push 0
push 0
push 1
lea eax, [ebp - 0xd18]
push eax
mov ecx, dword [ebp - 0xa788]
mov edx, dword [ecx + 0xc]
call edx
mov dword [ebp - 0xd1c], eax
cmp dword [ebp - 0xe3c], 0
je 0x10005921
mov eax, dword [ebp - 0xe3c]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalFree]
cmp dword [ebp - 0xe40], 0
je 0x10005937
mov ecx, dword [ebp - 0xe40]
push ecx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
cmp dword [ebp - 0xe38], 0
je 0x1000594d
mov edx, dword [ebp - 0xe38]
push edx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
jmp 0x1000596f
push 0
push 0
push 0
push 0
lea eax, [ebp - 0xd18]
push eax
mov ecx, dword [ebp - 0xa788]
mov edx, dword [ecx + 0xc]
call edx
mov dword [ebp - 0xd1c], eax
cmp dword [ebp - 0xd1c], 0
je 0x100059f5
push 0x1001bf2c
call dword [sym.imp.SHLWAPI.dll_StrToIntA]
imul eax, eax, 0x3e8
push eax
push 0x1001bff0
call dword [sym.imp.SHLWAPI.dll_StrToIntA]
imul eax, eax, 0x3e8
push eax
push 0x1001bff4
call dword [sym.imp.SHLWAPI.dll_StrToIntA]
imul eax, eax, 0x3e8
push eax
push 0x1001bff8
call dword [sym.imp.SHLWAPI.dll_StrToIntA]
imul eax, eax, 0x3e8
push eax
mov eax, dword [ebp - 0xd1c]
push eax
mov ecx, dword [ebp - 0xa788]
mov edx, dword [ecx + 0x18]
call edx
push 0
push 0x50
lea eax, [ebp - 0x908]
push eax
mov ecx, dword [ebp - 0xd1c]
push ecx
mov edx, dword [ebp - 0xa788]
mov eax, dword [edx + 0x10]
call eax
mov dword [ebp - 0x677c], eax
cmp dword [ebp - 0x677c], 0
je 0x10005a2d
push 0
push 0
push 0
push str.HTTP_1.1
lea ecx, [ebp - 0x5268]
push ecx
push 0x1001c010
mov edx, dword [ebp - 0x677c]
push edx
mov eax, dword [ebp - 0xa788]
mov ecx, dword [eax + 0x14]
call ecx
mov dword [ebp - 0xe2c], eax
cmp dword [ebp - 0xe2c], 0
je 0x10005a5c
push 0x20000000
push 0xffffffffffffffff
lea edx, [ebp - 0xa780]
push edx
mov eax, dword [ebp - 0xe2c]
push eax
mov ecx, dword [ebp - 0xa788]
mov edx, dword [ecx + 0x1c]
call edx
mov dword [ebp - 0x5278], eax
cmp dword [ebp - 0xe2c], 0
je 0x10005a89
push 0
push 0
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 0xe2c]
push eax
mov ecx, dword [ebp - 0xa788]
mov edx, dword [ecx + 0x20]
call edx
mov dword [ebp - 0x1260], eax
cmp dword [ebp - 0x1260], 0
je 0x10005aac
push 0
mov eax, dword [ebp - 0xe2c]
push eax
mov ecx, dword [ebp - 0xa788]
mov edx, dword [ecx + 0x24]
call edx
mov dword [ebp - 0x125c], eax
cmp dword [ebp - 0x125c], 0
je 0x10005b6e
mov dword [ebp - 0x104], 4
push 0
lea eax, [ebp - 0x104]
push eax
lea ecx, [ebp - 0xa784]
push ecx
push 0
push 0x20000013
mov edx, dword [ebp - 0xe2c]
push edx
mov eax, dword [ebp - 0xa788]
mov ecx, dword [eax + 0x28]
call ecx
mov dword [ebp - 0xe48], eax
cmp dword [ebp - 0xe48], 0
je 0x10005b0c
cmp dword [ebp + 0x18], 0
je 0x10005b0c
mov edx, dword [ebp + 0x18]
mov eax, dword [ebp - 0xa784]
mov dword [edx], eax
mov dword [ebp - 0x5274], 4
mov dword [ebp - 0xe28], 0
push 0
lea ecx, [ebp - 0x5274]
push ecx
lea edx, [ebp - 0xe28]
push edx
lea eax, [ebp - 0x508]
push eax
push 0x2000ffff
mov ecx, dword [ebp - 0xe2c]
push ecx
mov edx, dword [ebp - 0xa788]
mov eax, dword [edx + 0x28]
call eax
mov dword [ebp - 0xe48], eax
cmp dword [ebp - 0xe48], 0
je 0x10005b6e
cmp dword [ebp + 0x14], 0
je 0x10005b6e
mov ecx, dword [ebp + 0x14]
mov edx, dword [ebp - 0xe28]
mov dword [ecx], edx
cmp dword [ebp - 0x125c], 0
je 0x10005be2
lea eax, [ebp - 0xe20]
push eax
push 0x100
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
push 0x100
lea ecx, [ebp - 0x100]
push ecx
lea edx, [ebp - 0xe20]
push edx
call dword [sym.imp.KERNEL32.dll_GetLongPathNameA]
lea eax, [ebp - 0x100]
push eax
push 0
push 0x1001c018
lea ecx, [ebp - 0x100]
push ecx
call dword [sym.imp.KERNEL32.dll_GetTempFileNameA]
push 0
push 0x100
push 3
push 0
push 5
push 0xc0000000
lea edx, [ebp - 0x100]
push edx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0xe50], eax
cmp dword [ebp - 0xe50], 0xffffffff
je 0x10005e0d
cmp dword [ebp + 0x1c], 0
je 0x10005d2c
push 0
lea eax, [ebp - 0x526c]
push eax
push 0
push 0
push 0x16
mov ecx, dword [ebp - 0xe2c]
push ecx
mov edx, dword [ebp - 0xa788]
mov eax, dword [edx + 0x28]
call eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x7a
jne 0x10005d2c
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov dword [ebp - 0xe24], eax
mov ecx, dword [ebp - 0x526c]
push ecx
push 0
mov edx, dword [ebp - 0xe24]
push edx
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [ebp - 0x90c], eax
cmp dword [ebp - 0x90c], 0
je 0x10005d2c
mov eax, dword [ebp - 0x526c]
push eax
push 0
mov ecx, dword [ebp - 0xe24]
push ecx
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov dword [ebp - 0x1264], eax
cmp dword [ebp - 0x1264], 0
je 0x10005d2c
push 0
lea edx, [ebp - 0x526c]
push edx
mov eax, dword [ebp - 0x90c]
push eax
push 0
push 0x16
mov ecx, dword [ebp - 0xe2c]
push ecx
mov edx, dword [ebp - 0xa788]
mov eax, dword [edx + 0x28]
call eax
test eax, eax
je 0x10005d2c
push 0
push 0
mov ecx, dword [ebp - 0x526c]
push ecx
mov edx, dword [ebp - 0x1264]
push edx
push 0xffffffffffffffff
mov eax, dword [ebp - 0x90c]
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_WideCharToMultiByte]
mov dword [ebp - 0xe4c], eax
push 0
lea ecx, [ebp - 0xe30]
push ecx
mov edx, dword [ebp - 0xe4c]
push edx
mov eax, dword [ebp - 0x1264]
push eax
mov ecx, dword [ebp - 0xe50]
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov edx, dword [ebp - 0x1264]
push edx
push 0
mov eax, dword [ebp - 0xe24]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [ebp - 0x90c]
push ecx
push 0
mov edx, dword [ebp - 0xe24]
push edx
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov dword [ebp - 0xe54], 0
lea eax, [ebp - 0xe54]
push eax
mov ecx, dword [ebp - 0xe2c]
push ecx
mov edx, dword [ebp - 0xa788]
mov eax, dword [edx + 0x2c]
call eax
mov dword [ebp - 0xe58], eax
mov ecx, dword [ebp - 0xe54]
mov dword [ebp - 0x1268], ecx
cmp dword [ebp - 0x1268], 0x400
jbe 0x10005d79
mov dword [ebp - 0xa78c], 0x400
jmp 0x10005d85
mov edx, dword [ebp - 0x1268]
mov dword [ebp - 0xa78c], edx
mov eax, dword [ebp - 0xa78c]
mov dword [ebp - 0x910], eax
lea ecx, [ebp - 0x108]
push ecx
mov edx, dword [ebp - 0x910]
push edx
lea eax, [ebp - 0x5678]
push eax
mov ecx, dword [ebp - 0xe2c]
push ecx
mov edx, dword [ebp - 0xa788]
mov eax, dword [edx + 0x30]
call eax
mov dword [ebp - 0x5270], eax
push 0
lea ecx, [ebp - 0xe30]
push ecx
mov edx, dword [ebp - 0x108]
push edx
lea eax, [ebp - 0x5678]
push eax
mov ecx, dword [ebp - 0xe50]
push ecx
call dword [sym.imp.KERNEL32.dll_WriteFile]
mov dword [ebp - 0x914], eax
mov edx, dword [ebp - 0x1268]
sub edx, dword [ebp - 0x910]
mov dword [ebp - 0x1268], edx
jne 0x10005d61
cmp dword [ebp - 0xe54], 0
jne 0x10005d2c
cmp dword [ebp - 0xe2c], 0
je 0x10005e28
mov eax, dword [ebp - 0xe2c]
push eax
mov ecx, dword [ebp - 0xa788]
mov edx, dword [ecx + 0x34]
call edx
cmp dword [ebp - 0x677c], 0
je 0x10005e43
mov eax, dword [ebp - 0x677c]
push eax
mov ecx, dword [ebp - 0xa788]
mov edx, dword [ecx + 0x34]
call edx
cmp dword [ebp - 0xd1c], 0
je 0x10005e5e
mov eax, dword [ebp - 0xd1c]
push eax
mov ecx, dword [ebp - 0xa788]
mov edx, dword [ecx + 0x34]
call edx
mov eax, dword [ebp - 0xe50]
mov esp, ebp
pop ebp
ret 0x18