Function at 0x1002d2a0
Capabilities:
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1009aa90
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x214
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov eax, 0x1eca0
mov dword [ebp - 0x204], 0x8c8952ab
mov dword [ebp - 0x200], eax
mov byte [ebp - 0x16], 0x80
mov dword [ebp - 0x6c], 0x66
mov byte [ebp - 0x14], 0xb2
mov ecx, dword [0x100c3100]
mov edx, dword [0x100c3104]
mov dword [ebp - 0x1a0], edx
mov dword [ebp - 0x84], ecx
mov ax, word [0x100c30fc]
mov byte [ebp - 0x1d], al
mov eax, dword [0x100c3108]
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov cl, byte [0x100c30a0]
mov byte [ebp - 0x12], cl
mov edx, dword [0x100c30c0]
mov eax, dword [0x100c30c4]
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x5c], eax
mov byte [ebp - 0x13], 0x4d
mov byte [ebp - 0x15], 0x74
mov ecx, dword [0x100c30d0]
mov edx, dword [0x100c30d4]
mov dword [ebp - 0x19c], edx
mov word [ebp - 0x1c], cx
mov eax, dword [0x100c30d0]
mov ecx, dword [0x100c30d4]
mov dword [ebp - 0x198], ecx
mov dword [ebp - 0x3c], eax
mov edx, dword [0x100c3110]
mov eax, dword [0x100c3114]
mov dword [ebp - 0x1fc], eax
mov dword [ebp - 0x80], edx
mov cx, word [0x100c30b0]
mov byte [ebp - 0x4d], cl
mov dword [ebp - 0x64], 0xa5
movsx eax, word [0x100c3118]
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
movzx dx, byte [0x100c3063]
mov word [ebp - 0x24], dx
mov dword [ebp - 0x68], 0x26da7a85
mov byte [ebp - 0x11], 0x8a
mov al, byte [0x100c30a0]
mov byte [ebp - 0x1e], al
xor ecx, ecx
mov dword [ebp - 0x4c], 0xa9
mov dword [ebp - 0x48], ecx
mov dx, word [0x100c30d8]
mov word [ebp - 0x30], dx
mov eax, dword [0x100c30d8]
mov ecx, dword [0x100c30dc]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], ecx
mov edx, 0x47a2
mov word [ebp - 0x28], dx
mov eax, dword [0x100c30c8]
mov ecx, dword [0x100c30cc]
mov dword [ebp - 0x1f8], ecx
mov word [ebp - 0xfc], ax
mov byte [ebp - 0x6d], 0xd5
xor edx, edx
mov dword [ebp - 0x20c], 0xd1
mov dword [ebp - 0x208], edx
mov dword [ebp - 0x1dc], 0xdf
movzx eax, byte [0x100c3062]
mov dword [ebp - 0x1a4], eax
mov cl, byte [0x100c30f0]
mov byte [ebp - 0x6e], cl
xor edx, edx
mov dword [ebp - 0x214], 0xc5
mov dword [ebp - 0x210], edx
mov eax, dword [0x100c30f0]
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1ac], 0x7c
mov eax, dword [0x100c3108]
cdq
mov dword [ebp - 0x21c], eax
mov dword [ebp - 0x218], edx
mov ecx, 0xfe03
mov word [ebp - 0x100], cx
mov edx, 0xa3016
mov dword [ebp - 0x224], 0xe1006e96
mov dword [ebp - 0x220], edx
mov eax, dword [0x100c310c]
mov byte [ebp - 0x6f], al
mov ecx, dword [0x100c3110]
mov edx, dword [0x100c3114]
mov dword [ebp - 0x1b0], edx
mov dword [ebp - 0x1b4], ecx
mov eax, dword [0x100c30a8]
mov ecx, dword [0x100c30ac]
mov dword [ebp - 0x1b8], ecx
mov byte [ebp - 0x70], al
mov dx, word [0x100c30f0]
mov word [ebp - 0x104], dx
mov eax, 0xb31f
mov word [ebp - 0x108], ax
mov dword [ebp - 4], 0
mov dword [ebp - 0x74], 0
jmp 0x1002d4f4
mov ecx, dword [ebp - 0x74]
add ecx, 1
mov dword [ebp - 0x74], ecx
cmp dword [ebp - 0x74], 0x2ce
jge 0x1002d80a
mov byte [ebp - 4], 1
mov dword [ebp - 0x68], 2
mov ecx, dword [0x100c30d0]
mov edx, dword [0x100c30d4]
mov dword [ebp - 0x1bc], edx
add ecx, 0x54270b88
movzx eax, word [0x100c30e0]
cdq
sub eax, ecx
mov word [0x100c30e0], ax
movsx eax, word [0x100c3090]
add eax, 0x3e
cdq
mov dword [0x100c3110], eax
mov dword [0x100c3114], edx
mov eax, dword [ebp - 0x64]
sub eax, 0x9f
mov ecx, eax
movsx eax, word [0x100c308c]
cdq
and eax, dword [ebp - 0x58]
add ecx, eax
mov byte [ebp - 0x14], cl
movzx eax, word [ebp - 0x1c]
cdq
mov edx, dword [0x100c30a8]
mov ecx, dword [0x100c30ac]
mov dword [ebp - 0x1c0], ecx
sub eax, edx
mov word [0x100c3090], ax
movsx edx, word [0x100c3088]
test edx, edx
jne 0x1002d59a
mov dword [ebp - 0x94], 1
jmp 0x1002d5a4
mov dword [ebp - 0x94], 0
movsx eax, byte [ebp - 0x1d]
sub eax, dword [ebp - 0x94]
mov dword [ebp - 0x64], eax
movsx ecx, word [0x100c3090]
movzx edx, byte [0x100c3063]
lea eax, [edx + ecx + 0x9e]
mov byte [0x100c3063], al
mov ecx, dword [ebp - 0x68]
mov dword [ebp - 0x78], ecx
cmp dword [ebp - 0x78], 0
je 0x1002d5ec
cmp dword [ebp - 0x78], 1
je 0x1002d652
cmp dword [ebp - 0x78], 2
je 0x1002d689
jmp 0x1002d6e7
movsx eax, byte [ebp - 0x12]
add eax, 0xa9f2
cdq
mov dword [0x100c3110], eax
mov dword [0x100c3114], edx
mov edx, dword [ebp - 0x38]
add edx, dword [0x100c3080]
mov eax, dword [ebp - 0x34]
adc eax, dword [0x100c3084]
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], eax
mov ecx, dword [0x100c30d0]
mov edx, dword [0x100c30d4]
xor ecx, dword [ebp - 0x58]
xor edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x68]
not eax
xor esi, esi
sub ecx, eax
sbb edx, esi
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], edx
movsx ecx, word [0x100c3090]
imul edx, ecx, 0x40f
mov word [ebp - 0x1c], dx
jmp 0x1002d6e7
xor eax, eax
mov dword [0x100c30b8], 8
mov dword [0x100c30bc], eax
movzx cx, byte [ebp - 0x11]
mov word [0x100c30e0], cx
movzx eax, word [ebp - 0x1c]
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov edx, dword [ebp - 0x58]
sub edx, 0x11
mov word [0x100c3088], dx
jmp 0x1002d6e7
mov eax, dword [0x100c3108]
sar eax, 4
mov byte [ebp - 0x14], al
movsx ecx, byte [ebp - 0x1d]
add ecx, 0x11
mov byte [ebp - 0x14], cl
xor edx, edx
mov dword [0x100c30a8], 8
mov dword [0x100c30ac], edx
mov eax, dword [0x100c30e8]
mov ecx, dword [0x100c30ec]
push 0
push 0xfef6
push ecx
push eax
call fcn.1008eb70
mov dword [0x100c3110], eax
mov dword [0x100c3114], edx
movzx eax, byte [ebp - 0x11]
sar eax, 3
cdq
mov dword [0x100c30c8], eax
mov dword [0x100c30cc], edx
jmp 0x1002d7ed
mov dword [ebp - 4], 0
jmp 0x1002d7fd
mov al, byte [ebp - 0x15]
add al, 1
mov byte [ebp - 0x15], al
jmp 0x1002d4eb
jmp 0x1002d931
mov dword [ebp - 4], 0xffffffff
jmp 0x1002d941
mov ecx, dword [0x100c3b38]
mov dword [ebp - 0x7c], ecx
mov edx, dword [0x100c3098]
mov eax, dword [0x100c309c]
mov dword [ebp - 0x12c], edx
mov dword [ebp - 0x128], eax
mov ecx, dword [ebp - 0x12c]
or ecx, dword [ebp - 0x128]
je 0x1002d985
push 0x1009b3fc
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov word [0x100c30e0], ax
jmp 0x1002da3d
movsx eax, word [0x100c3088]
cdq
mov ecx, dword [0x100c30a8]
mov esi, dword [0x100c30ac]
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x130], edx
mov dword [ebp - 0x13c], ecx
mov dword [ebp - 0x138], esi
mov edx, dword [ebp - 0x130]
cmp edx, dword [ebp - 0x138]
jb 0x1002d9db
ja 0x1002d9cf
mov eax, dword [ebp - 0x134]
cmp eax, dword [ebp - 0x13c]
jb 0x1002d9db
mov dword [ebp - 0xa4], 1
jmp 0x1002d9e5
mov dword [ebp - 0xa4], 0
mov ecx, dword [ebp - 0xa4]
not ecx
test ecx, ecx
je 0x1002da3d
mov dl, byte [0x100c3b38]
mov byte [0x100c303b], dl
mov eax, dword [0x100c30c8]
mov ecx, dword [0x100c30cc]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], ecx
movsx edx, byte [ebp - 0x16]
add edx, 0xde
mov dword [ebp - 0x6c], edx
mov eax, dword [0x100c30d0]
mov ecx, dword [0x100c30d4]
add eax, dword [0x100c30f0]
adc ecx, dword [0x100c30f4]
mov dword [0x100c30f0], eax
mov dword [0x100c30f4], ecx
mov edx, dword [ebp - 0x7c]
add edx, 0x752
mov dword [ebp - 0x1cc], edx
push 0
call fcn.1004f040
add esp, 4
mov byte [0x100c3063], al
movzx eax, byte [0x100c3063]
test eax, eax
je 0x1002db36
jmp fcn.1002da84
mov ecx, dword [0x100c30e8]
mov esi, dword [0x100c30ec]
movzx eax, byte [ebp - 0x13]
cdq
mov dword [ebp - 0x144], ecx
mov dword [ebp - 0x140], esi
mov dword [ebp - 0x14c], eax
mov dword [ebp - 0x148], edx
mov edx, dword [ebp - 0x140]
cmp edx, dword [ebp - 0x148]
ja 0x1002dc6b
jb 0x1002db85
mov eax, dword [ebp - 0x144]
cmp eax, dword [ebp - 0x14c]
ja 0x1002dc6b
mov ecx, dword [0x100c30d0]
mov esi, dword [0x100c30d4]
not ecx
not esi
sub ecx, 0x35ac
sbb esi, 0
xor ecx, dword [ebp - 0x58]
xor esi, dword [ebp - 0x54]
movzx eax, word [0x100c30e0]
movsx edx, byte [ebp - 0x15]
add eax, edx
movzx edx, word [0x100c30e0]
not edx
movzx edi, byte [ebp - 0x13]
imul edx, edi
imul eax, edx
cdq
add ecx, eax
adc esi, edx
mov dword [0x100c3120], ecx
mov dword [0x100c3124], esi
mov eax, dword [ebp - 0x68]
xor ecx, ecx
xor eax, 0xe8687b4a
xor ecx, 0x796b7
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ecx
movsx edx, byte [ebp - 0x12]
mov dword [ebp - 0x84], edx
xor eax, eax
mov dword [0x100c30a8], 0xb719
mov dword [0x100c30ac], eax
movzx eax, word [0x100c30a0]
cdq
push 0x2b670
push 0xd16302fe
push edx
push eax
call fcn.1008eb70
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x154], edx
mov dword [ebp - 0x150], eax
mov ecx, dword [ebp - 0x154]
or ecx, dword [ebp - 0x150]
jne 0x1002dc53
mov dword [ebp - 0xa8], 1
jmp 0x1002dc5d
mov dword [ebp - 0xa8], 0
movsx edx, word [ebp - 0x30]
imul edx, dword [ebp - 0xa8]
mov dword [ebp - 0x68], edx