Function at 0x75bb740e
Capabilities:
Get file size

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x248
mov eax, dword [0x75bc8d18]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
mov esi, ecx
mov eax, dword [esi + 0x10]
mov ecx, dword [eax]
push 4
push eax
call dword [ecx + 0x1c]
xor edi, edi
mov dword [ebp - 0x230], eax
cmp dword [esi + 0xc], edi
je 0x75bb79d1
or dword [esi + 0x1c], 0xffffffff
push 0xc00
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x228], edi
call fcn.759da627
cmp dword [ebp - 0x14], edi
jne 0x75bb7480
push 0x11
call fcn.75a203dc
pop ecx
mov esi, eax
cmp dword [ebp - 0x10], 1
jle 0x75bb7479
push dword [ebp - 0x14]
call fcn.759c6f79
pop ecx
mov eax, esi
jmp 0x75bb7a6d
mov eax, dword [esi + 0xc]
mov ecx, dword [eax]
push eax
mov dword [ebp - 0x238], edi
call dword [ecx + 0x1c]
mov ecx, dword [eax]
push eax
mov dword [ebp - 0x22c], eax
call dword [ecx + 0x30]
shr eax, 3
and al, 1
test dword [ebp - 0x230], 0x8000
mov byte [ebp - 0x221], al
mov edi, 0x759c2dec
je 0x75bb75cf
mov eax, dword [esi + 0x3c]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x1c]
mov ebx, eax
mov eax, dword [ebx]
push ebx
call dword [eax + 0x30]
shr eax, 3
and al, 1
mov byte [ebp - 0x231], al
mov eax, dword [ebx]
push ebx
call dword [eax + 8]
mov eax, dword [esi + 0x28]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x20]
push eax
call fcn.75b675cc
cmp byte [ebp - 0x231], 0
pop ecx
je 0x75bb75cf
cmp byte [ebp - 0x221], 0
je 0x75bb75cf
test al, al
jne 0x75bb75cf
mov eax, dword [esi + 0x10]
mov ecx, dword [eax]
push 0xc
push eax
call dword [ecx + 0x10]
test eax, eax
je 0x75bb75cf
xor ebx, ebx
inc ebx
push ebx
lea ecx, [ebp - 0x244]
call fcn.759b87f0
xor eax, eax
mov dword [ebp - 0x238], ebx
mov dword [ebp - 0x228], eax
cmp dword [0x75bc8ca8], eax
je 0x75bb7560
push eax
push eax
push edi
push edi
push edi
push edi
push edi
push edi
push 0x75bb7aac
push eax
push eax
push 0xa
call fcn.759de326
add esp, 0x30
mov eax, dword [esi + 0x28]
mov dword [ebp - 0xc], ebx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x20]
lea ecx, [ebp - 0x228]
push ecx
lea ecx, [ebp - 0x14]
push ecx
push 0xf
push eax
call fcn.759da881
add esp, 0x10
test al, al
jne 0x75bb75c4
mov esi, dword [esi + 0x28]
mov eax, dword [esi]
push esi
call dword [eax + 0x20]
push eax
push dword [ebp - 0x228]
push 0x52e
call fcn.75a207b8
add esp, 0xc
lea ecx, [ebp - 0x244]
mov esi, eax
call fcn.759b87d1
mov eax, dword [ebp - 0x22c]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp dword [ebp - 0x10], ebx
jmp 0x75bb746e
lea ecx, [ebp - 0x244]
call fcn.759b87d1
mov eax, dword [ebp - 0x230]
and eax, 7
mov ebx, eax
mov eax, dword [esi + 0x24]
mov ecx, dword [eax]
push eax
mov dword [ebp - 0x240], ebx
call dword [ecx + 0x20]
push eax
call fcn.75b675cc
pop ecx
mov byte [ebp - 0x230], al
test al, al
je 0x75bb7603
call fcn.759d82c4
mov byte [esi + 0x2c], 1
and dword [ebp - 0x228], 0
cmp byte [ebp - 0x221], 0
je 0x75bb77ec
mov eax, dword [esi + 0x10]
mov ecx, dword [eax]
push 0xc
push eax
call dword [ecx + 0x10]
test eax, eax
je 0x75bb7633
cmp dword [ebp - 0x238], 0
je 0x75bb77ec
lea ecx, [ebp - 0x220]
call fcn.759da5d4
cmp dword [ebp - 0x220], 0
jne 0x75bb767a
push 0x11
call fcn.75a203dc
cmp dword [ebp - 0x21c], 0x200
pop ecx
mov esi, eax
jle 0x75bb7669
push dword [ebp - 0x220]
call fcn.759c6f79
pop ecx
mov eax, dword [ebp - 0x22c]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x75bb746a
mov eax, dword [esi + 0x10]
mov ecx, dword [eax]
push 0xc
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x75bb7749
cmp dword [0x75bc8ca8], eax
je 0x75bb76ae
push eax
push eax
push edi
push edi
push edi
push edi
push edi
push edi
push 0x75bb7a7c
push eax
push eax
push 0xa
call fcn.759de326
add esp, 0x30
mov eax, dword [esi + 0x10]
mov ecx, dword [eax]
push 0xc
push eax
call dword [ecx + 0x20]
mov edi, eax
mov eax, dword [edi]
push edi
call dword [eax + 0x30]
mov eax, dword [edi]
push edi
call dword [eax + 0x10]
mov ebx, 0x200
cmp eax, ebx
mov dword [ebp - 0x23c], eax
jle 0x75bb7706
push eax
lea ecx, [ebp - 0x220]
call fcn.75a20f81
cmp dword [ebp - 0x220], 0
jne 0x75bb7706
push 0x11
call fcn.75a203dc
pop ecx
mov esi, eax
mov eax, dword [edi]
push edi
call dword [eax + 8]
cmp dword [ebp - 0x21c], ebx
jmp 0x75bb765b
push dword [ebp - 0x23c]
mov eax, dword [ebp - 0x220]
mov ecx, dword [edi]
push eax
push edi
mov dword [ebp - 0x238], eax
call dword [ecx + 0x18]
push dword [ebp - 0x220]
mov ebx, dword [sym.imp.ADVAPI32.dll_IsValidSecurityDescriptor]
call ebx
push dword [ebp - 0x238]
call ebx
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov ebx, dword [ebp - 0x240]
mov eax, dword [ebp - 0x238]
jmp 0x75bb774c
mov eax, dword [ebp - 0x14]
xor edi, edi
cmp byte [esi + 0x2c], 0
mov dword [ebp - 0x248], 0xc
mov dword [ebp - 0x244], eax
mov dword [ebp - 0x240], edi
je 0x75bb776f
call fcn.75acb233
mov eax, dword [esi + 0x10]
mov ecx, dword [eax]
push 9
push eax
call dword [ecx + 0x10]
test eax, eax
jne 0x75bb778b
mov eax, dword [esi + 0x10]
mov ecx, dword [eax]
push 9
push eax
call dword [ecx + 0x1c]
mov edi, eax
mov eax, dword [esi + 0x24]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x20]
push edi
push dword [ebp - 0x230]
lea ecx, [ebp - 0x248]
push ebx
push ecx
push eax
call fcn.75bb716b
add esp, 0x14
mov dword [esi + 0x1c], eax
cmp eax, 0xffffffff
jne 0x75bb77c0
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x228], eax
cmp byte [esi + 0x2c], 0
je 0x75bb77cb
call fcn.75acb23f
cmp dword [ebp - 0x21c], 0x200
jle 0x75bb7894
push dword [ebp - 0x220]
call fcn.759c6f79
pop ecx
jmp 0x75bb7894
cmp byte [esi + 0x2c], 0
je 0x75bb77f7
call fcn.75acb233
mov eax, dword [esi + 0x24]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x20]
xor edi, edi
push edi
or ebx, 0x100000
push ebx
push 2
push edi
push edi
push 0x40000000
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [esi + 0x1c], eax
cmp eax, 0xffffffff
je 0x75bb7877
push eax
call dword [sym.imp.KERNEL32.dll_GetFileType]
cmp eax, 3
je 0x75bb7833
cmp eax, 2
jne 0x75bb7877
cmp dword [0x75bc8ca8], edi
je 0x75bb7862
mov ecx, dword [esi + 0x24]
push edi
push edi
mov eax, 0x759b7ff8
push eax
push eax
push eax
push eax
push eax
mov eax, dword [ecx]
push ecx
call dword [eax + 0x20]
push eax
push 0x759fe368
push edi
push edi
push 9
call fcn.759c26bf
add esp, 0x30
push dword [esi + 0x1c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
or dword [esi + 0x1c], 0xffffffff
push 0x6e
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp dword [esi + 0x1c], 0xffffffff
jne 0x75bb7889
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x228], eax
cmp byte [esi + 0x2c], 0
je 0x75bb7894
call fcn.75acb23f
or ebx, 0xffffffff
cmp dword [esi + 0x1c], ebx
je 0x75bb78d2
push 0
push dword [esi + 0x20]
call dword [sym.imp.KERNEL32.dll_GetFileSize]
cmp eax, ebx
je 0x75bb78d2
cmp eax, 0x10000
jbe 0x75bb78d2
lea ecx, [ebp - 0x228]
push ecx
push eax
push dword [esi + 0x1c]
call fcn.75b66009
test al, al
jne 0x75bb78d2
push dword [esi + 0x1c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [esi + 0x1c], ebx
xor edi, edi
inc edi
cmp byte [ebp - 0x230], 0
je 0x75bb78e5
push edi
call fcn.759d07de
pop ecx
mov eax, dword [esi + 0x1c]
cmp eax, ebx
jne 0x75bb7997
cmp dword [ebp - 0x228], 5
jne 0x75bb795e
cmp byte [ebp - 0x230], 0
je 0x75bb7907
call fcn.759d82c4
mov eax, dword [esi + 0x24]
mov ecx, dword [eax]
push eax
call dword [ecx + 0x20]
push eax
call fcn.759b5427
cmp byte [ebp - 0x230], 0
mov ebx, eax
je 0x75bb7928
push edi
call fcn.759d07de
pop ecx
cmp ebx, 0xffffffff
je 0x75bb7978
test bl, 0x10
je 0x75bb7978
mov esi, dword [esi + 0x24]
mov eax, dword [esi]
push esi
call dword [eax + 0x20]
push eax
push 0x515
call fcn.75a20602
pop ecx
pop ecx
mov esi, eax
mov eax, dword [ebp - 0x22c]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp dword [ebp - 0x10], edi
jmp 0x75bb746e
cmp dword [ebp - 0x228], 0x70
jne 0x75bb7978
mov esi, dword [esi + 0x24]
mov eax, dword [esi]
push esi
call dword [eax + 0x20]
push eax
push 0x51b
jmp 0x75bb7941
mov esi, dword [esi + 0x24]
mov eax, dword [esi]
push esi
call dword [eax + 0x20]
push eax
push dword [ebp - 0x228]
push 0x51e
call fcn.75a207b8
add esp, 0xc
jmp 0x75bb7948
push eax
call fcn.759d8a66
pop ecx
test eax, eax
jne 0x75bb79ae
push 0x11
mov dword [esi + 0x1c], ebx
call fcn.75a203dc
jmp 0x75bb7947
mov eax, dword [ebp - 0x22c]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
cmp dword [ebp - 0x10], edi
jle 0x75bb7a6b
push dword [ebp - 0x14]
call fcn.759c6f79
pop ecx
jmp 0x75bb7a6b
mov eax, dword [esi + 0x10]
mov ecx, dword [eax]
push 3
push eax
call dword [ecx + 0x24]
cmp byte [esi + 0x41], 0
mov edi, eax
mov eax, dword [edi]
push edi
jne 0x75bb7a25
mov ebx, dword [esi + 0x34]
call dword [eax + 0x20]
mov dword [ebp - 0x240], eax
mov eax, dword [ebx]
push 0
lea ecx, [esi + 0x38]
mov dword [ebp - 0x23c], eax
call fcn.759c6f3c
push eax
xor eax, eax
cmp byte [esi + 0x40], al
push 0
setne al
push eax
push dword [ebp - 0x240]
mov eax, dword [ebp - 0x23c]
push 0
push ebx
call dword [eax + 0xc]
jmp 0x75bb7a3a
call dword [eax + 0x20]
xor ecx, ecx
cmp byte [esi + 0x40], cl
setne cl
push ecx
mov ecx, dword [esi + 0x44]
push eax
call fcn.75b135c1
mov esi, eax
mov eax, dword [edi]
push edi
test esi, esi
jge 0x75bb7a68
call dword [eax + 0x20]
push eax
and esi, 0xffff
push esi
push 0x51e
call fcn.75a207b8
add esp, 0xc
mov esi, eax
mov eax, dword [edi]
push edi
call dword [eax + 8]
jmp 0x75bb7479
call dword [eax + 8]
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.759b1748
leave
ret