Function at 0x51e52b61
Capabilities:
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x48
mov eax, dword [0x51e8c240]
push ebx
xor ebx, ebx
cmp dword [ebp + 8], ebx
push esi
mov dword [ebp - 4], eax
push edi
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x44], ebx
jne 0x51e52bbb
push ebx
call dword [sym.imp.USER32.dll_GetDC]
cmp eax, ebx
mov dword [ebp - 0x44], eax
jne 0x51e52bbb
mov eax, dword [0x51e8b69c]
cmp word [eax + 0x537c], bx
jne 0x51e52baf
cmp word [eax + 0x53a4], bx
jne 0x51e52baf
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
jmp 0x51e52d6d
movzx eax, word [eax + 0x51bc]
jmp 0x51e52d6d
mov eax, dword [0x51e8b69c]
cmp word [eax + 0x537c], bx
jne 0x51e52d3d
cmp word [eax + 0x53a4], bx
jne 0x51e52d3d
push 0xf
xor eax, eax
cmp dword [ebp + 0xc], ebx
pop ecx
lea edi, [ebp - 0x40]
rep stosd dword es:[edi], eax
mov byte [ebp - 0x29], 1
je 0x51e52c13
push dword [ebp + 0xc]
call fcn.51e03933
lea eax, [eax + eax + 1]
add eax, 3
and eax, 0xfffffffc
call fcn.51e038cf
mov eax, esp
push dword [ebp + 0xc]
push eax
call fcn.51e5b8b9
pop ecx
pop ecx
jmp 0x51e52c15
xor eax, eax
lea edx, [ebp - 0x24]
mov cl, byte [eax]
inc eax
mov byte [edx], cl
inc edx
test cl, cl
jne 0x51e52c18
cmp dword [ebp + 8], ebx
mov eax, dword [ebp + 8]
mov byte [ebp - 0x25], cl
jne 0x51e52c30
mov eax, dword [ebp - 0x44]
push ebx
lea ecx, [ebp - 0x48]
push ecx
push 0x51e52b3b
lea ecx, [ebp - 0x40]
push ecx
push eax
call dword [sym.imp.GDI32.dll_EnumFontFamiliesExA]
mov ecx, dword [ebp - 0x48]
mov eax, 0x20000
test eax, ecx
jne 0x51e52c6c
mov eax, 0x80000
test eax, ecx
jne 0x51e52c6c
mov eax, pe_overlay
test eax, ecx
jne 0x51e52c6c
mov eax, 0x40000
test eax, ecx
je 0x51e52c7d
push eax
call fcn.51e773a8
push eax
call fcn.51e772b8
jmp 0x51e52d73
mov eax, dword [0x51e8b69c]
test eax, eax
mov ebx, 0x412
mov edi, 0x411
jne 0x51e52cec
mov esi, dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
call esi
cmp ax, di
je 0x51e52cf5
call esi
cmp ax, 0x404
je 0x51e52cf5
call esi
cmp ax, bx
je 0x51e52cf5
call esi
cmp ax, 0x804
je 0x51e52cf5
call fcn.51df542b
mov esi, 0x409
cmp eax, esi
jne 0x51e52ccb
call fcn.51df3f3b
cmp eax, esi
jne 0x51e52d1f
mov eax, dword [0x51e8b69c]
cmp word [eax + 0x537c], 0
jne 0x51e52d2c
cmp word [eax + 0x53a4], 0
jne 0x51e52d2c
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
jmp 0x51e52d33
cmp dword [eax + 0x53b8], 0
je 0x51e52cb4
call fcn.51df3f3b
cmp eax, edi
je 0x51e52d26
call fcn.51df3f3b
cmp eax, ebx
je 0x51e52d26
call fcn.51df3f3b
cmp eax, 0x804
je 0x51e52d26
call fcn.51df3f3b
cmp eax, 0x404
je 0x51e52d26
call fcn.51df3f3b
jmp 0x51e52d33
xor esi, esi
xor ebx, ebx
jmp 0x51e52d76
movzx eax, word [eax + 0x51bc]
push eax
call fcn.51df81e8
xor ebx, ebx
jmp 0x51e52d73
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
push eax
call fcn.51df81e8
movzx esi, al
mov eax, dword [0x51e8b69c]
test byte [eax + 0x54c5], 0xc
je 0x51e52d76
call fcn.51e57f40
cmp eax, 0x41e
je 0x51e52d6d
cmp eax, 0x42a
jne 0x51e52d76
push eax
call fcn.51df81e8
movzx esi, al
cmp dword [ebp - 0x44], ebx
je 0x51e52d85
push dword [ebp - 0x44]
push ebx
call dword [sym.imp.USER32.dll_ReleaseDC]
mov eax, esi
lea esp, [ebp - 0x54]
mov ecx, dword [ebp - 4]
call fcn.51e03d50
pop edi
pop esi
pop ebx
leave
ret 8