Function at 0x4085dd
Capabilities:
Identify system language via api

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x424
mov eax, dword [0x40a00c]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
xor ebx, ebx
push edi
mov dword [ebp - reloc.ole32.dll_CoInitializeEx], ebx
call fcn.0040819b
mov dword [0x40a654], eax
movzx eax, al
and eax, 0x20
or eax, 2
push eax
push ebx
mov esi, 0x401314
push esi
mov edi, ebx
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov dword [ebp - reloc.ole32.dll_CoInitializeEx], eax
test eax, eax
je 0x408a01
test byte [0x40a654], 0x20
jne 0x408a03
lea eax, reloc.ole32.dll_CoInitializeEx
push eax
lea eax, reloc.ole32.dll_CoInitializeEx
push eax
push 0x104
push ebx
push esi
push ebx
call dword [sym.imp.KERNEL32.dll_SearchPathW]
test eax, eax
je 0x4089f4
mov ecx, dword [ebp - reloc.ole32.dll_CoInitializeEx]
lea eax, reloc.ole32.dll_CoInitializeEx
test ecx, ecx
jne 0x40867d
mov dword [ebp - reloc.ole32.dll_CoInitializeEx], eax
mov dword [ebp - reloc.ole32.dll_CoInitializeEx], ebx
jmp 0x408689
mov dword [ebp - reloc.ole32.dll_CoInitializeEx], eax
xor eax, eax
mov word [ecx - 2], ax
mov esi, dword [ebp - reloc.ole32.dll_CoInitializeEx]
push esi
call fcn.00408072
test eax, eax
je 0x408986
mov eax, dword [0x40a654]
test al, 4
je 0x40888a
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
movzx eax, ax
mov ecx, 0x404
mov dword [ebp - reloc.ole32.dll_CoInitializeEx], eax
cmp ax, cx
jne 0x4086d1
call fcn.004083a5
movzx eax, ax
mov dword [ebp - reloc.ole32.dll_CoInitializeEx], eax
lea ecx, reloc.ole32.dll_CoInitializeEx
push ecx
push eax
lea ebx, reloc.ole32.dll_CoInitializeEx
lea eax, [ebp - 0xb0]
call fcn.0040858f
mov ebx, dword [ebp - reloc.ole32.dll_CoInitializeEx]
test eax, eax
je 0x40887d
mov ecx, dword [ebp - reloc.ole32.dll_CoInitializeEx]
push ebx
lea edx, [ebp - 0xb0]
mov eax, esi
call fcn.0040833f
mov edi, eax
test edi, edi
jne 0x40897b
mov ecx, dword [ebp - reloc.ole32.dll_CoInitializeEx]
push ebx
lea edx, reloc.ole32.dll_CoInitializeEx
mov eax, esi
call fcn.0040833f
mov edi, eax
test edi, edi
jne 0x40897b
cmp word [ebp - 0x15c], ax
je 0x40875b
mov ecx, dword [ebp - reloc.ole32.dll_CoInitializeEx]
push ebx
lea edx, reloc.ole32.dll_CoInitializeEx
mov eax, esi
call fcn.0040833f
mov edi, eax
test edi, edi
jne 0x40897b
mov eax, 0xc04
cmp word [ebp - 0x420], ax
jne 0x408773
mov eax, 0x404
jmp 0x4086cb
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
movzx ecx, ax
mov dword [ebp - reloc.ole32.dll_CoInitializeEx], ecx
cmp cx, word [ebp - 0x420]
je 0x40881f
lea eax, reloc.ole32.dll_CoInitializeEx
push eax
push ecx
lea ebx, reloc.ole32.dll_CoInitializeEx
lea eax, [ebp - 0xb0]
call fcn.0040858f
mov ebx, dword [ebp - reloc.ole32.dll_CoInitializeEx]
test eax, eax
je 0x40898c
mov ecx, dword [ebp - reloc.ole32.dll_CoInitializeEx]
push ebx
lea edx, [ebp - 0xb0]
mov eax, esi
call fcn.0040833f
mov edi, eax
test edi, edi
jne 0x40897b
mov ecx, dword [ebp - reloc.ole32.dll_CoInitializeEx]
push ebx
lea edx, reloc.ole32.dll_CoInitializeEx
mov eax, esi
call fcn.0040833f
mov edi, eax
test edi, edi
jne 0x40897b
cmp word [ebp - 0x15c], ax
je 0x408819
mov ecx, dword [ebp - reloc.ole32.dll_CoInitializeEx]
push ebx
lea edx, reloc.ole32.dll_CoInitializeEx
mov eax, esi
call fcn.0040833f
mov edi, eax
test edi, edi
jne 0x40897b
mov ecx, dword [ebp - reloc.ole32.dll_CoInitializeEx]
mov eax, 0x409
cmp ax, word [ebp - 0x420]
je 0x40886b
cmp ax, cx
je 0x40886b
lea ecx, reloc.ole32.dll_CoInitializeEx
push ecx
push eax
xor ebx, ebx
lea eax, [ebp - 0xb0]
call fcn.0040858f
mov ebx, dword [ebp - reloc.ole32.dll_CoInitializeEx]
mov ecx, dword [ebp - reloc.ole32.dll_CoInitializeEx]
push ebx
lea edx, [ebp - 0xb0]
mov eax, esi
call fcn.0040833f
mov edi, eax
test edi, edi
jne 0x40897b
mov ecx, dword [ebp - reloc.ole32.dll_CoInitializeEx]
push ebx
xor edx, edx
mov eax, esi
call fcn.0040833f
mov edi, eax
test edi, edi
jne 0x40897b
jmp 0x40898c
test al, 3
je 0x408986
call fcn.00408407
movzx eax, ax
lea ecx, reloc.ole32.dll_CoInitializeEx
push ecx
mov dword [ebp - reloc.ole32.dll_CoInitializeEx], eax
push eax
lea ebx, reloc.ole32.dll_CoInitializeEx
lea eax, [ebp - 0xb0]
call fcn.0040858f
mov ebx, dword [ebp - reloc.ole32.dll_CoInitializeEx]
test eax, eax
je 0x40898c
mov ecx, dword [ebp - reloc.ole32.dll_CoInitializeEx]
push ebx
lea edx, [ebp - 0xb0]
mov eax, esi
call fcn.0040833f
mov edi, eax
test edi, edi
jne 0x40897b
mov ecx, dword [ebp - reloc.ole32.dll_CoInitializeEx]
push ebx
lea edx, reloc.ole32.dll_CoInitializeEx
mov eax, esi
call fcn.0040833f
mov edi, eax
test edi, edi
jne 0x40897b
cmp word [ebp - 0x15c], ax
je 0x408922
mov ecx, dword [ebp - reloc.ole32.dll_CoInitializeEx]
push ebx
lea edx, reloc.ole32.dll_CoInitializeEx
mov eax, esi
call fcn.0040833f
mov edi, eax
test edi, edi
jne 0x40897b
mov eax, 0x409
cmp ax, word [ebp - 0x41c]
je 0x408965
lea ecx, reloc.ole32.dll_CoInitializeEx
push ecx
push eax
xor ebx, ebx
lea eax, [ebp - 0xb0]
call fcn.0040858f
mov ebx, dword [ebp - reloc.ole32.dll_CoInitializeEx]
mov ecx, dword [ebp - reloc.ole32.dll_CoInitializeEx]
push ebx
lea edx, [ebp - 0xb0]
mov eax, esi
call fcn.0040833f
mov edi, eax
test edi, edi
jne 0x40897b
mov ecx, dword [ebp - reloc.ole32.dll_CoInitializeEx]
push ebx
xor edx, edx
mov eax, esi
call fcn.0040833f
mov edi, eax
test edi, edi
je 0x40898c
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov eax, edi
jmp 0x408a03
mov ebx, dword [ebp - reloc.ole32.dll_CoInitializeEx]
mov eax, dword [ebp - reloc.ole32.dll_CoInitializeEx]
test al, 1
je 0x408a03
push eax
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
call fcn.0040819b
test al, 0x38
je 0x4089d6
push dword [ebp - 0x414]
mov eax, 0x104
push ebx
push 0x401d10
lea ecx, reloc.ole32.dll_CoInitializeEx
call fcn.00407ff0
add esp, 0xc
push 0
push 1
lea ecx, reloc.ole32.dll_CoInitializeEx
call fcn.00408111
jmp 0x408a03
call fcn.0040819b
push 0
and eax, 0x26
pop eax
setne al
push eax
push 0
push 0x401314
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
jmp 0x408a03
mov esi, dword [ebp - reloc.ole32.dll_CoInitializeEx]
push esi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
xor eax, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00408e59
leave
ret