Function at 0x46833c
Capabilities:
Delete file
Get common file path
Get file size
Read file on windows

Disassembly:
push ebp
lea ebp, [esp - 0x2c0]
sub esp, 0x340
mov eax, dword [0x49ab28]
xor eax, ebp
mov dword [ebp + 0x2bc], eax
mov eax, dword [ebp + 0x2c8]
push ebx
push esi
push edi
xor ebx, ebx
push 2
xor edi, edi
push ebx
xor ecx, ecx
inc edi
push eax
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x54], ebx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x7c], ebx
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x68], ebx
mov word [ebp + 0xb4], cx
call dword [sym.imp.KERNEL32.dll_LoadLibraryExA]
mov esi, eax
mov dword [ebp - 0x64], esi
cmp esi, ebx
je 0x4684ed
lea eax, [ebp - 0x50]
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x58]
push eax
push 0x468316
push 0xe
push esi
mov byte [ebp - 0x50], bl
call dword [sym.imp.KERNEL32.dll_EnumResourceNamesA]
cmp dword [ebp - 0x58], ebx
je 0x4684ed
push ebx
push 0x10
push 0x10
push edi
push dword [ebp - 0x58]
push esi
mov esi, dword [sym.imp.USER32.dll_LoadImageA]
call esi
mov dword [ebp - 0x54], eax
cmp eax, ebx
jne 0x4683f3
push ebx
push 0x20
push 0x20
push edi
push dword [ebp - 0x58]
push dword [ebp - 0x64]
call esi
mov dword [ebp - 0x54], eax
cmp eax, ebx
je 0x4684ed
push ebx
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x68]
push eax
call sub.gdiplus.dll_GdiplusStartup
lea eax, [ebp + 0xb4]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
push str.K7ACCtrlImgTemp.k7t
lea eax, [ebp + 0xb4]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
mov ecx, dword [ebp - 0x54]
lea eax, [ebp + 0xb4]
push eax
call fcn.004680aa
pop ecx
test eax, eax
je 0x4684ed
push ebx
push ebx
push 3
push ebx
push ebx
push SysReAllocString
lea eax, [ebp + 0xb4]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x6c], eax
cmp eax, 0xffffffff
je 0x4684ed
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov edi, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
mov dword [ebp - 0x5c], eax
cmp eax, 0x800
ja 0x4684d3
add eax, 0x40
push eax
push 8
call edi
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov esi, eax
cmp esi, ebx
je 0x4684d5
push ebx
lea eax, [ebp - 0x5c]
push eax
push dword [ebp - 0x5c]
push esi
push dword [ebp - 0x6c]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x4684d5
cmp dword [ebp - 0x5c], ebx
je 0x4684d5
push dword [ebp - 0x5c]
push esi
call fcn.00467dbf
push eax
mov dword [ebp - 0x60], eax
call fcn.0046df70
add esp, 0xc
cmp eax, 0xfa0
jbe 0x4684d5
push dword [ebp - 0x60]
call fcn.0046e0df
pop ecx
mov dword [ebp - 0x60], ebx
jmp 0x4684d5
mov esi, ebx
push dword [ebp - 0x6c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp esi, ebx
je 0x4684ed
push esi
push ebx
call edi
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [ebp - 0x68], ebx
je 0x4684fa
push dword [ebp - 0x68]
call sub.gdiplus.dll_GdiplusShutdown
cmp dword [ebp - 0x54], ebx
je 0x468508
push dword [ebp - 0x54]
call dword [sym.imp.USER32.dll_DestroyIcon]
cmp dword [ebp - 0x64], ebx
je 0x468516
push dword [ebp - 0x64]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp word [ebp + 0xb4], bx
pop edi
pop esi
pop ebx
je 0x46852f
lea eax, [ebp + 0xb4]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov ecx, dword [ebp + 0x2bc]
mov eax, dword [ebp - 0x60]
xor ecx, ebp
call fcn.0046c1d2
add ebp, 0x2c0
leave
ret