Function at 0x10022700
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100980ea
mov eax, dword fs:[0]
push eax
mov eax, 0x4230
call fcn.10078fc0
mov eax, dword [0x100b4208]
xor eax, ebp
mov dword [ebp - 0x10], eax
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x4210], ecx
push str._Upload_CFTPStorage__UAE_KPB_W00PAU_FSC_STOR_FILE_DATA__PAVIStorageIOProImp___Z
lea ecx, [ebp - 0x80]
call fcn.1001fa20
mov dword [ebp - 4], 0
mov dword [ebp - 0x40ac], 0x28d0001
mov dword [ebp - 0x40a8], 0
mov dword [ebp - 0x5c], 0
lea ecx, [ebp - 0x58]
call fcn.1000c800
mov byte [ebp - 4], 1
xor eax, eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x40a4], 0
push 0x4018
push 0
lea ecx, [ebp - 0x40a0]
push ecx
call fcn.10075220
add esp, 0xc
mov edx, dword [ebp - 0x4210]
add edx, 0x5238
push edx
lea ecx, [ebp - 0x60]
call fcn.10027f60
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x40c8]
call fcn.1000c800
mov byte [ebp - 4], 3
mov eax, dword [ebp + 8]
push eax
push str.CFTPStorage::Upload_local_s
call fcn.1001f0f0
add esp, 8
mov ecx, dword [ebp + 0xc]
push ecx
push str.CFTPStorage::Upload_toFileID_s
call fcn.1001f0f0
add esp, 8
mov edx, dword [ebp + 0x10]
push edx
push str.CFTPStorage::Upload_wzNewName_s
call fcn.1001f0f0
add esp, 8
cmp dword [ebp + 8], 0
jne 0x1002285e
mov dword [ebp - 0x40ac], 0x29e0002
mov dword [ebp - 0x40a8], 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0
push 0x29e0002
push 0x29e
push 0x100aa12c
push 0x100aa140
call fcn.1001f0f0
add esp, 0x18
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x40c8]
call fcn.10005b60
jmp 0x10022e2c
lea ecx, [ebp - 0x40e4]
call fcn.1000c800
mov byte [ebp - 4], 4
mov eax, dword [ebp + 0xc]
push eax
call fcn.1001f220
add esp, 4
movzx ecx, al
test ecx, ecx
je 0x10022892
push 0x100aa1ac
lea ecx, [ebp - 0x40e4]
call fcn.1000ca60
jmp 0x100228df
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x41e8]
push eax
mov ecx, dword [ebp - 0x4210]
call fcn.10020f60
mov dword [ebp - 0x4214], eax
mov ecx, dword [ebp - 0x4214]
mov dword [ebp - 0x4218], ecx
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x4218]
push edx
lea ecx, [ebp - 0x40e4]
call fcn.1000c9c0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x41e8]
call fcn.10005b60
mov eax, dword [ebp + 0x10]
push eax
call fcn.1001f220
add esp, 4
movzx ecx, al
test ecx, ecx
je 0x10022936
mov edx, dword [ebp + 0xc]
mov dword [ebp + 0x10], edx
push 0x5c
mov eax, dword [ebp + 0xc]
push eax
call fcn.10074314
add esp, 8
mov dword [ebp - 0x411c], eax
cmp dword [ebp - 0x411c], 0
je 0x1002292d
mov ecx, dword [ebp - 0x411c]
add ecx, 2
mov dword [ebp - 0x411c], ecx
mov edx, dword [ebp - 0x411c]
mov dword [ebp + 0x10], edx
mov dword [ebp + 0xc], 0x100aa1b0
jmp 0x10022965
push 0x100aa1b4
lea ecx, [ebp - 0x40e4]
call fcn.1000ca60
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x40e4]
call fcn.1000cb10
push 0x100aa1b8
lea ecx, [ebp - 0x40e4]
call fcn.1000cb10
push 0
push 0x80
push 3
push 0
push 3
push connect
mov ecx, dword [ebp + 8]
push ecx
call fcn.100200f0
add esp, 0x1c
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x5c], 0
je 0x10022992
cmp dword [ebp - 0x5c], 0xffffffff
jne 0x100229ee
mov dword [ebp - 0x40ac], 0x2c6000a
mov dword [ebp - 0x40a8], 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0
push 0x2c6000a
push 0x2c6
push 0x100aa1bc
push 0x100aa1d0
call fcn.1001f0f0
add esp, 0x18
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x40e4]
call fcn.10005b60
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x40c8]
call fcn.10005b60
jmp 0x10022e2c
push 0x5c
lea ecx, [ebp - 0x40e4]
call fcn.10023500
lea edx, [ebp - 0x40e4]
push edx
lea ecx, [ebp - 0x40c8]
call fcn.1000c9c0
push 0x100aa23c
lea ecx, [ebp - 0x40c8]
call fcn.1000cb10
mov eax, dword [ebp + 0x10]
push eax
lea ecx, [ebp - 0x40c8]
call fcn.1000cb10
lea ecx, [ebp - 0x40c8]
call fcn.10002c80
push eax
lea ecx, [ebp - 0x4204]
push ecx
mov ecx, dword [ebp - 0x4210]
call fcn.10021770
mov dword [ebp - 0x421c], eax
mov edx, dword [ebp - 0x421c]
mov dword [ebp - 0x4220], edx
mov byte [ebp - 4], 6
mov eax, dword [ebp - 0x4220]
push eax
lea ecx, [ebp - 0x40c8]
call fcn.1000c9c0
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x4204]
call fcn.10005b60
mov ecx, dword [ebp + 8]
push ecx
lea ecx, [ebp - 0x58]
call fcn.1000ca60
mov edx, dword [ebp + 0x18]
mov dword [ebp - 0x3c], edx
mov byte [ebp - 0x24], 0
lea eax, [ebp - 0x34]
push eax
mov ecx, dword [ebp - 0x5c]
push ecx
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
jne 0x10022b05
mov dword [ebp - 0x40ac], 0x2cf000a
mov dword [ebp - 0x40a8], 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0
push 0x2cf000a
push 0x2cf
push 0x100aa240
push 0x100aa258
call fcn.1001f0f0
add esp, 0x18
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x40e4]
call fcn.10005b60
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x40c8]
call fcn.10005b60
jmp 0x10022e2c
push 0x10020180
lea ecx, [ebp - 0x40c8]
call fcn.10002c80
push eax
mov edx, dword [ebp - 0x30]
push edx
mov eax, dword [ebp - 0x34]
push eax
lea ecx, [ebp - 0x5c]
push ecx
mov ecx, dword [ebp - 0x4210]
add ecx, 0x4744
call fcn.100098b0
mov dword [ebp - 0x40ac], eax
mov dword [ebp - 0x40a8], edx
cmp dword [ebp + 0x18], 0
je 0x10022b78
mov edx, dword [ebp - 0x40a8]
push edx
mov eax, dword [ebp - 0x40ac]
push eax
mov ecx, dword [ebp - 0x30]
push ecx
mov edx, dword [ebp - 0x34]
push edx
mov eax, dword [ebp - 0x28]
push eax
mov ecx, dword [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0x58]
call fcn.10002c80
push eax
mov edx, dword [ebp + 0x18]
mov eax, dword [edx]
mov ecx, dword [ebp + 0x18]
mov edx, dword [eax]
call edx
mov eax, dword [ebp - 0x40ac]
and eax, 0xffff
mov ecx, dword [ebp - 0x40a8]
and ecx, 0
mov dword [ebp - 0x4228], eax
mov dword [ebp - 0x4224], ecx
mov edx, dword [ebp - 0x4228]
or edx, dword [ebp - 0x4224]
je 0x10022bc9
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x40e4]
call fcn.10005b60
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x40c8]
call fcn.10005b60
jmp 0x10022e2c
push 0x34
push 0
lea eax, [ebp - 0x4118]
push eax
call fcn.10075220
add esp, 0xc
lea ecx, [ebp - 0x4118]
push ecx
mov edx, dword [ebp - 0x5c]
push edx
call dword [sym.imp.KERNEL32.dll_GetFileInformationByHandle]
test eax, eax
je 0x10022d07
lea eax, [ebp - 0x41cc]
push eax
lea ecx, [ebp - 0x4104]
push ecx
call dword [sym.imp.KERNEL32.dll_FileTimeToSystemTime]
xor edx, edx
mov word [ebp - 0x41bc], dx
push 0x62
push 0
lea eax, [ebp - 0x41ba]
push eax
call fcn.10075220
add esp, 0xc
movzx ecx, word [ebp - 0x41c0]
push ecx
movzx edx, word [ebp - 0x41c2]
push edx
movzx eax, word [ebp - 0x41c4]
push eax
movzx ecx, word [ebp - 0x41c6]
push ecx
movzx edx, word [ebp - 0x41ca]
push edx
movzx eax, word [ebp - 0x41cc]
push eax
push str._04u_02u_02u_02u_02u_02u
push 0x32
lea ecx, [ebp - 0x41bc]
push ecx
call fcn.100740dd
add esp, 0x24
push str.MFMT
lea ecx, [ebp - 0x4154]
call fcn.1000c940
mov byte [ebp - 4], 7
lea edx, [ebp - 0x41bc]
push edx
lea ecx, [ebp - 0x4154]
call fcn.1000cb10
push 0x100aa304
lea ecx, [ebp - 0x4154]
call fcn.1000cb10
lea eax, [ebp - 0x40c8]
push eax
lea ecx, [ebp - 0x4154]
call fcn.1000caa0
lea ecx, [ebp - 0x4138]
call fcn.1000c800
mov byte [ebp - 4], 8
push 0
push 0
push 0
push 0
lea ecx, [ebp - 0x4138]
push ecx
lea edx, [ebp - 0x4154]
push edx
mov ecx, dword [ebp - 0x4210]
add ecx, 0x4744
call fcn.1000a7d0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x4138]
call fcn.10005b60
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x4154]
call fcn.10005b60
mov eax, dword [ebp + 0x14]
push eax
lea ecx, [ebp - 0x40c8]
call fcn.10002c80
push eax
mov ecx, dword [ebp - 0x4210]
call fcn.10021870
mov dword [ebp - 0x40ac], eax
mov dword [ebp - 0x40a8], edx
mov ecx, dword [ebp - 0x40ac]
and ecx, 0xffff
mov edx, dword [ebp - 0x40a8]
and edx, 0
mov dword [ebp - 0x4230], ecx
mov dword [ebp - 0x422c], edx
mov eax, dword [ebp - 0x4230]
or eax, dword [ebp - 0x422c]
je 0x10022d80
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x40e4]
call fcn.10005b60
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x40c8]
call fcn.10005b60
jmp 0x10022e2c
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0x4234], ecx
mov edx, dword [ebp - 0x4234]
mov eax, dword [ebp - 0x30]
cmp eax, dword [edx + 0x4018]
jb 0x10022e06
ja 0x10022dad
mov ecx, dword [ebp - 0x4234]
mov edx, dword [ebp - 0x34]
cmp edx, dword [ecx + 0x4014]
jbe 0x10022e06
mov dword [ebp - 0x40ac], 0x2f10051
mov dword [ebp - 0x40a8], 0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push 0
push 0x2f10051
push 0x2f1
push 0x100aa308
push 0x100aa320
call fcn.1001f0f0
add esp, 0x18
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x40e4]
call fcn.10005b60
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x40c8]
call fcn.10005b60
jmp 0x10022e2c
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x40e4]
call fcn.10005b60
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x40c8]
call fcn.10005b60
xor eax, eax
jne 0x100227c9
cmp dword [ebp - 0x5c], 0
je 0x10022e42
cmp dword [ebp - 0x5c], 0xffffffff
je 0x10022e42
mov ecx, dword [ebp - 0x5c]
push ecx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov edx, dword [ebp - 0x1c]
and edx, 0xffff
mov eax, dword [ebp - 0x18]
and eax, 0
mov dword [ebp - 0x423c], edx
mov dword [ebp - 0x4238], eax
mov ecx, dword [ebp - 0x423c]
or ecx, dword [ebp - 0x4238]
je 0x10022e7d
mov edx, dword [ebp - 0x1c]
mov dword [ebp - 0x40ac], edx
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x40a8], eax
mov ecx, dword [ebp - 0x40ac]
mov dword [ebp - 0x420c], ecx
mov edx, dword [ebp - 0x40a8]
mov dword [ebp - 0x4208], edx
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x60]
call fcn.10027f90
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x5c]
call fcn.100062d0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x80]
call fcn.1001fab0
mov eax, dword [ebp - 0x420c]
mov edx, dword [ebp - 0x4208]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10073b34
mov esp, ebp
pop ebp
ret 0x14