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, 0xd0
mov esi, esp
mov eax, 4
mov dword [esi + 0xa4], eax
call fcn.100a0b50
mov eax, esp
mov ecx, dword [esi + 0xa4]
mov dword [esi + 0xa0], eax
mov eax, ecx
call fcn.100a0b50
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, 0x1c
mov dword [esi + 0x9c], eax
mov eax, ecx
call fcn.100a0b50
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
mov ecx, 0x10
mov dword [esi + 0x98], eax
mov eax, ecx
call fcn.100a0b50
mov eax, esp
and eax, 0xfffffff8
mov esp, eax
sub esp, 4
mov ecx, esp
mov dword [ecx], 0x58
mov ecx, dword [sym.imp.USER32.dll_IsCharAlphaNumericA]
mov dword [esi + 0x94], eax
call ecx
sub esp, 4
mov ecx, esp
mov dword [ecx], 0x6525bd
mov ecx, dword [sym.imp.GDI32.dll_GetTextCharset]
mov dword [esi + 0x90], 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 + 0x8c], eax
call ecx
sub esp, 4
mov ecx, esp
mov dword [ecx], 0xa1eec2
mov ecx, dword [sym.imp.USER32.dll_ArrangeIconicWindows]
mov dword [esi + 0x88], eax
call ecx
sub esp, 8
mov ecx, esp
lea edx, [esi + 0xc8]
mov dword [ecx + 4], edx
mov dword [ecx], 0x83c3b8
mov ecx, dword [sym.imp.GDI32.dll_GetAspectRatioFilterEx]
mov dword [esi + 0x84], eax
call ecx
xor ecx, ecx
mov edx, 0x1c
lea edi, [esi + 0xa8]
sub esp, 0xc
mov dword [esp], edi
mov dword [esp + 4], 0
mov dword [esp + 8], 0x1c
mov dword [esi + 0x80], eax
mov dword [esi + 0x7c], ecx
mov dword [esi + 0x78], edx
call fcn.100a0ed0
add esp, 0xc
sub esp, 8
mov eax, esp
lea ecx, [esi + 0xa8]
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 + 0x74], eax
call ecx
xor eax, eax
mov ecx, dword [esi + 0x98]
mov dword [esi + 0x70], ecx
mov dword [esi + 0x6c], eax
jmp 0x10001469
sub esp, 0x10
mov eax, esp
mov ecx, dword [esi + 0x9c]
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 + 0x68], eax
jmp 0x10001538
mov eax, dword [esi + 0x6c]
sub esp, 4
mov ecx, esp
mov dword [ecx], 0xca7ab3
mov ecx, dword [sym.imp.USER32.dll_GetMenuContextHelpId]
mov dword [esi + 0x64], 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 + 0x60], 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 + 0x5c], eax
call ecx
mov ecx, dword [esi + 0xa0]
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 + 0x58], eax
call edx
xor ecx, ecx
mov dword [esi + 0x54], eax
mov dword [esi + 0x50], ecx
mov eax, dword [esi + 0x50]
mov ecx, 0xaf286bcb
mov dword [esi + 0x4c], eax
mul ecx
mov eax, dword [esi + 0x4c]
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 4
imul eax, eax, 0x13
mov ecx, dword [esi + 0x4c]
sub ecx, eax
mov eax, ecx
sub eax, 1
mov dword [esi + 0x48], ecx
mov dword [esi + 0x44], eax
je 0x10001438
jmp 0x10001527
mov eax, dword [esi + 0x48]
sub eax, 0xb
mov dword [esi + 0x40], eax
je 0x10001438
jmp 0x10001538
mov eax, dword [esi + 0x4c]
add eax, 1
cmp eax, 0x3d9
mov dword [esi + 0x50], eax
jne 0x100014f3
xor eax, eax
xor ecx, ecx
mov edx, dword [esi + 0x64]
sub edx, 6
mov dword [esi + 0x3c], eax
mov dword [esi + 0x38], ecx
mov dword [esi + 0x34], edx
je 0x1000161f
jmp 0x10001565
mov eax, dword [esi + 0x64]
sub eax, 0x26
mov ecx, dword [esi + 0x38]
mov dword [esi + 0x30], eax
mov dword [esi + 0x2c], ecx
jne 0x1000164f
jmp 0x1000157c
mov eax, dword [sym.imp.KERNEL32.dll_GetUserDefaultLangID]
call eax
xor ecx, ecx
mov edx, 0x1c
sub esp, 0xc
mov edi, dword [esi + 0x70]
mov dword [esp], edi
mov dword [esp + 4], 0
mov dword [esp + 8], 0x1c
mov word [esi + 0x2a], ax
mov dword [esi + 0x24], ecx
mov dword [esi + 0x20], edx
call fcn.100a0ed0
add esp, 0xc
sub esp, 8
mov ecx, esp
mov edx, dword [esi + 0x98]
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 + 0x1c], eax
call ecx
mov dword [esi + 0x18], eax
mov eax, dword [sym.imp.KERNEL32.dll_GetConsoleWindow]
call eax
mov dword [esi + 0x14], eax
sub esp, 8
mov eax, esp
mov dword [eax + 4], 0x6e5bc4
mov dword [eax], 0xb578d9
mov eax, dword [sym.imp.GDI32.dll_PlayMetaFile]
call eax
mov ecx, dword [sym.imp.KERNEL32.dll_SetFileApisToOEM]
mov dword [esi + 0x10], eax
call ecx
jmp 0x100016ac
mov eax, dword [esi + 0x2c]
sub esp, 0xc
mov ecx, esp
mov edx, dword [esi + 0x94]
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 + 0xc], 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 + 8], eax
call ecx
mov ecx, dword [esi + 0xc]
add ecx, 1
cmp ecx, 0xa
mov dword [esi + 4], eax
mov dword [esi + 0x2c], ecx
jne 0x1000164f
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 + 0x64]
add ecx, 1
cmp ecx, 0x45
mov dword [esi], eax
mov dword [esi + 0x6c], ecx
jne 0x10001469
lea esp, [ebp - 8]
pop esi
pop edi
pop ebp
ret