Function at 0x4b7db0
Capabilities:
Get file size

Disassembly:
sub esp, 0x40
push ebx
push ebp
push esi
push edi
mov edi, eax
call fcn.004b8100
mov eax, dword [esp + 0x54]
xor ebp, ebp
push ebp
push ebp
push 3
push ebp
push 1
push closesocket
push eax
lea esi, [edi + 0x50]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
mov eax, dword [esi]
cmp ebx, eax
je 0x4b7dee
cmp eax, 0xffffffff
je 0x4b7dee
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi], ebx
cmp ebx, 0xffffffff
je 0x4b80e0
mov eax, ebx
call fcn.004d0b60
test al, al
je 0x4b80e0
mov esi, dword [esi]
cmp esi, 0xffffffff
je 0x4b7e37
lea ecx, [esp + 0x2c]
push ecx
push esi
mov dword [esp + 0x30], ebp
mov dword [esp + 0x34], ebp
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], eax
jmp 0x4b7e43
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ebp
mov eax, ebp
mov esi, ebp
mov ebx, dword [edi + 0x58]
xor edx, edx
xor ecx, ecx
mov dword [esp + 0x38], ebx
cmp eax, ebp
jb 0x4b7e71
ja 0x4b7e59
cmp esi, 8
jb 0x4b7e71
mov edx, dword [ebx]
mov ecx, dword [ebx + 4]
mov ebp, esi
add ebp, 0xfffffff8
mov esi, eax
adc esi, 0xffffffff
add ebx, 8
mov dword [esp + 0x38], ebx
jmp 0x4b7e73
xor esi, esi
mov dword [edi + 0x48], edx
xor edx, edx
mov dword [edi + 0x4c], ecx
test esi, esi
jb 0x4b7e97
ja 0x4b7e86
cmp ebp, 4
jb 0x4b7e97
mov edx, dword [ebx]
add ebp, 0xfffffffc
adc esi, 0xffffffff
add ebx, 4
mov dword [esp + 0x38], ebx
jmp 0x4b7e9b
xor ebp, ebp
xor esi, esi
mov ecx, dword [esp + 0x20]
sub ecx, ebp
sbb eax, esi
add ecx, 0xfffffff4
mov dword [edi + 0x38], edx
mov dword [edi + 0x3c], 0
mov edx, dword [edi + 0x3c]
adc eax, 0xffffffff
cmp edx, eax
jb 0x4b7f9b
ja 0x4b7ed0
mov eax, dword [edi + 0x38]
cmp eax, ecx
jbe 0x4b7f9b
jmp 0x4b7ed0
mov dword [esp + 0x54], 0
test esi, esi
jb 0x4b7f04
ja 0x4b7ee3
cmp ebp, 1
jb 0x4b7f04
mov eax, ebx
mov dword [esp + 0x54], ebx
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b7ef0
sub eax, edx
inc eax
xor ecx, ecx
sub ebp, eax
sbb esi, ecx
add ebx, eax
jmp 0x4b7f08
xor ebp, ebp
xor esi, esi
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x1c], ecx
mov ecx, dword [edi + 0xc]
test ecx, ecx
jne 0x4b7f1d
mov dword [esp + 0x14], ecx
jmp 0x4b7f29
mov eax, dword [edi + 0x14]
sub eax, ecx
sar eax, 2
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0x10]
mov edx, eax
sub edx, ecx
sar edx, 2
mov dword [esp + 0x18], eax
cmp edx, dword [esp + 0x14]
jae 0x4b7f4b
mov ecx, dword [esp + 0x54]
mov dword [eax], ecx
add eax, 4
mov dword [edi + 0x10], eax
jmp 0x4b7f6d
cmp ecx, eax
jbe 0x4b7f58
call fcn.0059471a
mov eax, dword [esp + 0x18]
mov ecx, dword [edi]
push eax
push ecx
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x3c]
push eax
mov eax, edi
call fcn.004b9d60
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov edx, dword [edi + 0x3c]
sub ecx, ebp
sbb eax, esi
add ecx, 0xfffffff4
adc eax, 0xffffffff
cmp edx, eax
ja 0x4b7ed0
jb 0x4b7f97
mov eax, dword [edi + 0x38]
cmp eax, ecx
ja 0x4b7ed0
mov dword [esp + 0x38], ebx
xor eax, eax
test esi, esi
jb 0x4b7fb9
ja 0x4b7fa8
cmp ebp, 4
jb 0x4b7fb9
mov eax, dword [ebx]
add ebp, 0xfffffffc
adc esi, 0xffffffff
add ebx, 4
mov dword [esp + 0x38], ebx
jmp 0x4b7fbd
xor ebp, ebp
xor esi, esi
mov ecx, dword [esp + 0x20]
sub ecx, dword [edi + 0x38]
mov dword [edi + 0x40], eax
mov eax, dword [esp + 0x24]
sbb eax, dword [edi + 0x3c]
sub ecx, ebp
sbb eax, esi
add ecx, 0xfffffff0
mov dword [edi + 0x44], 0
mov edx, dword [edi + 0x44]
adc eax, 0xffffffff
cmp edx, eax
jb 0x4b80c7
ja 0x4b8004
mov eax, dword [edi + 0x40]
cmp eax, ecx
jbe 0x4b80c7
jmp 0x4b8004
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x54], 0
test esi, esi
jb 0x4b8038
ja 0x4b8017
cmp ebp, 1
jb 0x4b8038
mov eax, ebx
mov dword [esp + 0x54], ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4b8020
sub eax, edx
inc eax
xor ecx, ecx
sub ebp, eax
sbb esi, ecx
add ebx, eax
mov dword [esp + 0x38], ebx
jmp 0x4b803c
xor ebp, ebp
xor esi, esi
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x1c], ecx
mov ecx, dword [edi + 0x24]
test ecx, ecx
jne 0x4b804f
xor eax, eax
jmp 0x4b8057
mov eax, dword [edi + 0x2c]
sub eax, ecx
sar eax, 2
mov ebx, dword [edi + 0x28]
mov edx, ebx
sub edx, ecx
sar edx, 2
cmp edx, eax
jae 0x4b8073
mov eax, dword [esp + 0x54]
mov dword [ebx], eax
add ebx, 4
mov dword [edi + 0x28], ebx
jmp 0x4b8093
cmp ecx, ebx
jbe 0x4b807c
call fcn.0059471a
mov ecx, dword [edi + 0x18]
lea eax, [edi + 0x18]
push ebx
push ecx
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x3c]
push edx
call fcn.004b9d60
mov ecx, dword [esp + 0x20]
sub ecx, dword [edi + 0x38]
mov eax, dword [esp + 0x24]
sbb eax, dword [edi + 0x3c]
mov edx, dword [edi + 0x44]
sub ecx, ebp
sbb eax, esi
add ecx, 0xfffffff0
adc eax, 0xffffffff
cmp edx, eax
ja 0x4b8000
jb 0x4b80c3
mov eax, dword [edi + 0x40]
cmp eax, ecx
ja 0x4b8000
mov ebx, dword [esp + 0x38]
or ebp, esi
jne 0x4b80cd
xor ebx, ebx
mov dword [edi + 0x30], ebx
test ebx, ebx
je 0x4b80e0
mov al, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x40
ret 4
call fcn.004b8100
pop edi
pop esi
pop ebp
xor al, al
pop ebx
add esp, 0x40
ret 4