Function at 0x51a740
Capabilities:
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5b70be
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 8
push ebx
push esi
mov esi, ecx
mov ebx, 0x6e65
mov dword [ebp - 0x14], esi
mov dword [ebp - 4], 0
mov dword [ebp - 0x10], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0
mov dword [esi], 0
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
mov dword [esi + 0x10], 2
mov word [esi], bx
push edi
mov byte [esi + 2], 0
mov dword [ebp - 4], 0
mov dword [ebp - 0x10], 1
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
movzx eax, ax
cmp eax, 0x401
ja 0x51a8b6
je 0x51a847
test eax, eax
jne case.0x51a8dc.1030
mov ecx, dword [esi + 0x14]
cmp ecx, 2
jb 0x51a807
mov eax, esi
cmp ecx, 0x10
jb 0x51a7e6
mov eax, dword [esi]
mov dword [esi + 0x10], 2
mov word [eax], bx
pop edi
mov byte [eax + 2], 0
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
mov edx, ecx
mov eax, closesocket
shr edx, 1
sub eax, edx
cmp ecx, eax
jbe 0x51a81d
mov edi, closesocket
jmp 0x51a82a
lea eax, [edx + ecx]
mov edi, 0xf
cmp eax, edi
cmova edi, eax
lea eax, [edi + 1]
mov ecx, esi
push eax
call fcn.0044a110
mov dword [esi + 0x10], 2
mov dword [esi + 0x14], edi
mov word [eax], bx
jmp 0x51ae0b
mov ecx, dword [esi + 0x14]
cmp ecx, 2
jb 0x51a87e
mov eax, esi
cmp ecx, 0x10
jb 0x51a858
mov eax, dword [esi]
mov dword [esi + 0x10], 2
mov ecx, 0x7261
mov word [eax], cx
pop edi
mov byte [eax + 2], 0
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
mov edx, ecx
mov eax, closesocket
shr edx, 1
sub eax, edx
cmp ecx, eax
jbe 0x51a894
mov edi, closesocket
jmp 0x51a8a1
lea eax, [edx + ecx]
mov edi, 0xf
cmp eax, edi
cmova edi, eax
lea eax, [edi + 1]
mov ecx, esi
push eax
call fcn.0044a110
mov ecx, 0x7261
jmp 0x51adfe
cmp eax, 0x80c
ja 0x51ad8d
je 0x51ad21
sub eax, 0x405
cmp eax, 0x1a
ja case.0x51a8dc.1030
movzx eax, byte [eax + 0x51ae60]
jmp dword [eax*4 + 0x51ae24]
mov ecx, dword [esi + 0x14]
cmp ecx, 2
jb 0x51a91a
mov eax, esi
cmp ecx, 0x10
jb 0x51a8f4
mov eax, dword [esi]
mov dword [esi + 0x10], 2
mov ecx, 0x6564
mov word [eax], cx
pop edi
mov byte [eax + 2], 0
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
mov edx, ecx
mov eax, closesocket
shr edx, 1
sub eax, edx
cmp ecx, eax
jbe 0x51a930
mov edi, closesocket
jmp 0x51a93d
lea eax, [ecx + edx]
mov edi, 0xf
cmp eax, edi
cmova edi, eax
lea eax, [edi + 1]
mov ecx, esi
push eax
call fcn.0044a110
mov ecx, 0x6564
jmp 0x51adfe
mov ecx, dword [esi + 0x14]
cmp ecx, 2
jb 0x51a989
mov eax, esi
cmp ecx, 0x10
jb 0x51a963
mov eax, dword [esi]
mov dword [esi + 0x10], 2
mov ecx, 0x7365
mov word [eax], cx
pop edi
mov byte [eax + 2], 0
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
mov edx, ecx
mov eax, closesocket
shr edx, 1
sub eax, edx
cmp ecx, eax
jbe 0x51a99f
mov edi, closesocket
jmp 0x51a9ac
lea eax, [ecx + edx]
mov edi, 0xf
cmp eax, edi
cmova edi, eax
lea eax, [edi + 1]
mov ecx, esi
push eax
call fcn.0044a110
mov ecx, 0x7365
jmp 0x51adfe
mov ecx, dword [esi + 0x14]
cmp ecx, 2
jb 0x51a9f8
mov eax, esi
cmp ecx, 0x10
jb 0x51a9d2
mov eax, dword [esi]
mov dword [esi + 0x10], 2
mov ecx, 0x7469
mov word [eax], cx
pop edi
mov byte [eax + 2], 0
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
mov edx, ecx
mov eax, closesocket
shr edx, 1
sub eax, edx
cmp ecx, eax
jbe 0x51aa0e
mov edi, closesocket
jmp 0x51aa1b
lea eax, [ecx + edx]
mov edi, 0xf
cmp eax, edi
cmova edi, eax
lea eax, [edi + 1]
mov ecx, esi
push eax
call fcn.0044a110
mov ecx, 0x7469
jmp 0x51adfe
mov ecx, dword [esi + 0x14]
cmp ecx, 2
jb 0x51aa67
mov eax, esi
cmp ecx, 0x10
jb 0x51aa41
mov eax, dword [esi]
mov dword [esi + 0x10], 2
mov ecx, 0x6c6e
mov word [eax], cx
pop edi
mov byte [eax + 2], 0
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
mov edx, ecx
mov eax, closesocket
shr edx, 1
sub eax, edx
cmp ecx, eax
jbe 0x51aa7d
mov edi, closesocket
jmp 0x51aa8a
lea eax, [ecx + edx]
mov edi, 0xf
cmp eax, edi
cmova edi, eax
lea eax, [edi + 1]
mov ecx, esi
push eax
call fcn.0044a110
mov ecx, 0x6c6e
jmp 0x51adfe
mov ecx, dword [esi + 0x14]
cmp ecx, 2
jb 0x51aad6
mov eax, esi
cmp ecx, 0x10
jb 0x51aab0
mov eax, dword [esi]
mov dword [esi + 0x10], 2
mov ecx, 0x6f6e
mov word [eax], cx
pop edi
mov byte [eax + 2], 0
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
mov edx, ecx
mov eax, closesocket
shr edx, 1
sub eax, edx
cmp ecx, eax
jbe 0x51aaec
mov edi, closesocket
jmp 0x51aaf9
lea eax, [ecx + edx]
mov edi, 0xf
cmp eax, edi
cmova edi, eax
lea eax, [edi + 1]
mov ecx, esi
push eax
call fcn.0044a110
mov ecx, 0x6f6e
jmp 0x51adfe
mov ecx, dword [esi + 0x14]
cmp ecx, 2
jb 0x51ab45
mov eax, esi
cmp ecx, 0x10
jb 0x51ab1f
mov eax, dword [esi]
mov dword [esi + 0x10], 2
mov ecx, 0x6c70
mov word [eax], cx
pop edi
mov byte [eax + 2], 0
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
mov edx, ecx
mov eax, closesocket
shr edx, 1
sub eax, edx
cmp ecx, eax
jbe 0x51ab5b
mov edi, closesocket
jmp 0x51ab68
lea eax, [ecx + edx]
mov edi, 0xf
cmp eax, edi
cmova edi, eax
lea eax, [edi + 1]
mov ecx, esi
push eax
call fcn.0044a110
mov ecx, 0x6c70
jmp 0x51adfe
mov ecx, dword [esi + 0x14]
cmp ecx, 2
jb 0x51abb4
mov eax, esi
cmp ecx, 0x10
jb 0x51ab8e
mov eax, dword [esi]
mov dword [esi + 0x10], 2
mov ecx, 0x7470
mov word [eax], cx
pop edi
mov byte [eax + 2], 0
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
mov edx, ecx
mov eax, closesocket
shr edx, 1
sub eax, edx
cmp ecx, eax
jbe 0x51abca
mov edi, closesocket
jmp 0x51abd7
lea eax, [ecx + edx]
mov edi, 0xf
cmp eax, edi
cmova edi, eax
lea eax, [edi + 1]
mov ecx, esi
push eax
call fcn.0044a110
mov ecx, 0x7470
jmp 0x51adfe
mov ecx, dword [esi + 0x14]
cmp ecx, 2
jb 0x51ac23
mov eax, esi
cmp ecx, 0x10
jb 0x51abfd
mov eax, dword [esi]
mov dword [esi + 0x10], 2
mov ecx, 0x6966
mov word [eax], cx
pop edi
mov byte [eax + 2], 0
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
mov edx, ecx
mov eax, closesocket
shr edx, 1
sub eax, edx
cmp ecx, eax
jbe 0x51ac39
mov edi, closesocket
jmp 0x51ac46
lea eax, [edx + ecx]
mov edi, 0xf
cmp eax, edi
cmova edi, eax
lea eax, [edi + 1]
mov ecx, esi
push eax
call fcn.0044a110
mov ecx, 0x6966
jmp 0x51adfe
push 2
push 0x5ec51c
mov ecx, esi
call fcn.00449cf0
pop edi
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push 2
push 0x5ec510
mov ecx, esi
call fcn.00449cf0
pop edi
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push 2
push 0x5ec514
mov ecx, esi
call fcn.00449cf0
pop edi
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push 2
push 0x5ec528
mov ecx, esi
call fcn.00449cf0
pop edi
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push 2
push 0x5ec524
mov ecx, esi
call fcn.00449cf0
pop edi
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
push 2
push 0x5ec554
mov ecx, esi
call fcn.00449cf0
pop edi
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 0x14]
cmp ecx, 2
jb 0x51ad58
mov eax, esi
cmp ecx, 0x10
jb 0x51ad32
mov eax, dword [esi]
mov dword [esi + 0x10], 2
mov ecx, 0x7266
mov word [eax], cx
pop edi
mov byte [eax + 2], 0
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
mov edx, ecx
mov eax, closesocket
shr edx, 1
sub eax, edx
cmp ecx, eax
jbe 0x51ad6e
mov edi, closesocket
jmp 0x51ad7b
lea eax, [edx + ecx]
mov edi, 0xf
cmp eax, edi
cmova edi, eax
lea eax, [edi + 1]
mov ecx, esi
push eax
call fcn.0044a110
mov ecx, 0x7266
jmp 0x51adfe
cmp eax, 0xc04
jne case.0x51a8dc.1030
mov ecx, dword [esi + 0x14]
cmp ecx, 2
jb 0x51adcb
mov eax, esi
cmp ecx, 0x10
jb 0x51ada5
mov eax, dword [esi]
mov dword [esi + 0x10], 2
mov ecx, 0x6e63
mov word [eax], cx
pop edi
mov byte [eax + 2], 0
mov eax, esi
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
mov edx, ecx
mov eax, closesocket
shr edx, 1
sub eax, edx
cmp ecx, eax
jbe 0x51ade1
mov edi, closesocket
jmp 0x51adee
lea eax, [edx + ecx]
mov edi, 0xf
cmp eax, edi
cmova edi, eax
lea eax, [edi + 1]
mov ecx, esi
push eax
call fcn.0044a110
mov ecx, 0x6e63
mov dword [esi + 0x10], 2
mov dword [esi + 0x14], edi
mov word [eax], cx
mov byte [eax + 2], 0
mov dword [esi], eax
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret