Function at 0x2e07b37b
Capabilities:
Delete file
Extract resource via kernel32 functions
Get common file path

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x570
mov eax, dword [0x2e109148]
xor eax, ebp
mov dword [ebp - 4], eax
lea eax, [ebp - 0x31c]
push eax
push 0x106
call dword [sym.imp.KERNEL32.dll_GetTempPathA]
test eax, eax
je 0x2e07b5e2
push ebx
push esi
mov esi, dword [sym.imp.KERNEL32.dll_GetTempFileNameA]
push edi
lea eax, [ebp - 0x214]
push eax
xor ebx, ebx
push ebx
mov edi, 0x2e0072b4
push edi
lea eax, [ebp - 0x31c]
push eax
call esi
test eax, eax
jne 0x2e07b402
lea eax, [ebp - 0x31c]
push eax
push 0x106
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryA]
test eax, eax
je 0x2e07b5ca
lea eax, [ebp - 0x214]
push eax
push ebx
push edi
lea eax, [ebp - 0x31c]
push eax
call esi
test eax, eax
je 0x2e07b5ca
lea eax, [ebp - 0x10c]
push eax
push ebx
push edi
lea eax, [ebp - 0x31c]
push eax
call esi
test eax, eax
jne 0x2e07b42a
lea eax, [ebp - 0x214]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x2e07b5ca
push 8
push 0x2001
push dword [0x2e1115d4]
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov esi, eax
cmp esi, ebx
je 0x2e07b5b2
push esi
push dword [0x2e1115d4]
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov dword [ebp - 0x56c], eax
cmp eax, ebx
je 0x2e07b5b2
push esi
push dword [0x2e1115d4]
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push 0x24c
mov edi, eax
lea eax, [ebp - 0x568]
push ebx
push eax
call fcn.2e01b598
add esp, 0xc
lea eax, [ebp - 0x214]
push eax
call fcn.2e07e06b
push ebx
push 0x105
lea ecx, [ebp - 0x526]
push ecx
push eax
mov word [ebp - 0x528], ax
lea eax, [ebp - 0x214]
push eax
call fcn.2e07de85
lea eax, [ebp - 0x570]
push eax
push 0x23
lea eax, [ebp - 0x568]
push eax
call fcn.2e08673f
mov esi, eax
cmp esi, ebx
je 0x2e07b5b2
push 0xffffffffffffffff
push edi
push dword [ebp - 0x56c]
push esi
call fcn.2e0873ca
push esi
mov edi, eax
call fcn.2e085c8f
cmp edi, ebx
je 0x2e07b5b2
lea eax, [ebp - 0x10c]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
push ebx
lea eax, [ebp - 0x214]
push eax
lea eax, [ebp - 0x10c]
push eax
push ebx
call dword [sym.imp.GDI32.dll_CreateScalableFontResourceA]
test eax, eax
je 0x2e07b5b2
lea eax, [ebp - 0x10c]
push eax
call dword [sym.imp.GDI32.dll_AddFontResourceA]
test eax, eax
je 0x2e07b5b2
lea eax, [ebp - 0x10c]
push eax
call fcn.2e07e06b
inc eax
push eax
call fcn.2e01956e
mov esi, eax
pop ecx
lea eax, [ebp - 0x10c]
mov dword [0x2e111fb0], esi
push eax
cmp esi, ebx
jne 0x2e07b560
call dword [sym.imp.GDI32.dll_RemoveFontResourceA]
jmp 0x2e07b5b2
lea eax, [ebp - 0x10c]
push eax
call fcn.2e07e06b
inc eax
push eax
push esi
call fcn.2e016b3f
lea eax, [ebp - 0x214]
push eax
call fcn.2e07e06b
mov esi, eax
inc esi
push esi
call fcn.2e01956e
pop ecx
mov dword [0x2e111fac], eax
cmp eax, ebx
jne 0x2e07b5ce
lea eax, [ebp - 0x10c]
push eax
call dword [sym.imp.GDI32.dll_RemoveFontResourceA]
push dword [0x2e111fb0]
call fcn.2e01957b
pop ecx
mov dword [0x2e111fb0], ebx
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea eax, [ebp - 0x214]
push eax
call esi
lea eax, [ebp - 0x10c]
push eax
call esi
xor eax, eax
jmp 0x2e07b5df
lea ecx, [ebp - 0x214]
push ecx
push esi
push eax
call fcn.2e016b3f
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.2e01bfc6
leave
ret