Function at 0x100685d
Capabilities:
Identify system language via api

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
push ecx
push ebx
push esi
mov esi, 0x9c9c
push esi
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
mov ebx, eax
pop ecx
test ebx, ebx
jne 0x10068a8
mov eax, dword [0x101d014]
cmp eax, 0x101d014
je 0x1006b42
test byte [eax + 0x1c], 1
je 0x1006b42
push 0x10013b8
push 0x4b
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010043b6
jmp 0x1006b42
push edi
push esi
push 0
push ebx
call sub.msvcrt.dll_memset
mov dword [ebx], esi
mov esi, dword [ebp + 8]
mov dword [ebx + 4], 0x20000
mov eax, dword [esi + 4]
mov dword [ebx + 8], eax
mov eax, dword [esi + 8]
mov dword [ebx + 0xc], eax
mov eax, dword [esi + 0xc]
mov dword [ebx + 0x10], eax
mov eax, dword [esi + 0x10]
mov dword [ebx + 0x14], eax
mov eax, dword [esi + 0x14]
mov dword [ebx + 0x18], eax
mov eax, dword [esi + 0x18]
mov dword [ebx + 0x1c], eax
mov eax, dword [esi + 0x1c]
mov dword [ebx + 0x20], eax
mov eax, dword [esi + 0x20]
mov dword [ebx + 0x24], eax
mov eax, dword [esi + 0x24]
add esp, 0xc
mov dword [ebx + 0x28], eax
lea eax, [ebx + 0x38]
push eax
lea eax, [ebx + 0x30]
push eax
lea edi, [ebx + 0x2c]
push edi
push dword [esi + 0x28]
call fcn.01009645
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
movzx eax, ax
mov dword [ebx + 0x40], eax
mov eax, dword [esi + 0x34]
mov dword [ebx + 0x44], eax
mov eax, dword [esi + 0x38]
mov dword [ebx + 0x48], eax
mov eax, dword [esi + 0x3c]
and dword [ebx + 0x8470], 0
test byte [edi], 1
mov dword [ebx + 0x4c], eax
mov eax, dword [esi + 0x40]
lea edi, [esi + 0x9a0]
mov dword [ebx + 0x9c94], eax
mov eax, dword [esi + 0x44]
push edi
mov dword [ebx + 0x9c98], eax
push 0x400
je 0x10069dc
lea eax, [ebx + 0x9ac]
push eax
call fcn.01006418
mov ecx, dword [0x101d014]
cmp ecx, 0x101d014
je 0x100698b
test byte [ecx + 0x1c], 1
je 0x100698b
push eax
push edi
push 0x10013b8
push 0x4c
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.010049da
lea edi, [esi + 0x11a0]
push edi
push 0x38
lea eax, [ebx + 0x564]
push eax
call fcn.010063b0
mov dword [ebp - 4], eax
test eax, eax
jge 0x1006a19
mov eax, dword [0x101d014]
cmp eax, 0x101d014
je 0x1006b32
test byte [eax + 0x1c], 1
je 0x1006b32
push dword [ebp - 4]
push edi
push 0x10013b8
push 0x4e
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01004a9d
jmp 0x1006b32
lea eax, [ebx + 0x11ac]
push eax
call fcn.01006418
mov dword [ebp - 4], eax
test eax, eax
jge 0x100698b
mov eax, dword [0x101d014]
cmp eax, 0x101d014
je 0x1006b32
test byte [eax + 0x1c], 1
je 0x1006b32
push dword [ebp - 4]
push edi
push 0x10013b8
push 0x4d
jmp 0x1006b21
push 0x104
add esi, 0x798
lea edi, [ebx + 0x7a4]
mov ecx, 0x82
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebp + 8]
mov edi, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
lea ecx, [ebx + 0x258]
push ecx
push 0xffffffffffffffff
lea eax, [esi + 0xb8]
push eax
push 0
push 0
mov dword [ebp + 8], eax
call edi
test eax, eax
jne 0x1006a9a
mov eax, dword [0x101d014]
cmp eax, 0x101d014
je 0x1006a7e
test byte [eax + 0x1c], 1
je 0x1006a7e
push dword [ebp + 8]
push 0x10013b8
push 0x4f
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01004a4d
call dword [sym.imp.KERNEL32.dll_GetLastError]
test eax, eax
jle 0x1006a92
and eax, 0xffff
or eax, 0x80070000
mov dword [ebp - 4], eax
jmp 0x1006b32
push 0x38
lea ecx, [ebx + 0x21ac]
push ecx
push 0xffffffffffffffff
lea eax, [esi + 0x48]
push eax
push 0
push 0
mov byte [esi + 0x7f], 0
mov dword [ebp + 8], eax
call edi
test eax, eax
jne 0x1006ae3
mov eax, dword [0x101d014]
cmp eax, 0x101d014
je 0x1006b32
test byte [eax + 0x1c], 1
je 0x1006b32
push dword [ebp + 8]
push 0x10013b8
push 0x50
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01004a4d
jmp 0x1006b32
add esi, 0x1bc
push esi
push 0x104
lea eax, [ebx + 0x3d1c]
push eax
call fcn.01006418
mov dword [ebp - 4], eax
test eax, eax
jge 0x1006b2e
mov eax, dword [0x101d014]
cmp eax, 0x101d014
je 0x1006b32
test byte [eax + 0x1c], 1
je 0x1006b32
movzx ecx, word [ebp - 4]
push ecx
push esi
push 0x10013b8
push 0x51
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010049da
jmp 0x1006b32
and dword [ebp - 4], 0
cmp dword [ebp - 4], 0
pop edi
jge 0x1006b42
push ebx
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
pop ecx
xor ebx, ebx
pop esi
mov eax, ebx
pop ebx
leave
ret 4