Function at 0x414da2
Capabilities:
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xf4
push ebx
mov ebx, dword [sym.imp.USER32.dll_GetDC]
push esi
mov esi, dword [ebp + 8]
push edi
push dword [esi]
call ebx
mov edi, dword [sym.imp.KERNEL32.dll_MulDiv]
mov dword [ebp + 8], eax
xor eax, eax
cmp dword [ebp + 0xc], eax
jne 0x414eb0
push eax
push eax
push 0x31
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageA]
lea ecx, [ebp - 0x84]
push ecx
push 0x3c
push eax
call dword [sym.imp.GDI32.dll_GetObjectA]
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
cmp ax, 0x804
jne 0x414dfe
push 0x41dedc
jmp 0x414e28
cmp ax, 0x404
jne 0x414e0b
push 0x41ded4
jmp 0x414e28
and eax, 0xff
cmp ax, 0x11
jne 0x414e1d
push str.MS_UI_Gothic
jmp 0x414e28
cmp ax, 0x12
jne 0x414e44
push 0x41debc
lea eax, [ebp - 0x68]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x48
push 0x5a
push dword [ebp + 8]
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push eax
push 9
jmp 0x414e96
lea eax, [ebp - 0x68]
push eax
push str.Tahoma
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
test eax, eax
jne 0x414e77
push 0x48
push 0x5a
push dword [ebp + 8]
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push eax
push 8
call edi
neg eax
cmp dword [ebp - 0x84], eax
je 0x41514a
lea eax, [ebp - 0x68]
push str.Tahoma
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x48
push 0x5a
push dword [ebp + 8]
call dword [sym.imp.GDI32.dll_GetDeviceCaps]
push eax
push 8
call edi
neg eax
mov dword [ebp - 0x84], eax
lea eax, [ebp - 0x84]
push eax
call dword [sym.imp.GDI32.dll_CreateFontIndirectA]
mov dword [ebp + 0xc], eax
push dword [esi]
call ebx
push 0
push 0
push 0x31
mov dword [ebp + 8], eax
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageA]
mov ebx, dword [sym.imp.GDI32.dll_SelectObject]
push eax
push dword [ebp + 8]
call ebx
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0xbc]
push eax
push dword [ebp + 8]
call dword [sym.imp.GDI32.dll_GetTextMetricsA]
push dword [ebp + 0xc]
push dword [ebp + 8]
call ebx
lea eax, [ebp - 0xf4]
push eax
push dword [ebp + 8]
call dword [sym.imp.GDI32.dll_GetTextMetricsA]
push dword [ebp - 0x14]
push dword [ebp + 8]
call ebx
push dword [ebp + 8]
push dword [esi]
call dword [sym.imp.USER32.dll_ReleaseDC]
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xac]
add ecx, eax
mov eax, dword [ebp - 0xe4]
mov dword [ebp + 8], ecx
mov ecx, dword [ebp - 0xf4]
add eax, ecx
cmp dword [ebp + 0x10], 2
mov dword [ebp - 0x18], eax
je 0x415010
lea eax, [ebp - 0x10]
push eax
push dword [esi]
call dword [sym.imp.USER32.dll_GetWindowRect]
lea eax, [ebp - 0x28]
push eax
push dword [esi]
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x24]
sub eax, dword [ebp - 0x20]
push dword [ebp - 0xa8]
sub ebx, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x10]
push dword [ebp - 0xe0]
sub ebx, dword [ebp - 0xc]
add eax, dword [ebp - 8]
push dword [ebp - 0x20]
add ebx, dword [ebp - 4]
mov dword [ebp - 0x14], eax
call edi
push dword [ebp + 8]
mov dword [ebp - 0x30], eax
push dword [ebp - 0x18]
push dword [ebp - 0x1c]
call edi
cmp dword [ebp + 0x10], 1
mov dword [ebp - 0x2c], eax
jne 0x414fb3
mov eax, dword [ebp - 0x10]
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x48], eax
add edx, eax
mov eax, dword [ebp - 0x2c]
add edx, dword [ebp - 0x14]
add eax, ecx
mov dword [ebp - 0x44], ecx
add eax, ebx
jmp 0x414ff8
cmp dword [ebp + 0x10], 0
jne 0x414ff2
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x20]
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [ebp - 0x10]
sar ecx, 1
sub eax, ecx
mov ecx, dword [ebp - 0xc]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x1c]
cdq
sub eax, edx
mov edx, dword [ebp - 0x30]
sar eax, 1
sub ecx, eax
mov eax, dword [ebp - 0x48]
add edx, eax
mov eax, dword [ebp - 0x2c]
add edx, dword [ebp - 0x14]
add eax, ecx
add eax, ebx
jmp 0x414ffb
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x44]
sub edx, dword [ebp - 0x48]
sub eax, ecx
push 1
push eax
push edx
push ecx
push dword [ebp - 0x48]
push dword [esi]
call dword [sym.imp.USER32.dll_MoveWindow]
push 1
push dword [ebp + 0xc]
push 0x30
push dword [esi]
call dword [sym.imp.USER32.dll_SendMessageA]
push 5
push dword [esi]
call dword [sym.imp.USER32.dll_GetWindow]
mov ebx, eax
test ebx, ebx
je 0x41514a
push 1
push dword [ebp + 0xc]
push 0x30
push ebx
call dword [sym.imp.USER32.dll_SendMessageA]
lea eax, [ebp - 0x10]
push eax
push ebx
call dword [sym.imp.USER32.dll_GetWindowRect]
push 0x20
xor eax, eax
and byte [ebp - 0x24], al
pop ecx
mov dword [ebp - 0x28], ecx
lea edx, [ebp - 0x38]
push ecx
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x38], 0x41a3e8
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], eax
call fcn.004062bc
push eax
push ebx
call dword [sym.imp.USER32.dll_GetClassNameA]
lea ecx, [ebp - 0x28]
call fcn.0040176d
push str.COMBOBOX
lea ecx, [ebp - 0x38]
call fcn.00415205
test al, al
je 0x4150b8
lea eax, [ebp - 0x48]
push eax
push 0
push 0x152
push ebx
call dword [sym.imp.USER32.dll_SendMessageA]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 4], eax
lea eax, [ebp - 0x10]
push eax
push dword [esi]
call dword [sym.imp.USER32.dll_ScreenToClient]
test eax, eax
je 0x4150d4
lea eax, [ebp - 8]
push eax
push dword [esi]
call dword [sym.imp.USER32.dll_ScreenToClient]
push dword [ebp - 0xa8]
push dword [ebp - 0xe0]
push dword [ebp - 0x10]
call edi
push dword [ebp - 0xa8]
mov dword [ebp - 0x10], eax
push dword [ebp - 0xe0]
push dword [ebp - 8]
call edi
push dword [ebp + 8]
mov dword [ebp - 8], eax
push dword [ebp - 0x18]
push dword [ebp - 0xc]
call edi
push dword [ebp + 8]
mov dword [ebp - 0xc], eax
push dword [ebp - 0x18]
push dword [ebp - 4]
call edi
mov dword [ebp - 4], eax
sub eax, dword [ebp - 0xc]
push 1
push eax
mov eax, dword [ebp - 8]
sub eax, dword [ebp - 0x10]
push eax
push dword [ebp - 0xc]
push dword [ebp - 0x10]
push ebx
call dword [sym.imp.USER32.dll_MoveWindow]
push 2
push ebx
call dword [sym.imp.USER32.dll_GetWindow]
lea ecx, [ebp - 0x38]
mov ebx, eax
call fcn.0040172f
jmp 0x41502b
pop edi
pop esi
pop ebx
leave
ret