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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x632c1b
mov eax, dword fs:[0]
push eax
sub esp, 0x2c8
mov eax, dword [0x6ce488]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, dword [ebp + 8]
lea ecx, [ebp - 0x94]
push 0x6cf1e8
mov dword [ebp - 0x2c8], ebx
call fcn.00420830
mov dword [ebp - 4], 0
mov eax, dword [0x6cf270]
cmp word [eax], 0
jne 0x46e2ef
test ebx, ebx
je 0x46e24d
push ebx
lea ecx, [ebp - 0x94]
call fcn.004208f0
push 0
push 0x80
push 3
push 0
push 1
push accept
push dword [ebp - 0x94]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
cmp ebx, 0xffffffff
jne 0x46e29b
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x90]
mov eax, dword [ebp - 0x94]
cmp eax, ecx
je 0x46e437
push eax
call fcn.006140b6
add esp, 4
jmp 0x46e437
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
test esi, esi
je 0x46e272
push esi
mov dword [ebp - 0x2d0], 0
call fcn.005c386a
add esp, 4
mov edi, eax
lea eax, [ebp - 0x2d0]
push 0
push eax
push esi
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x2d0], esi
je 0x46e40f
push edi
call fcn.005c3e37
add esp, 4
jmp 0x46e272
push eax
lea ecx, [ebp - 0x94]
call fcn.004208f0
cmp byte [0x6cf178], 0
je 0x46e30c
mov ebx, dword [0x6d922c]
jmp 0x46e37b
mov esi, dword [ebp - 0x94]
push 0x340
call fcn.005c3873
add esp, 4
mov edi, eax
mov ecx, edi
mov dword [ebp - 0x2d4], edi
push 2
push 0
push esi
mov dword [edi], 0
mov dword [edi + 4], 0xffffffff
mov dword [edi + 0x134], 0xffffffff
call fcn.004365f0
mov dword [0x6d9250], eax
test eax, eax
je 0x46e366
push 0x340
push edi
call fcn.005c385c
add esp, 8
jmp 0x46e272
push 8
call fcn.005c3873
mov ebx, eax
add esp, 4
mov dword [ebx], 1
mov dword [ebx + 4], edi
test ebx, ebx
je 0x46e272
mov edx, dword [ebp - 0x2c8]
lea eax, [ebp - 0x2c4]
push eax
lea eax, [ebp - 0x2cc]
push eax
push ecx
mov ecx, ebx
call fcn.00436d10
add esp, 0xc
test eax, eax
jne 0x46e272
mov esi, dword [ebp - 0x98]
test esi, esi
je 0x46e272
push esi
call fcn.005c386a
mov edx, dword [ebp - 0x2cc]
mov edi, eax
push esi
push edi
mov ecx, ebx
call fcn.00436ec0
add esp, 0xc
test eax, eax
je 0x46e3ff
cmp eax, 0x600
je 0x46e3ff
push edi
call fcn.005c3e37
add esp, 4
cmp byte [0x6cf178], 0
jne 0x46e272
mov ecx, ebx
call fcn.00437010
jmp 0x46e272
cmp byte [0x6cf178], 0
jne 0x46e40f
mov ecx, ebx
call fcn.00437010
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x90]
mov eax, dword [ebp - 0x94]
cmp eax, ecx
je 0x46e42f
push eax
call fcn.006140b6
add esp, 4
test edi, edi
jne 0x46e4bc
push 0
push 0x80
push 3
push 0
push 1
push accept
push dword [ebp - 0x2c8]
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
cmp ebx, 0xffffffff
je 0x46e4b5
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov esi, eax
test esi, esi
je 0x46e4b5
push esi
mov dword [ebp - 0x2cc], 0
call fcn.005c386a
add esp, 4
mov edi, eax
lea eax, [ebp - 0x2cc]
push 0
push eax
push esi
push edi
push ebx
call dword [sym.imp.KERNEL32.dll_ReadFile]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x2cc], esi
je 0x46e4b1
push edi
call fcn.005c3e37
add esp, 4
xor eax, eax
jmp 0x46e559
test edi, edi
jne 0x46e4bc
xor eax, eax
jmp 0x46e559
push esi
push 2
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov ebx, eax
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalLock]
push esi
push edi
push eax
call fcn.005fe040
add esp, 0xc
mov dword [ebp - 0x2c8], 0
lea eax, [ebp - 0x2c8]
push eax
push 1
push ebx
call dword [sym.imp.ole32.dll_CreateStreamOnHGlobal]
mov eax, dword [ebp - 0x2c8]
push 0x10
mov dword [ebp - 0x2d4], eax
call dword [sym.imp.gdiplus.dll_GdipAlloc]
mov esi, eax
test esi, esi
je 0x46e537
lea eax, [esi + 4]
mov dword [esi], vtable.Gdiplus::Image.0
push eax
push dword [ebp - 0x2d4]
mov dword [eax], 0
call dword [sym.imp.gdiplus.dll_GdipLoadImageFromStream]
mov dword [esi + 8], eax
mov dword [esi + 8], 0
test eax, eax
je 0x46e54c
mov eax, dword [ebp - 0x2c8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
push ebx
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
xor esi, esi
push 1
push edi
call fcn.005c385c
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.005c358e
mov esp, ebp
pop ebp
ret 4