Function at 0x47afb0
Capabilities:
Get file size
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4eb74f
mov eax, dword fs:[0]
push eax
sub esp, 0x7b4
mov eax, dword [0x51eed4]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x75c], ecx
mov dword [ebp - 0x758], 0
mov dword [ebp - 4], 2
lea ecx, [ebp + 0x28]
call fcn.00480e30
add eax, 1
mov dword [ebp - 0x640], eax
mov eax, dword [ebp - 0x640]
push eax
call fcn.004c0518
add esp, 4
mov dword [ebp - 0x644], eax
cmp dword [ebp - 0x644], 0
je 0x47b048
mov ecx, dword [ebp - 0x640]
push ecx
push 0
mov edx, dword [ebp - 0x644]
push edx
call fcn.004bfe20
add esp, 0xc
mov eax, dword [ebp - 0x644]
mov dword [ebp - 0x760], eax
jmp 0x47b052
mov dword [ebp - 0x760], 0
mov ecx, dword [ebp - 0x760]
mov dword [ebp - 0x104], ecx
lea ecx, [ebp + 0x28]
call fcn.00402bd0
push eax
mov edx, dword [ebp - 0x104]
push edx
call fcn.004c0420
add esp, 8
mov eax, dword [ebp - 0x104]
push eax
call dword [sym.imp.SHLWAPI.dll_PathStripPathA]
mov ecx, dword [ebp - 0x104]
push ecx
lea ecx, [ebp + 0xc]
call fcn.004093e0
sub esp, 0x1c
mov esi, esp
mov dword [ebp - 0x648], esp
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x64c], esp
lea edx, [ebp + 0xc]
push edx
call fcn.00402b70
mov dword [ebp - 0x764], eax
push esi
mov eax, dword [ebp - 0x75c]
mov ecx, dword [eax + 0x29c]
mov edx, dword [ebp - 0x75c]
mov eax, dword [edx + 0x29c]
mov edx, dword [ecx]
mov ecx, eax
mov eax, dword [edx + 0x58]
call eax
mov dword [ebp - 0x768], eax
mov ecx, dword [ebp - 0x768]
mov dword [ebp - 0x76c], ecx
lea ecx, [ebp - 0x634]
call fcn.004897d0
mov dword [ebp - 0x770], eax
mov byte [ebp - 4], 3
lea edx, [ebp - 0x100]
push edx
push str.fileid
lea ecx, [ebp - 0x634]
call fcn.004897b0
mov ecx, eax
call fcn.00402230
mov byte [ebp - 4], 4
lea eax, [ebp - 0x120]
push eax
push str.host
lea ecx, [ebp - 0x634]
call fcn.004897b0
mov ecx, eax
call fcn.00402230
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xb8]
push ecx
push str.salt
lea ecx, [ebp - 0x634]
call fcn.004897b0
mov ecx, eax
call fcn.00402230
mov byte [ebp - 4], 6
mov dword [ebp - 0x56c], 0x20000
mov dword [ebp - 0x568], 0
mov dword [ebp - 0x638], 0
lea ecx, [ebp - 0x98]
call fcn.00402ab0
mov byte [ebp - 4], 7
push 0
push 0x80
push 3
push 0
push 1
push SysReAllocString
lea edx, [ebp + 0x28]
lea ecx, [ebp - 0x668]
call fcn.00487390
mov dword [ebp - 0x774], eax
mov edx, dword [ebp - 0x774]
mov dword [ebp - 0x778], edx
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x778]
call fcn.00480e10
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x548], eax
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x668]
call fcn.00480cf0
cmp dword [ebp - 0x548], 0
je 0x47b206
cmp dword [ebp - 0x548], 0xffffffff
jne 0x47b2ab
push 0x47bb80
push str.Open_Error
push 0x522b20
call fcn.0040f920
add esp, 8
mov ecx, eax
call fcn.004806d0
push str.FALSE
mov ecx, dword [ebp + 8]
call fcn.00480c70
mov eax, dword [ebp - 0x758]
or eax, 1
mov dword [ebp - 0x758], eax
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x98]
call fcn.00402bb0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xb8]
call fcn.00402bb0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x120]
call fcn.00402bb0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x100]
call fcn.00402bb0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x634]
call fcn.0047db70
mov byte [ebp - 4], 1
lea ecx, [ebp + 0xc]
call fcn.00402bb0
mov byte [ebp - 4], 0
lea ecx, [ebp + 0x28]
call fcn.00402bb0
mov eax, dword [ebp + 8]
jmp 0x47bb5c
lea ecx, [ebp - 0x544]
push ecx
mov edx, dword [ebp - 0x548]
push edx
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
push 0
push 0x20000
mov eax, dword [ebp - 0x540]
push eax
mov ecx, dword [ebp - 0x544]
push ecx
call fcn.004c05f0
mov dword [ebp - 0x9c], eax
push 0
push 0x20000
mov edx, dword [ebp - 0x540]
push edx
mov eax, dword [ebp - 0x544]
push eax
call fcn.004c0530
mov dword [ebp - 0x780], eax
mov dword [ebp - 0x77c], edx
mov ecx, dword [ebp - 0x780]
or ecx, dword [ebp - 0x77c]
je 0x47b322
mov edx, dword [ebp - 0x9c]
add edx, 1
mov dword [ebp - 0x9c], edx
push 0x20000
call fcn.004c0518
add esp, 4
mov dword [ebp - 0x66c], eax
mov eax, dword [ebp - 0x66c]
mov dword [ebp - 0xd8], eax
mov byte [ebp - 0x58c], 0
xor ecx, ecx
mov dword [ebp - 0x58b], ecx
mov dword [ebp - 0x587], ecx
mov dword [ebp - 0x583], ecx
mov dword [ebp - 0x57f], ecx
mov dword [ebp - 0x57b], ecx
mov dword [ebp - 0x577], ecx
mov dword [ebp - 0x573], ecx
lea ecx, [ebp - 0x564]
call fcn.00402ab0
mov byte [ebp - 4], 9
mov byte [ebp - 0x53c], 0
push 0x3ff
push 0
lea edx, [ebp - 0x53b]
push edx
call fcn.004bfe20
add esp, 0xc
call fcn.004898d0
mov edx, eax
lea ecx, [ebp - 0x13c]
call fcn.00489900
mov byte [ebp - 4], 0xa
xor eax, eax
mov word [ebp - 0x7c], ax
push 0x62
push 0
lea ecx, [ebp - 0x7a]
push ecx
call fcn.004bfe20
add esp, 0xc
lea ecx, [ebp - 0xd4]
call fcn.00480c00
mov byte [ebp - 4], 0xb
mov edx, dword [ebp - 0x9c]
sub edx, 1
cmp dword [ebp - 0x638], edx
jg 0x47b9ef
mov eax, dword [ebp - 0x9c]
sub eax, 1
cmp dword [ebp - 0x638], eax
je 0x47b468
mov ecx, dword [ebp - 0x638]
shl ecx, 0x11
xor edx, edx
mov dword [ebp - 0xe4], ecx
mov dword [ebp - 0xe0], edx
push 0
push 0
mov eax, dword [ebp - 0xe0]
push eax
mov ecx, dword [ebp - 0xe4]
push ecx
mov edx, dword [ebp - 0x548]
push edx
call dword [sym.imp.KERNEL32.dll_SetFilePointerEx]
push 0
lea eax, [ebp - 0x590]
push eax
push 0x20000
mov ecx, dword [ebp - 0xd8]
push ecx
mov edx, dword [ebp - 0x548]
push edx
call dword [sym.imp.KERNEL32.dll_ReadFile]
mov dword [ebp - 0x568], 0x20000
jmp 0x47b595
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x670], eax
mov ecx, dword [ebp - 0x670]
push ecx
call fcn.004c0415
add esp, 4
mov dword [ebp - 0xd8], 0
push 0
push 0x20000
mov edx, dword [ebp - 0x540]
push edx
mov eax, dword [ebp - 0x544]
push eax
call fcn.004c0530
mov dword [ebp - 0x674], eax
mov ecx, dword [ebp - 0x674]
push ecx
call fcn.004c0518
add esp, 4
mov dword [ebp - 0x678], eax
cmp dword [ebp - 0x678], 0
je 0x47b4f1
mov edx, dword [ebp - 0x674]
push edx
push 0
mov eax, dword [ebp - 0x678]
push eax
call fcn.004bfe20
add esp, 0xc
mov ecx, dword [ebp - 0x678]
mov dword [ebp - 0x784], ecx
jmp 0x47b4fb
mov dword [ebp - 0x784], 0
mov edx, dword [ebp - 0x784]
mov dword [ebp - 0xd8], edx
mov eax, dword [ebp - 0x638]
shl eax, 0x11
xor ecx, ecx
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xe0], ecx
push 0
push 0
mov edx, dword [ebp - 0xe0]
push edx
mov eax, dword [ebp - 0xe4]
push eax
mov ecx, dword [ebp - 0x548]
push ecx
call dword [sym.imp.KERNEL32.dll_SetFilePointerEx]
push 0
lea edx, [ebp - 0x590]
push edx
push 0
push 0x20000
mov eax, dword [ebp - 0x540]
push eax
mov ecx, dword [ebp - 0x544]
push ecx
call fcn.004c0530
push eax
mov edx, dword [ebp - 0xd8]
push edx
mov eax, dword [ebp - 0x548]
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
push 0
push 0x20000
mov ecx, dword [ebp - 0x540]
push ecx
mov edx, dword [ebp - 0x544]
push edx
call fcn.004c0530
mov dword [ebp - 0x568], eax
push 0xa
lea eax, [ebp - 0x53c]
push eax
mov ecx, dword [ebp - 0x638]
push ecx
call fcn.004e8ff0
add esp, 0xc
push 0x1c
lea edx, [ebp - 0x58c]
push edx
lea ecx, [ebp - 0xb8]
call fcn.00402bd0
lea edx, [ebp - 0x53c]
mov ecx, eax
call fcn.00489de0
push 0x14
lea eax, [ebp - 0x58c]
push eax
lea ecx, [ebp - 0x694]
push ecx
call fcn.00477b00
add esp, 0xc
mov dword [ebp - 0x788], eax
mov edx, dword [ebp - 0x788]
mov dword [ebp - 0x78c], edx
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0x78c]
push eax
lea ecx, [ebp - 0x98]
call fcn.00405f40
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x694]
call fcn.00402bb0
push str.user_uploadpiece.ashx_
lea ecx, [ebp - 0x120]
push ecx
lea edx, [ebp - 0x6b0]
push edx
call fcn.0040b3f0
add esp, 0xc
mov dword [ebp - 0x790], eax
mov eax, dword [ebp - 0x790]
mov dword [ebp - 0x794], eax
mov byte [ebp - 4], 0xd
mov ecx, dword [ebp - 0x794]
push ecx
lea ecx, [ebp - 0x564]
call fcn.00405f40
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x6b0]
call fcn.00402bb0
push str.appid
lea ecx, [ebp - 0x564]
call fcn.004093e0
lea edx, [ebp - 0x6cc]
push edx
mov eax, dword [ebp - 0x75c]
mov ecx, dword [eax + 0x29c]
mov edx, dword [ebp - 0x75c]
mov eax, dword [edx + 0x29c]
mov edx, dword [ecx]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
mov dword [ebp - 0x798], eax
mov ecx, dword [ebp - 0x798]
mov dword [ebp - 0x79c], ecx
mov byte [ebp - 4], 0xe
mov edx, dword [ebp - 0x79c]
push edx
lea ecx, [ebp - 0x564]
call fcn.004093b0
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x6cc]
call fcn.00402bb0
push 0x4f2a04
lea ecx, [ebp - 0x564]
call fcn.004093e0
lea eax, [ebp - 0x6e8]
push eax
mov ecx, dword [ebp - 0x75c]
mov edx, dword [ecx + 0x29c]
mov eax, dword [ebp - 0x75c]
mov ecx, dword [eax + 0x29c]
mov edx, dword [edx]
mov eax, dword [edx + 0x10]
call eax
mov dword [ebp - 0x7a0], eax
mov ecx, dword [ebp - 0x7a0]
mov dword [ebp - 0x7a4], ecx
mov byte [ebp - 4], 0xf
mov edx, dword [ebp - 0x7a4]
push edx
lea ecx, [ebp - 0x564]
call fcn.004093b0
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x6e8]
call fcn.00402bb0
push 0x4f29f8
lea ecx, [ebp - 0x564]
call fcn.004093e0
lea eax, [ebp - 0x100]
push eax
lea ecx, [ebp - 0x564]
call fcn.004093b0
push str.piecenumber
lea ecx, [ebp - 0x564]
call fcn.004093e0
lea ecx, [ebp - 0x53c]
push ecx
lea ecx, [ebp - 0x564]
call fcn.004093e0
push 0x4f29e0
lea ecx, [ebp - 0x564]
call fcn.004093e0
lea edx, [ebp - 0x13c]
push edx
lea ecx, [ebp - 0x564]
call fcn.004093b0
push str.signature
lea ecx, [ebp - 0x564]
call fcn.004093e0
lea eax, [ebp - 0x98]
push eax
lea ecx, [ebp - 0x564]
call fcn.004093b0
push 0x16c
call fcn.004bff01
add esp, 4
mov dword [ebp - 0x6f0], eax
mov byte [ebp - 4], 0x10
cmp dword [ebp - 0x6f0], 0
je 0x47b845
push 0
lea edx, [ebp - 0x564]
lea ecx, [ebp - 0x70c]
call fcn.00487390
mov dword [ebp - 0x7a8], eax
mov ecx, dword [ebp - 0x7a8]
mov dword [ebp - 0x7ac], ecx
mov byte [ebp - 4], 0x11
mov edx, dword [ebp - 0x758]
or edx, 2
mov dword [ebp - 0x758], edx
mov eax, dword [ebp - 0x7ac]
push eax
mov ecx, dword [ebp - 0x6f0]
call fcn.0047bba0
mov dword [ebp - 0x7b0], eax
jmp 0x47b84f
mov dword [ebp - 0x7b0], 0
mov ecx, dword [ebp - 0x7b0]
mov dword [ebp - 0x6ec], ecx
mov dword [ebp - 4], 0x12
mov edx, dword [ebp - 0x6ec]
push edx
lea ecx, [ebp - 0x63c]
call fcn.00481160
mov dword [ebp - 4], 0x14
mov eax, dword [ebp - 0x758]
and eax, 2
je 0x47b898
and dword [ebp - 0x758], 0xfffffffd
lea ecx, [ebp - 0x70c]
call fcn.00480cf0
mov ecx, dword [ebp - 0x568]
push ecx
mov edx, dword [ebp - 0xd8]
push edx
lea ecx, [ebp - 0x63c]
call fcn.004bcb10
mov ecx, eax
call fcn.0047dc50
mov eax, dword [ebp - 0x568]
push eax
push 0x4f29cc
lea ecx, [ebp - 0x7c]
push ecx
call fcn.00485c60
add esp, 0xc
push 0x4f29a8
lea ecx, [ebp - 0xd4]
call fcn.00480d30
lea edx, [ebp - 0x7c]
push edx
lea ecx, [ebp - 0xd4]
call fcn.00480d70
push 0x4f2940
lea ecx, [ebp - 0xd4]
call fcn.00480d70
lea eax, [ebp - 0xd4]
push eax
lea ecx, [ebp - 0x63c]
call fcn.004bcb10
mov ecx, eax
call fcn.0047dd00
push 0x4f2934
lea ecx, [ebp - 0x728]
call fcn.00480c70
mov byte [ebp - 4], 0x15
push 0
lea ecx, [ebp - 0x728]
push ecx
lea ecx, [ebp - 0x63c]
call fcn.004bcb10
mov ecx, eax
call fcn.0047bd80
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x728]
call fcn.00480cf0
lea edx, [ebp - 0x744]
push edx
lea ecx, [ebp - 0x63c]
call fcn.004bcb10
mov ecx, eax
call fcn.0047da20
lea ecx, [ebp - 0x744]
call fcn.00480cf0
push 0x47bb80
push 0x4f2930
mov eax, dword [ebp - 0x568]
imul eax, dword [ebp - 0x638]
xor ecx, ecx
push 0
push 0x400
push ecx
push eax
call fcn.004c05f0
push edx
push eax
push str.Total_Sent:
push 0x522b20
call fcn.0040f920
add esp, 8
mov ecx, eax
call fcn.004806f0
push eax
call fcn.0040f920
add esp, 8
mov ecx, eax
call fcn.004806d0
mov edx, dword [ebp - 0x638]
add edx, 1
mov dword [ebp - 0x638], edx
mov byte [ebp - 4], 0xb
lea ecx, [ebp - 0x63c]
call fcn.00481eb0
jmp 0x47b3db
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x748], eax
mov ecx, dword [ebp - 0x748]
push ecx
call fcn.004c0415
add esp, 4
mov dword [ebp - 0xd8], 0
mov edx, dword [ebp - 0x104]
mov dword [ebp - 0x74c], edx
mov eax, dword [ebp - 0x74c]
push eax
call fcn.004c0415
add esp, 4
mov dword [ebp - 0x104], 0
mov ecx, dword [ebp - 0x548]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x750], esp
lea edx, [ebp - 0x120]
push edx
call fcn.00402b70
mov dword [ebp - 0x7b4], eax
mov eax, dword [ebp - 0x7b4]
mov dword [ebp - 0x7b8], eax
mov byte [ebp - 4], 0x16
sub esp, 0x1c
mov ecx, esp
mov dword [ebp - 0x754], esp
lea edx, [ebp + 0xc]
push edx
call fcn.00402b70
mov dword [ebp - 0x7bc], eax
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x75c]
mov edx, dword [ecx + 0x29c]
mov eax, dword [ebp - 0x75c]
mov ecx, dword [eax + 0x29c]
mov edx, dword [edx]
mov byte [ebp - 4], 0xb
mov eax, dword [edx + 0x54]
call eax
mov dword [ebp - 0x7c0], eax
mov ecx, dword [ebp - 0x758]
or ecx, 1
mov dword [ebp - 0x758], ecx
mov byte [ebp - 4], 0xa
lea ecx, [ebp - 0xd4]
call fcn.00480cf0
mov byte [ebp - 4], 9
lea ecx, [ebp - 0x13c]
call fcn.00402bb0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x564]
call fcn.00402bb0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x98]
call fcn.00402bb0
mov byte [ebp - 4], 5
lea ecx, [ebp - 0xb8]
call fcn.00402bb0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x120]
call fcn.00402bb0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x100]
call fcn.00402bb0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x634]
call fcn.0047db70
mov byte [ebp - 4], 1
lea ecx, [ebp + 0xc]
call fcn.00402bb0
mov byte [ebp - 4], 0
lea ecx, [ebp + 0x28]
call fcn.00402bb0
mov eax, dword [ebp + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.004be1d6
mov esp, ebp
pop ebp
ret 0x3c