Function at 0x576350
Capabilities:
Identify system language via api
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x590a01
mov eax, dword fs:[0]
push eax
sub esp, 0x450
mov eax, dword [0x6459b8]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, 0xbf69
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
movzx eax, ax
mov edi, eax
mov ecx, eax
cmp ecx, 0x415
jg 0x5763db
je 0x5763d1
sub ecx, 0x404
cmp ecx, 0x10
ja case.0x5763ac.1029
movzx ecx, byte [ecx + 0x5767cc]
jmp dword [ecx*4 + 0x5767b8]
mov eax, 0xbf75
jmp 0x57679b
mov eax, 0xbf71
jmp 0x57679b
mov eax, 0xbf7e
jmp 0x57679b
mov eax, 0xbf7f
jmp 0x57679b
cmp ecx, 0x1404
jg 0x576409
je 0x5763f5
cmp ecx, 0x816
je 0x5763ff
cmp ecx, 0xc04
jne case.0x5763ac.1029
mov eax, 0xbf8d
jmp 0x57679b
mov eax, 0xbf80
jmp 0x57679b
cmp ecx, 0x7c04
jne case.0x5763ac.1029
mov eax, 0xbf70
jmp 0x57679b
and eax, 0x3ff
add eax, 0xfffffffc
cmp eax, 0x19
ja case.0x57642f.5
movzx edx, byte [eax + 0x576810]
jmp dword [edx*4 + 0x5767e0]
mov esi, 0xbf78
jmp case.0x57642f.5
mov esi, 0xbf76
jmp case.0x57642f.5
mov esi, 0xbf8f
jmp case.0x57642f.5
mov esi, 0xbf72
jmp case.0x57642f.5
mov esi, 0xbf7a
jmp case.0x57642f.5
mov esi, 0xbf83
jmp case.0x57642f.5
mov esi, 0xbf89
jmp case.0x57642f.5
mov esi, 0xbf7b
jmp case.0x57642f.5
mov esi, 0xbf6f
jmp case.0x57642f.5
mov esi, 0xbf81
jmp case.0x57642f.5
mov esi, 0xbf86
cmp dword [0x64ad24], 2
jne 0x576798
mov eax, 0xbf69
cmp si, ax
jne 0x576798
xor ebx, ebx
xor ecx, ecx
mov esi, eax
mov dword [ebp - 0x43c], 7
mov dword [ebp - 0x440], ebx
mov word [ebp - 0x450], cx
lea edx, [ebp - 0x454]
push edx
push 0x20019
push ebx
push str.SOFTWAREClassesMIMEDatabaseRfc1766
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp - 4], ebx
mov dword [ebp - 0x454], ebx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, ebx
jne 0x5765e5
push 0x1fc
lea ecx, [ebp - 0x416]
xor eax, eax
push ebx
push ecx
mov word [ebp - 0x418], ax
call fcn.00546d60
push edi
push str._04X
lea edx, [ebp - 0x418]
push 0xff
push edx
call fcn.0054a81c
push 0x206
lea ecx, [ebp - 0x216]
xor eax, eax
push ebx
push ecx
mov word [ebp - 0x218], ax
call fcn.00546d60
add esp, 0x28
lea edx, [ebp - 0x458]
push edx
mov edx, dword [ebp - 0x454]
lea eax, [ebp - 0x218]
push eax
push ebx
push ebx
lea ecx, [ebp - 0x418]
push ecx
push edx
mov dword [ebp - 0x458], 0x208
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov edi, eax
mov eax, dword [ebp - 0x454]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp edi, ebx
jne 0x5765e5
xor ecx, ecx
lea edx, [ebp - 0x218]
mov word [ebp - 0x12], cx
push edx
lea ecx, [ebp - 0x450]
call fcn.004061c0
push 1
push ebx
lea eax, [ebp - 0x45c]
push eax
lea ecx, [ebp - 0x450]
mov dword [ebp - 0x45c], 0x3b
call fcn.00403ec0
cmp eax, ebx
jbe 0x5765e5
push eax
push ebx
lea ecx, [ebp - 0x434]
push ecx
lea ecx, [ebp - 0x450]
call fcn.004061f0
push eax
lea ecx, [ebp - 0x450]
mov byte [ebp - 4], 1
call fcn.004062f0
lea ecx, [ebp - 0x434]
mov byte [ebp - 4], bl
call fcn.00404e70
mov eax, dword [ebp - 0x440]
cmp eax, 1
jle 0x576780
push 2
add eax, 0xfffffffe
push eax
lea edx, [ebp - 0x434]
push edx
lea ecx, [ebp - 0x450]
call fcn.004061f0
lea eax, [ebp - 0x434]
push 0x59959c
push eax
mov byte [ebp - 4], 2
call fcn.00404a40
add esp, 8
test al, al
je 0x576632
mov esi, 0xbf78
jmp 0x576775
lea ecx, [ebp - 0x434]
push 0x5995a4
push ecx
call fcn.00404a40
add esp, 8
test al, al
je 0x576654
mov esi, 0xbf76
jmp 0x576775
lea edx, [ebp - 0x434]
push 0x599538
push edx
call fcn.00404a40
add esp, 8
test al, al
je 0x576676
mov esi, 0xbf8f
jmp 0x576775
lea eax, [ebp - 0x434]
push 0x599564
push eax
call fcn.00404a40
add esp, 8
test al, al
je 0x576698
mov esi, 0xbf81
jmp 0x576775
lea ecx, [ebp - 0x434]
push 0x59955c
push ecx
call fcn.00404a40
add esp, 8
test al, al
je 0x5766ba
mov esi, 0xbf83
jmp 0x576775
lea edx, [ebp - 0x434]
push 0x599594
push edx
call fcn.00404a40
add esp, 8
test al, al
je 0x5766dc
mov esi, 0xbf7a
jmp 0x576775
lea eax, [ebp - 0x434]
push 0x5995b8
push eax
call fcn.00404a40
add esp, 8
test al, al
je 0x5766fb
mov esi, 0xbf72
jmp 0x576775
lea ecx, [ebp - 0x434]
push 0x614250
push ecx
call fcn.00404a40
add esp, 8
test al, al
je 0x57671a
mov esi, 0xbf6f
jmp 0x576775
lea edx, [ebp - 0x434]
push 0x599548
push edx
call fcn.00404a40
add esp, 8
test al, al
je 0x576739
mov esi, 0xbf89
jmp 0x576775
lea eax, [ebp - 0x434]
push 0x614248
push eax
call fcn.00404a40
add esp, 8
test al, al
je 0x576758
mov esi, 0xbf7b
jmp 0x576775
lea ecx, [ebp - 0x434]
push 0x599578
push ecx
call fcn.00404a40
add esp, 8
test al, al
je 0x576775
mov esi, 0xbf7f
lea ecx, [ebp - 0x434]
call fcn.00404e70
cmp dword [ebp - 0x43c], 8
jb 0x576798
mov edx, dword [ebp - 0x450]
push edx
call fcn.00443897
add esp, 4
mov ax, si
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00546bde
mov esp, ebp
pop ebp
ret