Function at 0x51e18943
Capabilities:
Identify system language via api

Disassembly:
xor edi, edi
inc edi
mov esi, edi
jmp 0x51e18971
xor eax, eax
inc eax
jmp 0x51e18aff
cmp dword [ebx + 8], 0xff
ja 0x51e1fe5f
jmp 0x51e18995
sub esp, 0x9c
push ebx
mov ebx, dword [esp + 0xa4]
mov eax, dword [ebx + 4]
cmp eax, 0x104
push esi
push edi
je 0x51e050f0
cmp eax, 0x106
je 0x51e050f0
xor edi, edi
xor esi, esi
inc edi
cmp eax, 0x100
je 0x51e18986
cmp eax, 0x102
je 0x51e18986
and dword [esp + 0xc], 0
jmp 0x51e1898a
mov dword [esp + 0xc], edi
cmp eax, 0x102
je 0x51e142e0
mov eax, dword [0x51e8b69c]
test eax, eax
push ebp
mov ebp, dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
je 0x51e1fe66
cmp dword [eax + 0x53bc], 0
jne 0x51e1fe8a
test byte [eax + 0x53b6], 0x3c
jne 0x51e1fe8a
mov edi, dword [ebx + 8]
mov dword [esp + 0x18], edi
call fcn.51e18b0a
mov dword [0x51e8c46c], eax
mov byte [esp + 0x1c], al
mov eax, dword [ebx + 8]
cmp eax, 0x10
je 0x51e19000
cmp eax, 0x11
je 0x51e19000
mov eax, dword [0x51e8b69c]
test eax, eax
je 0x51e1feb5
cmp dword [eax + 0x53b8], 0
jne 0x51e18a10
cmp dword [ebx + 8], 0xff
je 0x51e19000
mov eax, dword [0x51e8b690]
cmp byte [eax + 0x121], 0
jne 0x51e1feea
mov eax, dword [0x51e8b69c]
test eax, eax
je 0x51e1fef9
cmp dword [eax + 0x53b8], 0
jne 0x51e1ff87
mov eax, dword [0x51e8b690]
test byte [eax + 0xf], 2
je 0x51e18a75
neg esi
sbb esi, esi
and esi, 0xfffffffe
inc esi
xor eax, eax
inc esi
cmp dword [esp + 0xb4], eax
setne al
or esi, eax
push esi
push ebx
push 0xb12
call fcn.51e15650
add esp, 0xc
test eax, eax
jne 0x51e083e7
cmp dword [esp + 0x10], 0
je 0x51e18aa0
xor eax, eax
cmp dword [ebx + 4], 0x100
sete al
push eax
push dword [esp + 0x20]
push edi
push 0
call fcn.51e13585
add esp, 0x10
test eax, eax
jne 0x51e083e7
mov eax, dword [0x51e8b690]
and dword [esp + 0x14], 0
cmp byte [eax + 0xe5], 1
je 0x51e1ff22
mov ecx, dword [0x51e8b690]
mov eax, dword [ecx + 0x1c]
cmp eax, 0xffffffff
je 0x51e18afb
test byte [ecx + 0xf], 8
jne 0x51e18afb
cmp dword [esp + 0x10], 0
je 0x51e18afb
cmp byte [ecx + 0xe5], 0
jne 0x51e18afb
push 1
push dword [ecx + 0x70]
push eax
call fcn.51e134a0
add esp, 0xc
test eax, eax
je 0x51e18afb
cmp dword [esp + 0xb4], 0
je 0x51e1ffd4
mov eax, dword [esp + 0x14]
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x9c
ret
xor eax, eax
jmp 0x51e18aff
xor eax, eax
jmp 0x51e18b00
call ebp
cmp ax, 0x411
je 0x51e1fe8a
call ebp
cmp ax, 0x404
je 0x51e1fe8a
call ebp
cmp ax, 0x412
je 0x51e1fe8a
call ebp
cmp ax, 0x804
jne 0x51e189c3
cmp dword [esp + 0x10], 0
jne 0x51e1feac
mov eax, dword [ebx + 4]
cmp eax, 0x108
jbe 0x51e1fea2
cmp eax, 0x10f
jbe 0x51e1feac
and dword [esp + 0x10], 0
jmp 0x51e189c3
mov dword [esp + 0x10], edi
jmp 0x51e189c3
call ebp
cmp ax, 0x411
je 0x51e18a10
call ebp
cmp ax, 0x404
je 0x51e18a10
call ebp
cmp ax, 0x412
je 0x51e18a10
call ebp
cmp ax, 0x804
jne 0x51e18a03
jmp 0x51e18a10
cmp dword [ebx + 8], 0x1b
jne 0x51e083e7
jmp 0x51e18a22
call ebp
cmp ax, 0x411
je 0x51e1ff87
call ebp
cmp ax, 0x404
je 0x51e1ff87
call ebp
cmp ax, 0x412
je 0x51e1ff87
call ebp
cmp ax, 0x804
je 0x51e1ff87
jmp 0x51e18a3c
lea esi, [eax + 0xe8]
push 5
pop ecx
lea edi, [esp + 0x20]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x28]
dec eax
cmp dword [esp + 0x20], eax
jne 0x51e18ab7
mov eax, dword [esp + 0x2c]
dec eax
cmp dword [esp + 0x24], eax
jne 0x51e18ab7
cmp dword [ebx + 4], 0x100
je 0x51e1ffc4
mov eax, dword [0x51e8b69c]
test eax, eax
jne 0x51e1ff99
call ebp
cmp ax, 0x411
je 0x51e1ffaf
call ebp
cmp ax, 0x404
je 0x51e1ffaf
call ebp
cmp ax, 0x412
je 0x51e1ffaf
call ebp
cmp ax, 0x804
jne 0x51e18ab7
jmp 0x51e1ffaf
cmp dword [ebx + 8], 0xff
jne 0x51e18a3c
jmp 0x51e083e7
cmp dword [eax + 0x53bc], 0
jne 0x51e1ffaf
test byte [eax + 0x53b6], 0x3c
je 0x51e18ab7
mov eax, dword [ebx + 4]
cmp eax, 0x102
je 0x51e1ffc4
cmp eax, 0x10d
jne 0x51e18ab7
push 1
push 0
call fcn.51e1a52a
pop ecx
pop ecx
jmp 0x51e18ab7
lea eax, [esp + 0x34]
push eax
mov eax, dword [0x51e8b690]
push 1
push dword [eax + 0x70]
push dword [eax + 0x1c]
call fcn.51e14be8
mov eax, dword [esp + 0x28]
push 6
pop ecx
mov esi, ebx
lea edi, [esp + 0x8c]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xa8], eax
lea eax, [esp + 0x44]
push eax
mov eax, dword [esp + 0x50]
call dword [eax + 0x4c]
add esp, 0x14
test eax, eax
mov dword [esp + 0x14], eax
jne 0x51e18afb
cmp dword [ebx + 4], 0x100
jne 0x51e2004f
cmp dword [ebx + 8], 0x77
jne 0x51e2004f
call fcn.51e18b0a
test al, 0xc
jne 0x51e2004f
lea eax, [esp + 0x34]
push eax
call fcn.51e481c5
pop ecx
jmp 0x51e20076
mov eax, dword [0x51e8b690]
test byte [eax + 0xf], 2
je 0x51e18afb
push 4
push ebx
push 0xb12
call fcn.51e15650
add esp, 0xc
test eax, eax
je 0x51e18afb
mov dword [esp + 0x14], 1
jmp 0x51e18afb