Function at 0x10022f71
Capabilities:
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10069df3
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x158
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
movzx eax, byte [ebp + 0xc]
test eax, eax
je 0x100234a9
mov eax, dword [ebp + 0x28]
mov dword [ebp - 0x104], eax
mov eax, dword [ebp + 0x38]
mov dword [ebp - 0x108], eax
mov eax, dword [ebp + 0x34]
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0x5c], 0x320b
mov dword [ebp - 0xa4], 0x10009624
cmp dword [ebp - 0x5c], 0x32a0
jle 0x1002304b
and dword [ebp - 0x2c], 0
jmp 0x10022fe4
mov eax, dword [ebp - 0x2c]
inc eax
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0x30c2
jge 0x1002304b
and dword [ebp - 0x44], 0
jmp 0x10022ffa
mov eax, dword [ebp - 0x44]
inc eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0x1baf
jge 0x10023049
and dword [ebp - 0x40], 0
jmp 0x10023010
mov eax, dword [ebp - 0x40]
inc eax
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0x735
jge 0x10023047
mov eax, dword [ebp - 0x44]
add eax, dword [ebp - 0x40]
and eax, dword [ebp - 0x2c]
cdq
mov dword [ebp - 0x110], eax
mov dword [ebp - 0x10c], edx
push dword [ebp - 0x10c]
push dword [ebp - 0x110]
mov ecx, 0x10613338
call fcn.1001050c
jmp 0x10023009
jmp 0x10022ff3
jmp 0x10022fdd
mov eax, dword [ebp + 0x3c]
mov dword [ebp - 0xac], eax
and dword [ebp - 4], 0
cmp dword [ebp - 0x5c], 0x313d
jge 0x10023071
mov edx, dword [ebp - 0xa4]
mov ecx, 0x10613338
call fcn.10011fb6
jmp 0x1002308d
or dword [ebp - 4], 0xffffffff
jmp 0x10023097
mov dword [ebp - 0x6c], 0x51a0
mov dword [ebp - 0x7c], 0x10009670
cmp dword [ebp - 0x6c], 0x534a
jle 0x1002312c
and dword [ebp - 0x50], 0
jmp 0x100230bb
mov eax, dword [ebp - 0x50]
inc eax
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0x2246
jge 0x10023124
and dword [ebp - 0x48], 0
jmp 0x100230d1
mov eax, dword [ebp - 0x48]
inc eax
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0xa9b
jge 0x10023122
and dword [ebp - 0x34], 0
jmp 0x100230e7
mov eax, dword [ebp - 0x34]
inc eax
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0x71ed
jge 0x10023120
mov ecx, dword [ebp - 0x48]
add ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x50]
sar eax, cl
cdq
mov dword [ebp - 0x11c], eax
mov dword [ebp - 0x118], edx
push dword [ebp - 0x118]
push dword [ebp - 0x11c]
mov ecx, 0x10613338
call fcn.1001050c
jmp 0x100230e0
jmp 0x100230ca
jmp 0x100230b4
push 0
call dword [sym.imp.KERNEL32.dll_SuspendThread]
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x74], eax
mov dword [ebp - 4], 2
cmp dword [ebp - 0x6c], 0x518b
jge 0x1002314f
mov edx, dword [ebp - 0x7c]
mov ecx, 0x10613338
call fcn.10011fb6
jmp 0x1002316b
or dword [ebp - 4], 0xffffffff
jmp 0x10023175
mov dword [ebp - 0x64], 0x787b
mov dword [ebp - 0x84], 0x100096d8
cmp dword [ebp - 0x64], 0x7919
jle 0x1002325c
and dword [ebp - 0x3c], 0
jmp 0x100231a0
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0x31a
jge 0x10023256
and dword [ebp - 0x4c], 0
jmp 0x100231ba
mov eax, dword [ebp - 0x4c]
inc eax
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0x1c94
jge 0x10023251
and dword [ebp - 0x20], 0
jmp 0x100231d4
mov eax, dword [ebp - 0x20]
inc eax
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0x6967
jge 0x1002324c
and dword [ebp - 0x38], 0
jmp 0x100231ea
mov eax, dword [ebp - 0x38]
inc eax
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0x7359
jge 0x1002324a
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x4c]
add eax, dword [ebp - 0x20]
xor eax, dword [ebp - 0x38]
cdq
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], edx
push dword [ebp - 0x124]
push dword [ebp - 0x128]
lea ecx, [ebp - 0x150]
call fcn.1000da20
pop ecx
pop ecx
mov dword [ebp - 0xe8], eax
mov ecx, dword [ebp - 0xe8]
call fcn.100104ec
push eax
call fcn.100540b6
pop ecx
lea ecx, [ebp - 0x150]
call fcn.100104e2
jmp 0x100231e3
jmp 0x100231cd
jmp 0x100231b3
jmp 0x10023199
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x8c], eax
mov dword [ebp - 4], 4
cmp dword [ebp - 0x64], 0x77af
jge 0x10023281
push dword [ebp - 0x84]
call fcn.100540b6
pop ecx
jmp 0x1002329d
or dword [ebp - 4], 0xffffffff
jmp 0x100232a7
lea eax, [ebp + 0x20]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp + 0x2c]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xdc]
movzx eax, byte [eax]
test eax, eax
je 0x1002332e
mov eax, dword [ebp - 0x8c]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0xf4]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0x94]
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x18]
mov dword [eax], 0
jmp 0x10023309
mov eax, dword [ebp - 0x18]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x18]
mov dword [ecx], eax
mov eax, dword [ebp - 0x18]
cmp dword [eax], 3
jge 0x10023329
mov eax, dword [ebp - 0x18]
push dword [eax]
mov ecx, dword [ebp - 0x9c]
call fcn.100106bf
mov dword [eax], 0xf4926a67
jmp 0x100232fe
jmp 0x100234a4
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x104]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xc4]
mov dword [ebp - 0xcc], eax
push 3
mov ecx, dword [ebp - 0x54]
call fcn.100106bf
mov dword [eax], 0xb783
mov eax, dword [ebp - 0x100]
mov eax, dword [eax]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov dword [ebp - 0x130], eax
push 1
mov ecx, dword [ebp - 0x54]
call fcn.100106bf
push 1
mov ecx, dword [ebp - 0x24]
call fcn.100106bf
mov eax, dword [ebp - 0xcc]
mov esi, dword [eax]
push 1
mov ecx, dword [ebp - 0x24]
call fcn.100106bf
add esi, dword [eax]
cmp esi, 0xffffffff
jae 0x100233f9
mov dword [ebp - 0x58], 1
jmp 0x100233fd
and dword [ebp - 0x58], 0
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
cmp dword [ebp - 0x58], eax
jg 0x10023413
mov dword [ebp - 0x114], 1
jmp 0x1002341a
and dword [ebp - 0x114], 0
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov dword [ebp - 0x134], eax
push 3
mov ecx, dword [ebp - 0x54]
call fcn.100106bf
cmp dword [eax], 0
je 0x1002343a
mov eax, dword [ebp - 0x14]
cmp dword [eax], 0
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
mov dword [ebp - 0x138], eax
push 3
mov ecx, dword [ebp - 0x24]
call fcn.100106bf
cmp dword [eax], 8
je 0x1002345d
mov dword [ebp - 0x60], 1
jmp 0x10023461
and dword [ebp - 0x60], 0
mov eax, dword [ebp - 0x14]
mov eax, dword [eax]
cmp dword [ebp - 0x60], eax
jl 0x10023474
mov dword [ebp - 0x68], 1
jmp 0x10023478
and dword [ebp - 0x68], 0
cmp dword [ebp - 0x68], 1
jb 0x1002348a
mov dword [ebp - 0xd4], 1
jmp 0x10023491
and dword [ebp - 0xd4], 0
push 2
mov ecx, dword [ebp - 0x24]
call fcn.100106bf
mov eax, dword [ebp - 0x14]
mov dword [eax], 0xffffffff
jmp 0x1002368a
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp + 0x30]
mov dword [ebp - 0xb0], eax
lea eax, [ebp + 0x10]
mov dword [ebp - 0x78], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0x78]
movzx eax, byte [eax]
test eax, eax
je 0x10023521
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x98]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0xa0]
mov eax, dword [eax]
mov ecx, dword [ebp - 0xa8]
mov ecx, dword [ecx]
mov ecx, dword [ecx]
mov dword [eax + 8], ecx
jmp 0x1002368a
mov eax, dword [ebp - 0xb0]
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xb8]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x70], 0x45ca
mov dword [ebp - 0xd8], 0x10009750
cmp dword [ebp - 0x70], 0x475f
jle 0x10023606
and dword [ebp - 0x28], 0
jmp 0x1002356d
mov eax, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0x5b11
jge 0x100235e1
and dword [ebp - 0x30], 0
jmp 0x10023583
mov eax, dword [ebp - 0x30]
inc eax
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x30], 0x574e
jge 0x100235df
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x30]
sar eax, cl
cdq
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xec], edx
push dword [ebp - 0xec]
push dword [ebp - 0xf0]
lea ecx, [ebp - 0x168]
call fcn.1000da20
pop ecx
pop ecx
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0xc8]
call fcn.100104ec
push eax
call fcn.100540b6
pop ecx
lea ecx, [ebp - 0x168]
call fcn.100104e2
jmp 0x1002357c
jmp 0x10023566
push 0
push 0x1b54
push 0
push 0
push 0x22fb
push 0x17e9
push 0x1e97
push 0x2291
call dword [sym.imp.GDI32.dll_ExtTextOutA]
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0xe0], eax
mov dword [ebp - 4], 6
cmp dword [ebp - 0x70], 0x438c
jge 0x1002362e
push dword [ebp - 0xd8]
call fcn.100540b6
pop ecx
jmp 0x1002364a
or dword [ebp - 4], 0xffffffff
jmp 0x10023654
mov eax, dword [ebp - 0x1c]
mov dword [eax], 0
jmp 0x1002366a
mov eax, dword [ebp - 0x1c]
mov eax, dword [eax]
inc eax
mov ecx, dword [ebp - 0x1c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x1c]
cmp dword [eax], 3
jge 0x1002368a
mov eax, dword [ebp - 0x1c]
push dword [eax]
mov ecx, dword [ebp - 0xe0]
call fcn.100106bf
mov dword [eax], 0xf4926a67
jmp 0x1002365f
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret