Function at 0x5ca7db
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
lea eax, [ebp - 8]
push eax
push dword [ebp + 8]
call dword [sym.imp.kernel32.dll_GetFileSize]
nop
nop
nop
nop
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jle 0x5ca828
cmp dword [ebp - 8], 0
jge 0x5ca828
mov eax, 1
jmp 0x5ca82d
mov eax, 0
test eax, eax
je 0x5ca843
mov eax, dword [ebp - 4]
cdq
jmp 0x5caa6b
cmp dword [ebp - 8], 0
jle 0x5ca98d
push 0x80000301
push 0
push dword [ebp - 4]
push 1
mov ebx, 0x198
call fcn.005ea110
add esp, 0x10
mov dword [ebp - 0x10], eax
push 0x80000301
push 0
push dword [ebp - 8]
push 1
mov ebx, 0x198
call fcn.005ea110
add esp, 0x10
mov dword [ebp - 0x14], eax
push dword [ebp - 0x14]
push dword [ebp - 0x10]
mov ecx, 2
call fcn.0054e83e
add esp, 8
mov dword [ebp - 0x18], eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x5ca8b1
push ebx
call fcn.005e71d0
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x5ca8c1
push ebx
call fcn.005e71d0
add esp, 4
mov eax, dword [ebp - 0x18]
push eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x5ca8d5
push ebx
call fcn.005e71d0
add esp, 4
pop eax
mov dword [ebp - 0xc], eax
push 0
push 0
push 0
push 0x80000301
push 0
push 4
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0xc]
test eax, eax
jne 0x5ca8fe
mov eax, 0xf6f612
push eax
push 3
mov ebx, 0x19c
call fcn.005ea360
add esp, 0x28
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
cmp ecx, 0x80000101
jne 0x5ca934
and eax, 0xff
xor edx, edx
jmp 0x5ca983
cmp ecx, 0x80000201
jne 0x5ca940
cwde
cdq
jmp 0x5ca983
cmp ecx, 0x80000301
jne 0x5ca94b
cdq
jmp 0x5ca983
cmp ecx, 0x80000401
je 0x5ca983
mov dword [ebp - 0x20], eax
cmp ecx, 0x80000501
je 0x5ca973
cmp ecx, 0x80000601
je 0x5ca978
push 2
call fcn.005e71e8
add esp, 4
fld dword [ebp - 0x20]
jmp 0x5ca97e
mov dword [ebp - 0x1c], edx
fld qword [ebp - 0x20]
call fcn.0054ab51
jmp 0x5caa6b
push 0x80000301
push 0
push dword [ebp - 4]
push 1
mov ebx, 0x198
call fcn.005ea110
add esp, 0x10
mov dword [ebp - 0x10], eax
push 0
push 0
push 0
push 0x80000301
push 0
push 4
push reloc.WS2_32.dll_getpeername
push 0
mov eax, dword [ebp - 0x10]
test eax, eax
jne 0x5ca9d1
mov eax, 0xf6f612
push eax
push 3
mov ebx, 0x19c
call fcn.005ea360
add esp, 0x28
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], edx
mov dword [ebp - 0x14], ecx
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x5ca9fd
push ebx
call fcn.005e71d0
add esp, 4
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
cmp ecx, 0x80000101
jne 0x5caa17
and eax, 0xff
xor edx, edx
jmp 0x5caa66
cmp ecx, 0x80000201
jne 0x5caa23
cwde
cdq
jmp 0x5caa66
cmp ecx, 0x80000301
jne 0x5caa2e
cdq
jmp 0x5caa66
cmp ecx, 0x80000401
je 0x5caa66
mov dword [ebp - 0x24], eax
cmp ecx, 0x80000501
je 0x5caa56
cmp ecx, 0x80000601
je 0x5caa5b
push 2
call fcn.005e71e8
add esp, 4
fld dword [ebp - 0x24]
jmp 0x5caa61
mov dword [ebp - 0x20], edx
fld qword [ebp - 0x24]
call fcn.0054ab51
jmp 0x5caa6b
push edx
push eax
mov ebx, dword [ebp - 0xc]
test ebx, ebx
je 0x5caa7d
push ebx
call fcn.005e71d0
add esp, 4
pop eax
pop edx
mov esp, ebp
pop ebp
ret 4