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

Disassembly:
push 0xffffffffffffffff
push 0x59cf52
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x20c
push ebx
push ebp
mov ebp, ecx
push esi
push edi
mov dword [esp + 0x20], ebp
lea eax, [esp + 0x22c]
mov edi, 1
push eax
lea ecx, [esp + 0x20]
mov dword [esp + 0x228], edi
call fcn.0057594a
mov ecx, dword [esp + 0x22c]
mov byte [esp + 0x224], 2
mov eax, dword [ecx - 8]
test eax, eax
jne 0x468a0c
mov edx, dword [0x6131b0]
mov dword [esp + 0x10], edx
push 0x4e27
lea ecx, [esp + 0x14]
mov byte [esp + 0x228], 3
call fcn.00576ee0
mov eax, dword [esp + 0x234]
mov ecx, dword [esp + 0x10]
push eax
push ecx
push 0x1004
push 0
push 0
push edi
lea ecx, [esp + 0x3c]
call fcn.0056b0e5
mov eax, dword [esp + 0x230]
mov byte [esp + 0x224], 4
mov ecx, dword [eax - 8]
test ecx, ecx
je 0x468929
mov dword [esp + 0xac], eax
lea ecx, [esp + 0x24]
call fcn.0056b247
cmp eax, edi
je 0x468971
lea ecx, [esp + 0xd0]
mov byte [esp + 0x224], 5
call fcn.00575bd5
lea ecx, [esp + 0x24]
mov byte [esp + 0x224], 3
call fcn.00576422
lea ecx, [esp + 0x10]
mov byte [esp + 0x224], 2
call fcn.00575bd5
jmp 0x468a82
lea edx, [esp + 0x14]
lea ecx, [esp + 0x24]
push edx
call fcn.0056b322
push eax
lea ecx, [esp + 0x230]
mov byte [esp + 0x228], 6
call fcn.00575d0e
lea ecx, [esp + 0x14]
mov byte [esp + 0x224], 4
call fcn.00575bd5
lea eax, [esp + 0x14]
lea ecx, [esp + 0x24]
push eax
call fcn.0056b432
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x228], 7
call fcn.00575d0e
lea ecx, [esp + 0x14]
mov byte [esp + 0x224], 4
call fcn.00575bd5
lea ecx, [esp + 0xd0]
mov byte [esp + 0x224], 8
call fcn.00575bd5
lea ecx, [esp + 0x24]
mov byte [esp + 0x224], 3
call fcn.00576422
lea ecx, [esp + 0x10]
mov byte [esp + 0x224], 2
call fcn.00575bd5
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x14]
cmp ecx, edi
jle 0x468a68
dec ecx
push 0x18
mov dword [eax + 0x14], ecx
call fcn.00570bbc
mov esi, eax
add esp, 4
mov dword [esp + 0x14], esi
test esi, esi
je 0x468a5b
mov dword [esi], 0
mov dword [esi + 4], 0
push 0
lea ecx, [esi + 8]
mov byte [esp + 0x228], 0xa
call fcn.00468e70
mov ecx, dword [0x6131b0]
mov dword [esi + 0x10], ecx
mov dword [esi + 0x14], edi
jmp 0x468a5d
xor esi, esi
mov byte [esp + 0x224], 2
mov dword [ebp + 8], esi
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 8]
mov eax, dword [ebp + 8]
push 0
push eax
call fcn.00468480
add esp, 8
test al, al
jne 0x468adb
lea ecx, [esp + 0x1c]
mov byte [esp + 0x224], 1
call fcn.00575bd5
lea ecx, [esp + 0x22c]
mov byte [esp + 0x224], 0
call fcn.00575bd5
lea ecx, [esp + 0x230]
mov dword [esp + 0x224], 0xffffffff
call fcn.00575bd5
xor al, al
mov ecx, dword [esp + 0x21c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x218
ret 0xc
mov esi, dword [ebp + 8]
add esi, 4
cmp dword [esi], 0
jne 0x468af0
push 0x80004003
call fcn.00564911
mov esi, dword [esi]
push edi
push esi
mov ecx, dword [esi]
call dword [ecx + 0x8c8]
test eax, eax
jge 0x468b0c
push 0x600d18
push esi
push eax
call fcn.0056491f
mov esi, dword [ebp + 8]
add esi, 4
cmp dword [esi], 0
jne 0x468b21
push 0x80004003
call fcn.00564911
mov esi, dword [esi]
lea eax, [esp + 0x10]
push eax
push esi
mov edx, dword [esi]
call dword [edx + 0x708]
test eax, eax
jge 0x468b41
push 0x600d18
push esi
push eax
call fcn.0056491f
push 0
lea ecx, [esp + 0x230]
call fcn.00576005
push ecx
mov edi, eax
mov dword [esp + 0x18], esp
mov ebx, esp
push 0xc
call fcn.00570bbc
mov esi, eax
add esp, 4
mov dword [esp + 0x14], esi
test esi, esi
mov byte [esp + 0x228], 0xb
je 0x468b9e
push edi
mov dword [esi + 4], 0
mov dword [esi + 8], 1
call fcn.00565007
test eax, eax
mov dword [esi], eax
jne 0x468ba0
test edi, edi
je 0x468ba0
push 0x8007000e
call fcn.00564911
jmp 0x468ba0
xor esi, esi
test esi, esi
mov byte [esp + 0x228], 2
mov dword [ebx], esi
jne 0x468bb8
push 0x8007000e
call fcn.00564911
mov ecx, dword [ebp + 8]
mov byte [esp + 0x228], 2
add ecx, 4
call fcn.0046b6b0
mov ecx, eax
call fcn.0046b560
mov esi, dword [ebp + 8]
add esi, 4
cmp dword [esi], 0
jne 0x468be7
push 0x80004003
call fcn.00564911
mov esi, dword [esi]
lea edx, [esp + 0x10]
push edx
push esi
mov ecx, dword [esi]
call dword [ecx + 0x708]
test eax, eax
jge 0x468c07
push 0x600d18
push esi
push eax
call fcn.0056491f
movsx eax, word [esp + 0x10]
cmp eax, 0xfffffffe
jne 0x468c30
lea eax, [esp + 0x14]
push 0x5d9648
push eax
mov dword [esp + 0x20], 0x4e5f
mov dword [esp + 0x1c], vtable.CFormatException.0
call fcn.0053e275
test eax, eax
jne 0x468e49
mov esi, dword [ebp + 8]
add esi, 4
cmp dword [esi], 0
jne 0x468c4d
push 0x80004003
call fcn.00564911
mov esi, dword [esi]
lea edx, [esp + 0x14]
push edx
push esi
mov ecx, dword [esi]
call dword [ecx + 0x134]
test eax, eax
jge 0x468c6d
push 0x600d18
push esi
push eax
call fcn.0056491f
mov eax, dword [esp + 0x14]
test eax, eax
je 0x468e49
mov esi, dword [ebp + 8]
add esi, 4
cmp dword [esi], 0
jne 0x468c8e
push 0x80004003
call fcn.00564911
mov esi, dword [esi]
lea ecx, [esp + 0x10]
push ecx
push esi
mov eax, dword [esi]
call dword [eax + 0xc4]
test eax, eax
jge 0x468cae
push 0x600d18
push esi
push eax
call fcn.0056491f
movsx edx, word [esp + 0x10]
push edx
call fcn.00468450
add esp, 4
test al, al
je 0x468db5
push 0
push 0x80
push 3
push 0
push 1
push SysReAllocStringLen
push 0
lea ecx, [esp + 0x248]
call fcn.00576005
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ebx, eax
test ebx, ebx
je 0x468db5
lea eax, [esp + 0x14]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov ecx, dword [esp + 0x14]
push 1
push 0
push 0
push ecx
mov edi, eax
call fcn.0053ea90
mov esi, eax
mov ebp, edx
xor edx, edx
add esi, edi
adc ebp, edx
test ebp, ebp
jg 0x468daa
jl 0x468d2f
cmp esi, 0x4c4b40
jae 0x468daa
cmp edi, 0xffffffff
je 0x468daa
mov eax, dword [esp + 0x20]
mov edi, dword [eax + 8]
mov eax, dword [edi + 8]
add edi, 8
push eax
call fcn.00570be5
add esp, 4
test esi, esi
je 0x468d59
push esi
call fcn.00570bbc
add esp, 4
jmp 0x468d5b
xor eax, eax
mov dword [edi], eax
mov dword [edi + 4], esi
mov edi, dword [esp + 0x20]
lea edx, [esp + 0x10]
push 0
push edx
mov ecx, dword [edi + 8]
push esi
mov eax, dword [ecx + 8]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x468d8c
mov eax, dword [esp + 0x10]
xor ecx, ecx
cmp eax, esi
jne 0x468d8c
cmp ecx, ebp
je 0x468daa
mov esi, dword [edi + 8]
add esi, 8
mov eax, dword [esi]
push eax
call fcn.00570be5
add esp, 4
mov dword [esi], 0
mov dword [esi + 4], 0
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ebp, dword [esp + 0x20]
mov esi, dword [ebp + 8]
mov eax, dword [esi + 4]
test eax, eax
je 0x468e06
test eax, eax
jne 0x468dcd
push 0x80004003
call fcn.00564911
mov esi, dword [esi + 4]
lea ecx, [esp + 0x14]
push ecx
push esi
mov eax, dword [esi]
call dword [eax + 0x134]
test eax, eax
jge 0x468dee
push 0x600d18
push esi
push eax
call fcn.0056491f
mov eax, dword [esp + 0x14]
test eax, eax
je 0x468e06
mov ecx, dword [ebp + 8]
lea edx, [esp + 0x1c]
push edx
add ecx, 0x10
call fcn.00575d0e
lea ecx, [esp + 0x1c]
mov byte [esp + 0x224], 1
call fcn.00575bd5
lea ecx, [esp + 0x22c]
mov byte [esp + 0x224], 0
call fcn.00575bd5
lea ecx, [esp + 0x230]
mov dword [esp + 0x224], 0xffffffff
call fcn.00575bd5
mov al, 1
jmp 0x468ac0
push 0
lea ecx, [esp + 0x18]
call fcn.00458870
lea eax, [esp + 0x14]
push 0x5d9638
push eax
call fcn.0053e275
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop