Function at 0x100012b0
Capabilities:
Identify system language via api
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xd8
mov esi, esp
mov eax, 0x1c
call fcn.100a0de0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
lea ecx, [esi + 0xb0]
sub esp, 4
mov edx, esp
mov dword [edx], 0x58
mov edx, dword [sym.imp.USER32.dll_IsCharAlphaNumericA]
mov dword [esi + 0xac], eax
mov dword [esi + 0xa8], ecx
call edx
mov ecx, 0x10
mov dword [esi + 0xa4], eax
mov eax, ecx
call fcn.100a0de0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, 4
mov dword [esi + 0xa0], eax
mov eax, ecx
mov dword [esi + 0x9c], ecx
call fcn.100a0de0
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, dword [esi + 0x9c]
mov dword [esi + 0x98], eax
mov eax, ecx
call fcn.100a0de0
mov eax, esp
sub esp, 4
mov ecx, esp
mov dword [ecx], 0x6525bd
mov ecx, dword [sym.imp.GDI32.dll_GetTextCharset]
mov dword [esi + 0x94], eax
call ecx
sub esp, 8
mov ecx, esp
mov dword [ecx + 4], 0x888
mov dword [ecx], 0xf0d29a
mov ecx, dword [sym.imp.USER32.dll_GetDlgItem]
mov dword [esi + 0x90], eax
call ecx
sub esp, 4
mov ecx, esp
mov dword [ecx], 0xa1eec2
mov ecx, dword [sym.imp.USER32.dll_ArrangeIconicWindows]
mov dword [esi + 0x8c], eax
call ecx
sub esp, 8
mov ecx, esp
lea edx, [esi + 0xd0]
mov dword [ecx + 4], edx
mov dword [ecx], 0x83c3b8
mov ecx, dword [sym.imp.GDI32.dll_GetAspectRatioFilterEx]
mov dword [esi + 0x88], eax
call ecx
xor ecx, ecx
mov edx, 0x1c
sub esp, 0xc
mov edi, dword [esi + 0xa8]
mov dword [esp], edi
mov dword [esp + 4], 0
mov dword [esp + 8], 0x1c
mov dword [esi + 0x84], eax
mov dword [esi + 0x80], ecx
mov dword [esi + 0x7c], edx
call fcn.100a0e10
add esp, 0xc
sub esp, 8
mov eax, esp
lea ecx, [esi + 0xb0]
mov dword [eax + 4], ecx
mov dword [eax], 0x521fb8
mov eax, dword [sym.imp.KERNEL32.dll_HeapWalk]
call eax
sub esp, 0x10
mov ecx, esp
mov dword [ecx + 0xc], 0xe11
mov dword [ecx + 8], 0xda1
mov dword [ecx + 4], 0xa63cc2
mov dword [ecx], 0xf4
mov ecx, dword [sym.imp.USER32.dll_NotifyWinEvent]
mov dword [esi + 0x78], eax
call ecx
xor eax, eax
mov ecx, dword [esi + 0xac]
mov dword [esi + 0x74], ecx
mov dword [esi + 0x70], eax
jmp 0x100014e1
mov eax, dword [esi + 0x6c]
sub esp, 0xc
mov ecx, esp
mov edx, dword [esi + 0xa0]
mov dword [ecx], edx
mov dword [ecx + 8], 0x291
mov dword [ecx + 4], 0x6c0
mov ecx, dword [sym.imp.USER32.dll_OffsetRect]
mov dword [esi + 0x68], eax
call ecx
sub esp, 8
mov ecx, esp
mov dword [ecx + 4], 0x709
mov dword [ecx], 0xf95
mov ecx, dword [sym.imp.KERNEL32.dll_IsValidLocale]
mov dword [esi + 0x64], eax
call ecx
mov ecx, dword [esi + 0x68]
add ecx, 1
cmp ecx, 0xa
mov dword [esi + 0x60], eax
mov dword [esi + 0x6c], ecx
je 0x100016cc
jmp 0x1000144a
mov eax, dword [sym.imp.KERNEL32.dll_GetConsoleWindow]
call eax
sub esp, 8
mov ecx, esp
mov dword [ecx + 4], 0x6e5bc4
mov dword [ecx], 0xb578d9
mov ecx, dword [sym.imp.GDI32.dll_PlayMetaFile]
mov dword [esi + 0x5c], eax
call ecx
mov ecx, dword [sym.imp.KERNEL32.dll_SetFileApisToOEM]
mov dword [esi + 0x58], eax
call ecx
jmp 0x100016cc
mov eax, dword [esi + 0x70]
sub esp, 4
mov ecx, esp
mov dword [ecx], 0xca7ab3
mov ecx, dword [sym.imp.USER32.dll_GetMenuContextHelpId]
mov dword [esi + 0x54], eax
call ecx
sub esp, 0xc
mov ecx, esp
mov dword [ecx + 8], 0xa14
mov dword [ecx + 4], 0xdde0fa
mov dword [ecx], 0xc0f96b
mov ecx, dword [sym.imp.KERNEL32.dll_LocalReAlloc]
mov dword [esi + 0x50], eax
call ecx
sub esp, 8
mov ecx, esp
mov dword [ecx + 4], 0x62f
mov dword [ecx], 0x62f
mov ecx, dword [sym.imp.USER32.dll_SetCaretPos]
mov dword [esi + 0x4c], eax
call ecx
mov ecx, dword [esi + 0x94]
mov dword [ecx], 0x6e98dd
sub esp, 0xc
mov edx, esp
mov dword [edx + 8], ecx
mov dword [edx + 4], ecx
mov dword [edx], 0x47392b
mov edx, dword [sym.imp.KERNEL32.dll_GetProcessAffinityMask]
mov dword [esi + 0x48], eax
call edx
xor ecx, ecx
mov dword [esi + 0x44], eax
mov dword [esi + 0x40], ecx
mov eax, dword [esi + 0x40]
mov ecx, 0xaf286bcb
mov dword [esi + 0x3c], eax
mul ecx
mov eax, dword [esi + 0x3c]
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 4
imul eax, eax, 0x13
mov ecx, dword [esi + 0x3c]
sub ecx, eax
mov eax, ecx
sub eax, 1
mov dword [esi + 0x38], ecx
mov dword [esi + 0x34], eax
je 0x100015a8
jmp 0x1000159b
mov eax, dword [esi + 0x38]
sub eax, 0xb
mov dword [esi + 0x30], eax
jne 0x100015d6
jmp 0x100015a8
sub esp, 0x10
mov eax, esp
mov ecx, dword [esi + 0x98]
mov dword [eax + 0xc], ecx
mov dword [eax + 8], 0x814
mov dword [eax + 4], 0x814
mov dword [eax], 0xc3f7a4
mov eax, dword [sym.imp.GDI32.dll_SetDIBColorTable]
call eax
mov dword [esi + 0x2c], eax
jmp 0x100015d6
mov eax, dword [esi + 0x3c]
add eax, 1
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x28]
cmp eax, 0x3d9
mov dword [esi + 0x40], eax
jne 0x1000156b
xor eax, eax
xor ecx, ecx
mov edx, dword [esi + 0x54]
sub edx, 6
mov dword [esi + 0x24], eax
mov dword [esi + 0x20], ecx
mov dword [esi + 0x1c], edx
je 0x100014ad
jmp 0x1000160d
mov eax, dword [esi + 0x54]
sub eax, 0x26
mov ecx, dword [esi + 0x20]
mov dword [esi + 0x18], eax
mov dword [esi + 0x6c], ecx
jne 0x1000144a
jmp 0x10001624
mov eax, dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
call eax
xor ecx, ecx
mov edx, 0x1c
sub esp, 0xc
mov edi, dword [esi + 0x74]
mov dword [esp], edi
mov dword [esp + 4], 0
mov dword [esp + 8], 0x1c
mov word [esi + 0x16], ax
mov dword [esi + 0x10], ecx
mov dword [esi + 0xc], edx
call fcn.100a0e10
add esp, 0xc
sub esp, 8
mov ecx, esp
mov edx, dword [esi + 0xac]
mov dword [ecx + 4], edx
mov dword [ecx], 0xb8f8a2
call sub.KERNEL32.dll_Thread32First
sub esp, 0x24
mov ecx, esp
mov dword [ecx + 0x20], 0xe8b
mov dword [ecx + 0x1c], 0x4fc
mov dword [ecx + 0x18], 0x4fc
mov dword [ecx + 0x14], 0xe2bdd5
mov dword [ecx + 0x10], 0xbd9
mov dword [ecx + 0xc], 0x4fc
mov dword [ecx + 8], 0xbd9
mov dword [ecx + 4], 0x4fc
mov dword [ecx], 0x3f2487
mov ecx, dword [sym.imp.GDI32.dll_BitBlt]
mov dword [esi + 8], eax
call ecx
mov dword [esi + 4], eax
jmp 0x100014ad
sub esp, 0x18
mov eax, esp
mov dword [eax + 0x14], 0x9b1
mov dword [eax + 0x10], str._WtO_CVcZ4MpNS
mov dword [eax + 0xc], 0x42f
mov dword [eax + 8], str.4u_6DBbNOvaWXQtH
mov dword [eax + 4], 0xd81
mov dword [eax], 0xa2c
mov eax, dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
call eax
mov ecx, dword [esi + 0x54]
add ecx, 1
cmp ecx, 0x45
mov dword [esi], eax
mov dword [esi + 0x70], ecx
jne 0x100014e1
lea esp, [ebp - 8]
pop esi
pop edi
pop ebp
ret