Function at 0x46b490
Capabilities:
Get file size

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4fb91c
mov eax, dword fs:[0]
push eax
sub esp, 0x4c8
mov eax, dword [0x57b070]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x4a8], ebx
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
call fcn.0046b1f0
cmp byte [ebx + 0x1c], 0
jne 0x46b631
call fcn.0046cc30
test al, al
je 0x46b503
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
push str.ReadConfig
push eax
call fcn.00473e30
mov ecx, eax
call fcn.00473fd0
mov ecx, eax
call fcn.00474340
mov dword [ebp - 0x4d0], 0
mov dword [ebp - 0x4cc], 0
mov dword [ebp - 0x4c8], 0
mov dword [ebp - 0x4c0], fcn.004b12a2
mov dword [ebp - 0x4bc], fcn.004b2dab
mov dword [ebp - 0x4b8], fcn.004ac7ec
mov dword [ebp - 0x4b4], 0
mov dword [ebp - 0x4b0], 0x1fff8
mov dword [ebp - method.allocator_unsigned_char__class_TAllocDefault_.virtual_0], vtable.t_heap.0
mov dword [ebp - 0x4ac], 0
push 0
push 0
push 0
push 0
push 0
push edi
lea ecx, [ebp - 0x13c]
mov dword [ebp - 4], 0
call fcn.00462ac0
sub esp, 8
mov byte [ebp - 4], 1
lea eax, [ebp - 0x13c]
lea ecx, [ebp - 0x4d0]
push eax
push esi
call fcn.004733d0
mov byte [ebp - 4], 0
cmp byte [ebp - 0x20], 0
mov byte [ebp - 0x49d], al
mov dword [ebp - method.t_str.virtual_0], vtable.t_str.0
jne 0x46b5d1
mov ecx, dword [ebp - 0x134]
lea eax, [ebp - 0x130]
cmp ecx, eax
je 0x46b5d1
push ecx
call fcn.004ac7ec
add esp, 4
push str.ReadConfig
call fcn.0046cad0
add esp, 4
cmp byte [ebp - 0x49d], 0
jne 0x46b613
mov ecx, esi
call fcn.00464450
push 0x55f9c4
push 0x558df8
push eax
call fcn.004623d0
add esp, 0xc
lea ecx, [ebp - 0x4d0]
call fcn.00473340
xor al, al
jmp 0x46b82e
lea eax, [ebp - 0x4d0]
mov ecx, ebx
push eax
call fcn.0046bee0
lea ecx, [ebp - 0x4d0]
call fcn.00473340
jmp 0x46b82c
push ecx
lea ecx, [ebp - 0x49c]
call fcn.0046cdb0
mov dword [ebp - method.t_fileRead.virtual_0], vtable.t_fileRead.0
mov dword [ebp - 0x148], 0x5602b0
mov dword [ebp - 0x144], 0
mov dword [ebp - 0x140], 0
push 0
push 0
push 0
push 0
push 0
push edi
lea ecx, [ebp - 0x13c]
mov dword [ebp - 4], 2
call fcn.00462ac0
push 0
lea eax, [ebp - 0x13c]
mov byte [ebp - 4], 3
push eax
push esi
lea ecx, [ebp - 0x49c]
call fcn.0046cf10
mov edi, dword [sym.imp.KERNEL32.dll_GetFileSize]
test al, al
jne 0x46b6a9
xor bl, bl
jmp 0x46b6e3
lea eax, [ebp - 0x4a4]
mov dword [ebp - 0x4a4], 0
push eax
push dword [ebp - 0x498]
call edi
mov edi, eax
cmp edi, 0xffffffff
jne 0x46b6d5
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x46b6d5
xor edi, edi
mov dword [ebp - 0x144], edi
mov bl, 1
mov edi, dword [sym.imp.KERNEL32.dll_GetFileSize]
mov byte [ebp - 4], 2
cmp byte [ebp - 0x20], 0
mov dword [ebp - method.t_str.virtual_0], vtable.t_str.0
jne 0x46b710
mov eax, dword [ebp - 0x134]
lea ecx, [ebp - 0x130]
cmp eax, ecx
je 0x46b710
push eax
call fcn.004ac7ec
add esp, 4
test bl, bl
jne 0x46b733
mov ecx, esi
call fcn.00464450
push 0x55f9b0
push 0x558df8
push eax
call fcn.004623d0
add esp, 0xc
jmp 0x46b7fe
lea eax, [ebp - 0x4a4]
mov dword [ebp - 0x4a4], 0
push eax
push dword [ebp - 0x498]
call edi
mov edi, eax
cmp edi, 0xffffffff
jne 0x46b75f
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
je 0x46b75f
xor edi, edi
lea eax, [edi + 1]
push eax
call fcn.004b12a2
mov ebx, eax
add esp, 4
mov dword [ebp - 0x4a4], ebx
test ebx, ebx
jne 0x46b793
mov ecx, esi
call fcn.00464450
push 0x55f98c
push 0x558df8
push eax
call fcn.004623d0
add esp, 0xc
jmp 0x46b7fe
push edi
push ebx
push esi
lea ecx, [ebp - 0x148]
call fcn.00473c30
test al, al
jne 0x46b7c1
mov ecx, esi
call fcn.00464450
push 0x55fa38
push 0x558df8
push eax
call fcn.004623d0
add esp, 0xc
jmp 0x46b7fe
lea ecx, [ebp - 0x49c]
mov byte [edi + ebx], 0
call fcn.0046d1d0
push ecx
mov ecx, dword [ebp - 0x4a8]
push edi
push ebx
call fcn.0046b850
push dword [ebp - 0x4a4]
mov bl, al
call fcn.004ac7ec
add esp, 4
test bl, bl
jne 0x46b821
push 0x55f9c4
mov ecx, esi
call fcn.004627b0
lea ecx, [ebp - 0x49c]
mov dword [ebp - method.t_fileRead.virtual_0], vtable.t_fileRead.0
mov dword [ebp - method.t_byteStreamRead.virtual_0], vtable.t_byteStreamRead.0
call fcn.0046ce50
xor al, al
jmp 0x46b82e
lea ecx, [ebp - 0x49c]
call fcn.00473c10
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.004a35cb
mov esp, ebp
pop ebp
ret 0xc