Function at 0x51e1630c
Capabilities:
Identify system language via api

Disassembly:
and dword [ebp - 0xb4], eax
push 0x80
push dword [0x51e89c0c]
call fcn.51e02fd2
pop ecx
pop ecx
push 0x20
mov edi, eax
pop ecx
xor eax, eax
mov dword [ebp - 0xb8], edi
rep stosd dword es:[edi], eax
push 0x17
pop ecx
lea edi, [ebp - 0x70]
rep stosd dword es:[edi], eax
cmp byte [ebx + 0x4c], al
jne 0x51e1c0d0
lea eax, [ebp - 0x54]
push eax
push ebx
call fcn.51e03332
mov eax, dword [ebx + 0x40]
mov dword [ebp - 0x70], eax
mov eax, dword [ebx + 0x44]
mov dword [ebp - 0x60], eax
mov al, byte [ebx + 0x48]
mov byte [ebp - 0x5c], al
mov al, byte [ebx + 0x49]
mov byte [ebp - 0x5b], al
mov al, byte [ebx + 0x4a]
mov byte [ebp - 0x59], al
mov eax, dword [0x51e8b69c]
test eax, eax
je 0x51e1c10c
cmp dword [eax + 0x53b8], 0
jne 0x51e1c136
mov al, byte [ebx + 0x4b]
mov ecx, dword [0x51e8b69c]
mov byte [ebp - 0x55], al
mov al, byte [ebx + 0x4c]
neg al
sbb eax, eax
and eax, 0xa8c
mov dword [ebp - 0x68], eax
cmp word [ecx + 0x537c], 0
jne 0x51e1c14c
cmp word [ecx + 0x53a4], 0
jne 0x51e1c14c
mov edi, dword [ebp + 0xc]
and edi, 1
mov esi, edi
neg esi
sbb esi, esi
and esi, 5
inc esi
push esi
lea eax, [ebp - 0x70]
push eax
push dword [ebp + 0x10]
mov dword [ebp - 4], 2
call fcn.51e049eb
add esp, 0xc
push 1
push 3
push eax
push dword [ebp + 0x10]
mov dword [ebp - 0xb4], eax
call fcn.51e037d4
mov dword [ebp - 0xbc], eax
mov eax, dword [0x51e8b69c]
add esp, 0x10
cmp word [eax + 0x537c], 0
jne 0x51e1c154
cmp word [eax + 0x53a4], 0
jne 0x51e1c154
push esi
push dword [ebp + 0x10]
mov esi, dword [ebp - 0xb8]
push esi
call fcn.51e04cb4
mov eax, dword [0x51e8b69c]
add esp, 0xc
test eax, eax
je 0x51e1c1e0
cmp dword [eax + 0x53b8], 0
jne 0x51e1c20a
and dword [esi + 0x74], 0
cmp dword [ebp + 0x14], 0
mov al, byte [ebx + 0x4c]
mov byte [esi + 0x7c], al
mov eax, dword [ebp - 0xb4]
mov dword [esi], eax
je 0x51e04eda
push 1
push 3
push dword [ebp - 0xbc]
push dword [ebp + 0x10]
call fcn.51e037d4
add esp, 0x10
mov eax, dword [ebp + 0xc]
mov dword [ebx + eax*4 + 0x50], esi
mov eax, dword [ebp - 0xb8]
jmp 0x51e16365
mov eax, 0x51e7d8f8
call fcn.51e038b0
sub esp, 0xf0
mov eax, dword [0x51e8c240]
and dword [ebp - 0xbc], 0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
push 2
pop edi
cmp dword [ebp + 0xc], edi
mov dword [ebp - 0x14], eax
jae 0x51e1bfe7
push dword [ebp + 8]
call sym.vdt70g.dll_PfmOfIfm
mov ebx, eax
test ebx, ebx
pop ecx
mov dword [ebp - 0xc0], ebx
je 0x51e1c0c6
mov eax, dword [ebp + 0xc]
mov eax, dword [ebx + eax*4 + 0x50]
test eax, eax
je 0x51e04d6b
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x14]
call fcn.51e03d50
pop edi
pop esi
pop ebx
leave
ret
mov eax, dword [ebp + 0x10]
cmp eax, dword [0x51e8bba8]
je 0x51e1633d
push eax
call fcn.51e73985
pop ecx
push eax
mov dword [ebp - 0xb4], eax
call dword [sym.imp.KERNEL32.dll_GlobalLock]
push dword [ebp - 0xb4]
mov esi, eax
call dword [sym.imp.KERNEL32.dll_GlobalSize]
mov ebx, eax
mov eax, dword [0x51e8bbac]
test eax, eax
je 0x51e1c03c
push eax
call fcn.51e50170
pop ecx
push eax
push ebx
push dword [0x51e8bbac]
push esi
call fcn.51e5baca
test eax, eax
je 0x51e1c0a9
push edi
push dword [ebp + 8]
call fcn.51e40150
inc edi
cmp edi, 4
pop ecx
pop ecx
jb 0x51e1c03c
mov eax, dword [0x51e8bbac]
and dword [ebp - 4], 0
test eax, eax
push ebx
jne 0x51e1c082
push dword [0x51e89c0c]
call fcn.51e02fd2
pop ecx
pop ecx
jmp 0x51e1c091
push eax
push dword [0x51e89c0c]
call fcn.51e501fa
add esp, 0xc
mov edi, eax
mov ecx, ebx
mov eax, ecx
shr ecx, 2
mov dword [0x51e8bbac], edi
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push dword [ebp - 0xb4]
or dword [ebp - 4], 0xffffffff
call dword [sym.imp.KERNEL32.dll_GlobalUnlock]
mov eax, dword [ebp + 0x10]
mov dword [0x51e8bba8], eax
jmp 0x51e1633d
call fcn.51e73635
jmp 0x51e16356
cmp word [ebx], 0x40
jne 0x51e1c0e3
lea eax, [ebp - 0x54]
push eax
lea eax, [ebx + 2]
push eax
jmp 0x51e04da8
mov al, byte [ebx + 0x4a]
cmp al, 0x80
jb 0x51e04da3
cmp al, 0x81
jbe 0x51e1c0fe
cmp al, 0x86
je 0x51e1c0fe
cmp al, 0x88
jne 0x51e04da3
mov word [ebp - 0x54], 0x40
lea eax, [ebp - 0x52]
jmp 0x51e04da6
mov esi, dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
call esi
cmp ax, 0x411
je 0x51e1c136
call esi
cmp ax, 0x404
je 0x51e1c136
call esi
cmp ax, 0x412
je 0x51e1c136
call esi
cmp ax, 0x804
jne 0x51e04de5
cmp dword [0x51e8b568], 2
je 0x51e04de5
or byte [ebp - 0x57], 0x40
jmp 0x51e04de5
mov dword [ebp - 0x64], eax
jmp 0x51e04e1c
test edi, edi
je 0x51e04e80
mov edi, dword [ebp + 0x10]
lea eax, [ebp - 0xb0]
push eax
push 0x20
push edi
call dword [0x51e89c10]
lea eax, [ebp - 0xfc]
push eax
push edi
call dword [0x51e89c14]
test byte [ebp - 0xc5], 4
je 0x51e1c19d
push 1
push ebx
lea eax, [ebp - 0xb0]
push eax
call fcn.51df5604
test eax, eax
je 0x51e04e80
push dword [ebp - 0xb4]
call fcn.51e03c01
pop ecx
push 0xe
lea eax, [ebp - 0x54]
push 0x51e1c26c
push eax
call fcn.51e03b30
push esi
lea eax, [ebp - 0x70]
push eax
push edi
call fcn.51e049eb
add esp, 0x18
push 1
push 3
push eax
push edi
mov dword [ebp - 0xb4], eax
call fcn.51e037d4
add esp, 0x10
jmp 0x51e04e80
mov edi, dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
call edi
cmp ax, 0x411
je 0x51e1c20a
call edi
cmp ax, 0x404
je 0x51e1c20a
call edi
cmp ax, 0x412
je 0x51e1c20a
call edi
cmp ax, 0x804
jne 0x51e04ead
mov eax, dword [0x51e8a120]
test eax, eax
je 0x51e04ead
mov eax, dword [eax + 0x60]
test eax, eax
je 0x51e04ead
push dword [ebp + 0x10]
push esi
call eax
jmp 0x51e04eb1