Function at 0x40f7a0
Capabilities:
Enumerate gui resources

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x1c4c
call fcn.004154c0
push ebx
push esi
push edi
call fcn.00403a84
test eax, eax
jne 0x40f7c6
inc eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
call fcn.00411d5e
xor ebx, ebx
push ebx
call dword [sym.imp.ole32.dll_CoInitialize]
push 0x8001
call dword [sym.imp.KERNEL32.dll_SetErrorMode]
push ebx
push 0x411d43
push ebx
mov dword [0x41be28], 0x11223344
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_EnumResourceTypesW]
lea eax, [esp + 0x44]
call fcn.0040599d
lea eax, [esp + 0x288]
push eax
mov dword [esp + 0x70], 0x20
mov dword [esp + 0x68], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x78], ebx
call fcn.0040dac4
push dword [ebp + 0x10]
lea eax, [esp + 0x48]
push eax
mov dword [esp + 0x1458], eax
call fcn.00405c7f
mov esi, dword [esp + 0x1450]
push str._savelangfile
call fcn.00405dbc
test eax, eax
jl 0x40f891
mov dword [0x41c4e8], 0x41b644
call fcn.00406be8
lea edi, [esp + 0x288]
call fcn.0040dc8a
lea esi, [esp + 0x44]
call fcn.004059bf
lea esi, [esp + 0x64]
call fcn.00410898
lea esi, [esp + 0x44]
call fcn.004059bf
xor eax, eax
jmp 0x40f7bd
call fcn.00406a4a
mov esi, dword [esp + 0x1450]
push str._deleteregkey
call fcn.00405dbc
test eax, eax
jge 0x40f863
call fcn.00404e29
test eax, eax
je 0x40f992
mov esi, dword [esp + 0x1450]
push str._RunAsAdmin
call fcn.00405dbc
test eax, eax
jl 0x40f992
push dword [ebp + 0x10]
lea edi, [esp + 0x18]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x28], 0x100
mov dword [esp + 0x20], ebx
call fcn.00405afb
mov eax, edi
push eax
call fcn.00405bae
cmp eax, ebx
jl 0x40f989
mov ecx, edi
push ecx
mov edi, eax
call fcn.00405c15
push 0x208
lea eax, [esp + 0x7e]
push ebx
push eax
mov word [esp + 0x84], bx
call sub.msvcrt.dll_memset
lea eax, [esp + 0x84]
add esp, 0xc
push eax
call fcn.00404cf9
mov eax, dword [esp + 0x18]
cmp eax, ebx
pop ecx
jne 0x40f945
mov eax, 0x416594
push eax
lea eax, [esp + 0x7c]
push eax
call fcn.0040581f
pop ecx
pop ecx
lea esi, [esp + 0x14]
call fcn.00405ad6
lea edi, [esp + 0x288]
call fcn.0040dc8a
lea esi, [esp + 0x44]
call fcn.004059bf
lea esi, [esp + 0x64]
call fcn.00410898
lea esi, [esp + 0x44]
call fcn.004059bf
mov eax, ebx
jmp 0x40f7bd
lea esi, [esp + 0x14]
call fcn.00405ad6
mov eax, dword [esp + 0x1450]
cmp dword [eax + 0x30], 1
jl 0x40f9c0
lea ebx, [esp + 0x288]
call fcn.0040f418
test eax, eax
je 0x40f9be
call dword [sym.imp.ole32.dll_CoUninitialize]
mov ebx, dword [esp + 0x1454]
jmp 0x40f95b
xor ebx, ebx
lea esi, [esp + 0x288]
call fcn.0040d9fb
mov eax, esi
call fcn.0040da7c
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push 0x67
push eax
call dword [sym.imp.USER32.dll_LoadAcceleratorsW]
mov edi, dword [sym.imp.USER32.dll_GetMessageW]
mov dword [esp + 0x4a8], eax
jmp 0x40fac6
xor eax, eax
inc eax
cmp dword [esp + 0x2c], 0x20a
jne 0x40fa12
lea eax, [esp + 0x28]
lea esi, [esp + 0x288]
call fcn.0040d618
cmp dword [esp + 0x2c], 0x100
jne 0x40fa60
mov eax, dword [0x41d444]
mov byte [esp + 0x10], 0x43
mov byte [esp + 0x11], 0x4c
mov byte [esp + 0x12], 0x52
mov byte [esp + 0x13], bl
movsx eax, byte [esp + eax + 0x10]
cmp dword [esp + 0x30], eax
jne 0x40fa53
lea ebx, [esp + 0x10]
lea esi, [esp + 0x288]
call fcn.0040b579
xor ebx, ebx
jmp 0x40fa60
xor eax, eax
mov byte [esp + 0x13], bl
mov dword [0x41d444], ebx
inc eax
cmp eax, ebx
je 0x40fac6
mov eax, dword [0x41bf44]
cmp eax, ebx
je 0x40fa7d
lea ecx, [esp + 0x28]
push ecx
push eax
call dword [sym.imp.USER32.dll_IsDialogMessageW]
test eax, eax
jne 0x40fac6
lea eax, [esp + 0x28]
push eax
push dword [esp + 0x4ac]
push dword [esp + 0x498]
call dword [sym.imp.USER32.dll_TranslateAcceleratorW]
test eax, eax
jne 0x40fac6
lea eax, [esp + 0x28]
push eax
push dword [esp + 0x494]
call dword [sym.imp.USER32.dll_IsDialogMessageW]
test eax, eax
jne 0x40fac6
lea eax, [esp + 0x28]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [esp + 0x28]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
push ebx
push ebx
push ebx
lea eax, [esp + 0x34]
push eax
call edi
test eax, eax
jne 0x40f9f5
call dword [sym.imp.ole32.dll_CoUninitialize]
jmp 0x40f95b