Function at 0x100516a6
Capabilities:
Identify system language via api

Disassembly:
mov eax, 0x10075b8c
call fcn.10074528
sub esp, 0xb8
push ebx
mov dword [ebp - 0x1c], 0xc176b0f7
xor ebx, ebx
mov dword [ebp - 0x18], 0xffffffff
push esi
mov dword [ebp - 0x28], 0x7dcc3592
mov esi, ecx
push edi
mov dword [ebp - 0x2c], 0xffffffff
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x50], esi
cmp dword [ebp - 0x1c], ebx
je 0x100518d0
mov dword [ebp - 0x20], 0xfffffffe
mov dword [ebp - 0x34], 0xdf3
mov dword [ebp - 0x3c], 0x538e0ea
mov dword [ebp - 0x2c], 0x2097756e
mov dword [ebp - 0x24], ebx
jmp 0x1005171a
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0xac], 0xfec
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 4
jl 0x10051709
mov dword [ebp - 0x1c], ebx
jmp 0x100518a5
push 3
lea ecx, [ebp - 0x8c]
call fcn.10024355
push ebx
lea eax, [ebp - 0x90]
mov dword [ebp - 4], ebx
push eax
lea eax, [ebp - 0x8c]
mov dword [ebp - 0x20], 0xfffffffc
push eax
push 0x370d
mov dword [ebp - 0x20], 0x2d1f73e7
push 0x322e
call fcn.10051e54
mov dword [ebp - 0x18], 0xfffffff8
add esp, 0x14
cmp dword [ebp - 0x18], ebx
jne 0x1005177c
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0xa0]
xor edx, edx
cmp eax, 1
mov eax, dword [ebp - 0x1c]
setge dl
xor ecx, ecx
cmp edx, eax
mov eax, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x8c]
setge cl
xor edx, edx
cmp ecx, eax
setge dl
xor eax, eax
cmp edx, 0x6578
setl al
xor ecx, ecx
cmp eax, 0xfffffff8
mov eax, 0x4763
setne cl
sub eax, dword [edi + 8]
add ecx, 0xfff6
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x9d70
jg 0x100517d7
mov eax, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xa0]
xor edx, edx
mov eax, dword [ebp - 0x18]
cmp ecx, eax
mov eax, dword [ebp - 0x1c]
setge dl
xor ecx, ecx
cmp edx, eax
setg cl
imul ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0xa0]
mov dword [ebp - 0x20], ecx
xor ecx, ecx
cmp dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x2c]
setg cl
imul eax, ecx
imul eax, eax, 0x153a
add eax, dword [ebp - 0x3c]
mov dword [ebp - 0x20], eax
jne 0x10051823
cmp dword [ebp - 0x20], ebx
jne 0x10051823
mov ecx, ebx
jmp 0x10051826
xor ecx, ecx
inc ecx
mov eax, dword [ebp - 0x18]
mov edx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x34]
add edx, ecx
xor ecx, ecx
cmp edx, eax
setne cl
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x8c]
imul ecx, dword [eax]
xor eax, eax
cmp ecx, 0xfffffffd
setle al
xor ecx, ecx
cmp eax, dword [edi + 8]
mov eax, dword [ebp - 0x34]
setg cl
xor edx, edx
add eax, ecx
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
cmp eax, 0x32ba
mov eax, dword [ebp - 0x1c]
setge dl
xor ecx, ecx
cmp edx, eax
setle cl
xor eax, eax
cmp ecx, 0x1f7d9671
lea ecx, [ebp - 0x8c]
setle al
imul eax, dword [ebp - 0x1c]
add eax, 0x5d7
mov dword [ebp - 0x18], eax
or dword [ebp - 4], 0xffffffff
call fcn.100243b7
dec dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0xfffffffa
jg 0x10051728
push ebx
push 1
push 0x41de
push 0x508b
mov dl, 1
mov ecx, 0x4fd
call fcn.10051637
add esp, 0x10
jmp 0x1005195b
mov dword [ebp - 0x20], 0xb4ad
mov dword [ebp - 0x34], 0x59e808e2
mov dword [ebp - 0x24], ebx
jmp 0x100518f1
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x80], 0xb975
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jl 0x100518e3
push 1
push 1
lea eax, [ebp - 0x2d]
mov byte [ebp - 0x2d], bl
push eax
push 0x4a8c
mov dl, 1
mov ecx, 0x678f
call fcn.10051637
mov eax, dword [ebp - 0x20]
xor edx, edx
mov ecx, dword [ebp - 0x80]
add esp, 0x10
mov eax, dword [ebp - 0x28]
cmp eax, ecx
setle dl
xor ecx, ecx
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
cmp eax, 1
setg cl
mov dword [ebp - 0x18], ecx
cmp dword [esi], 0
je 0x10051c3e
push dword [esi]
push ebx
push dword [esi + 4]
call fcn.1004f3fe
add esp, 0xc
push esi
push ebx
push 0x6313
call fcn.10052dcd
mov dword [ebp - 0x40], 0xccb03629
add esp, 0xc
mov dword [ebp - 0x58], 0x58900fdb
mov dword [ebp - 0x44], 0xfffffffb
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x18], ebx
jmp 0x100519ab
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x9c], ebx
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 3
jl 0x1005199e
mov dword [ebp - 0x18], ebx
jmp 0x100519c4
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x74], 0x5094191
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 1
jl 0x100519b6
cmp dword [ebp - 0x40], ebx
jne 0x100519d2
mov eax, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
push 7
pop ecx
cmp ecx, eax
mov eax, dword [ebp - 0x94]
sbb edx, edx
xor ecx, ecx
neg edx
cmp edx, eax
sete cl
cmp ecx, 0xfffffffd
je 0x100519f3
mov eax, dword [ebp - 0x44]
cmp dword [ebp - 0x40], ebx
je 0x10051a41
push dword [ebp - 0x74]
movdqa xmm0, xmmword [0x100093d0]
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0xbc]
mov dword [ebp - 0x6c], ebx
push eax
push ebx
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x68], ebx
movdqu xmmword [ebp - 0xbc], xmm0
mov dword [ebp - 0x64], ebx
call fcn.100263b1
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x6c]
mov dword [eax + 8], ecx
lea ecx, [ebp - 0x6c]
call fcn.100243b7
jmp 0x10051a7a
push ecx
mov dword [ebp - 0x54], 0x4592404e
lea ecx, [ebp - 0x54]
call fcn.100516a3
add esp, 4
mov dword [ebp - 0x38], ebx
jmp 0x10051a74
push 0x3331
push 0x2383
push ebx
push 0x3fef
call fcn.10051f61
add esp, 0x10
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 2
jle 0x10051a59
lea eax, [ebp - 0x44]
push eax
push ebx
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x40]
push eax
push 0x7ef8
lea eax, [ebp - 0x38]
push eax
push 0x30d5
call fcn.10051ce9
add esp, 0x1c
push 0x1531
push ebx
push 0x7eea
push esi
push 0x7b22
call fcn.100529d0
mov dword [ebp - 0x24], 0x8f3d
add esp, 0x14
mov dword [ebp - 0x1c], 0xcaf14c90
mov dword [ebp - 0x20], 0x2038
mov dword [ebp - 0x5c], 0xfffffff6
mov dword [ebp - 0x60], 1
mov dword [ebp - 0x70], 0xffffffff
mov dword [ebp - 0x18], ebx
jmp 0x10051af3
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0x4c], 0x9cf30836
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10051ae5
mov dword [ebp - 0x18], ebx
jmp 0x10051b0f
mov eax, dword [ebp - 0x18]
mov dword [ebp + eax*4 - 0xc4], 0xde2e
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 2
jl 0x10051afe
mov dword [ebp - 0x3c], 0x438a
cmp dword [ebp - 0x3c], 0x46c6
jle 0x10051b83
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x2c], 0x3baf
mov esi, ebx
mov edi, ebx
mov ebx, dword [ebp - 0x28]
mov eax, esi
mov ecx, 0x1061d018
cdq
idiv edi
lea eax, [ebx + edx]
cdq
push edx
push eax
call fcn.10024240
inc edi
cmp edi, 0x1a80
jl 0x10051b39
inc esi
push 0
pop ebx
cmp esi, 0x5070
jl 0x10051b34
mov edi, dword [ebp - 0x34]
add dword [ebp - 0x28], edi
dec dword [ebp - 0x2c]
jne 0x10051b32
inc edi
mov dword [ebp - 0x34], edi
cmp edi, 0x4750
jl 0x10051b28
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
mov esi, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x24]
inc dword [ebp - 0x20]
cmp eax, ecx
je 0x10051b95
xor edx, edx
inc edx
jmp 0x10051b97
mov edx, ebx
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
cmp dword [ebp - 0x24], ebx
jne 0x10051bcc
cmp dword [ebp - 0x4c], ebx
jne 0x10051bcc
mov ecx, ebx
jmp 0x10051bcf
xor ecx, ecx
inc ecx
xor eax, eax
cmp edx, ecx
sete al
sub eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x24]
je 0x10051be3
cmp dword [ebp - 0x20], ebx
jne 0x10051bec
cmp dword [ebp - 0x60], ebx
jne 0x10051bec
mov eax, ebx
jmp 0x10051bef
xor eax, eax
inc eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 4], 1
cmp dword [ebp - 0x3c], 0x4109
jge 0x10051c14
mov edx, 0x10009114
mov ecx, 0x1061d018
call fcn.10025e4a
or dword [ebp - 4], 0xffffffff
push ebx
push ebx
lea eax, [ebp - 0x70]
mov dl, 1
push 0x57f2
push eax
mov ecx, 0x18ba
call fcn.10051637
push esi
push ebx
push 0x1635
call fcn.10052d42
add esp, 0x1c
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret