Function at 0x4c93b0
Capabilities:
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x394
mov eax, dword [0x7af734]
test eax, eax
je 0x4cc6e8
xor ebx, ebx
mov word [ebp - 0x360], bx
mov esi, dword fs:[0x18]
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 4], 0
mov dword [esp], 0
call eax
sub esp, 8
mov dword [ebp - 0x36c], eax
mov eax, 0xb94
call fcn.004b3be0
mov edx, dword [esi + 0x34]
mov eax, dword [sym.imp.kernel32.dll_GetUserDefaultLCID]
mov edi, dword [ebp - 0x36c]
mov dword [ebp - 0x370], edx
mov dword [ebp - 0x37c], eax
call eax
mov ebx, eax
mov eax, dword [ebp - 0x37c]
call eax
mov edx, dword [ebp - 0x370]
mov ecx, eax
cmp ecx, dword [ebp - 0x36c]
mov eax, 1
je 0x4c9455
mov ecx, dword [0x8f0770]
test ecx, ecx
sete cl
xor eax, eax
cmp dword [esi + 0x34], 0x57
sete al
and eax, ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], edi
lea edi, [ebp - 0x360]
mov dword [esp + 8], ebx
mov dword [esp], eax
mov dword [esp + 4], str.Expected_lcid___08lx__got__08lx__error__ld_n
call fcn.004b46e0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x55
mov dword [esp + 4], edi
mov eax, dword [ebp - 0x36c]
mov dword [esp], eax
call dword [0x7af724]
sub esp, 0x10
mov ebx, eax
mov eax, 0xb97
call fcn.004b3be0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Expected_ret___0__got__d__error__ld_n
mov dword [esp + 0xc], eax
xor eax, eax
test ebx, ebx
setg al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xb98
call fcn.004b3be0
mov eax, edi
shr eax, 0x10
mov dword [ebp - 0x370], eax
je 0x4cc590
mov dword [esp + 4], 0xffffffff
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, eax
sub esp, 8
mov eax, 0x5d886c
test edx, edx
jne 0x4c9517
mov edx, 0xffffffff
mov eax, edi
call fcn.004b38c0
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x36c]
mov dword [esp], str._08lx___s_n
mov dword [esp + 4], eax
mov ebx, dword fs:[0x18]
call fcn.004b4040
xor eax, eax
mov dword [ebx + 0x34], 0xdeadbeef
mov word [ebp - 0x360], ax
mov dword [esp + 4], 0
mov dword [esp], str._x_sys_default_locale
call dword [sym.imp.kernel32.dll_LocaleNameToLCID]
sub esp, 8
mov dword [ebp - 0x36c], eax
mov eax, 0xb9d
call fcn.004b3be0
mov edx, dword [ebx + 0x34]
mov ecx, dword [ebp - 0x36c]
mov eax, dword [sym.imp.kernel32.dll_GetSystemDefaultLCID]
mov dword [ebp - 0x378], edx
mov dword [ebp - 0x374], ecx
mov dword [ebp - 0x384], eax
call eax
mov esi, eax
mov eax, dword [ebp - 0x384]
call eax
mov edx, dword [ebp - 0x378]
mov dword [esp + 0x10], edx
mov ecx, dword [ebp - 0x374]
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 4], str.Expected_lcid___08lx__got__08lx__error__ld_n
cmp dword [ebp - 0x36c], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x55
mov dword [esp + 4], edi
mov eax, dword [ebp - 0x36c]
mov dword [esp], eax
call dword [0x7af724]
sub esp, 0x10
mov esi, eax
mov eax, 0xba0
call fcn.004b3be0
mov eax, dword [ebx + 0x34]
mov dword [esp + 8], esi
mov dword [esp + 4], str.Expected_ret___0__got__d__error__ld_n
mov dword [esp + 0xc], eax
xor eax, eax
test esi, esi
setg al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xba1
call fcn.004b3be0
mov eax, dword [ebp - 0x370]
test eax, eax
je 0x4cc4d0
mov dword [esp + 4], 0xffffffff
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, eax
sub esp, 8
mov eax, 0x5d886c
test edx, edx
jne 0x4c9667
mov edx, 0xffffffff
mov eax, edi
call fcn.004b38c0
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x36c]
mov dword [esp], str._08lx___s_n
mov dword [esp + 4], eax
mov ebx, dword fs:[0x18]
call fcn.004b4040
xor eax, eax
mov dword [ebx + 0x34], 0xdeadbeef
mov word [ebp - 0x360], ax
mov dword [esp + 4], 0
mov dword [esp], 0x5d9e3e
call dword [0x7af734]
sub esp, 8
mov dword [ebp - 0x36c], eax
mov eax, 0xba6
call fcn.004b3be0
mov eax, dword [ebp - 0x36c]
mov edx, dword [ebx + 0x34]
mov dword [esp + 4], str.Expected_lcid__0x7F__got__08lx__error__ld_n
cmp eax, 0x7f
mov dword [esp + 8], eax
sete al
mov dword [esp + 0xc], edx
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x55
mov dword [esp + 4], edi
mov eax, dword [ebp - 0x36c]
mov dword [esp], eax
call dword [0x7af724]
sub esp, 0x10
mov esi, eax
mov eax, 0xba8
call fcn.004b3be0
mov eax, dword [ebx + 0x34]
mov dword [esp + 8], esi
mov dword [esp + 4], str.Expected_ret___0__got__d__error__ld_n
mov dword [esp + 0xc], eax
xor eax, eax
test esi, esi
setg al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xba9
call fcn.004b3be0
mov eax, dword [ebp - 0x370]
test eax, eax
je 0x4cc570
mov dword [esp + 4], 0xffffffff
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, eax
sub esp, 8
mov eax, 0x5d886c
test edx, edx
jne 0x4c9781
mov edx, 0xffffffff
mov eax, edi
call fcn.004b38c0
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x36c]
lea ebx, [ebp - 0x2b6]
mov dword [esp], str._08lx___s_n
mov dword [esp + 4], eax
call fcn.004b4040
mov esi, dword [0x7af724]
mov eax, dword [ebp - 0x37c]
call eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x55
mov dword [esp + 4], ebx
mov dword [esp], eax
call esi
sub esp, 0x10
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x55
mov dword [esp + 4], edi
mov dword [esp], 0
call dword [0x7af724]
sub esp, 0x10
mov esi, eax
mov eax, 0xbad
call fcn.004b3be0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp + 8], esi
mov dword [esp + 4], str.Expected_ret___0__got__d__error__ld_n
mov dword [esp + 0xc], eax
xor eax, eax
test esi, esi
setg al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xbae
call fcn.004b3be0
mov eax, ebx
shr eax, 0x10
mov dword [ebp - 0x374], eax
je 0x4cc550
mov dword [esp + 4], 0xffffffff
mov esi, 0x5d886c
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x4c9869
mov edx, 0xffffffff
mov eax, ebx
call fcn.004b38c0
mov esi, eax
mov eax, dword [ebp - 0x370]
test eax, eax
je 0x4cc530
mov dword [esp + 4], 0xffffffff
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, 0x5d886c
sub esp, 8
test eax, eax
jne 0x4c98a2
mov edx, 0xffffffff
mov eax, edi
call fcn.004b38c0
mov edx, eax
mov eax, dword [sym.imp.msvcrt.dll_wcscmp]
mov dword [ebp - 0x380], edx
mov dword [esp + 4], ebx
mov dword [esp], edi
mov dword [ebp - 0x378], eax
call eax
mov dword [esp + 0xc], esi
mov edx, dword [ebp - 0x380]
test eax, eax
mov dword [esp + 4], str.got__s____s_n
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x55
mov dword [esp + 4], edi
mov dword [esp], 0xc00
call dword [0x7af724]
sub esp, 0x10
mov esi, eax
mov eax, 0xbb1
call fcn.004b3be0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp + 8], esi
mov dword [esp + 4], str.Expected_ret___0__got__d__error__ld_n
mov dword [esp + 0xc], eax
xor eax, eax
test esi, esi
setg al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xbb2
call fcn.004b3be0
mov esi, dword [ebp - 0x374]
test esi, esi
je 0x4cc510
mov dword [esp + 4], 0xffffffff
mov esi, 0x5d886c
mov dword [esp], ebx
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x4c997d
mov edx, 0xffffffff
mov eax, ebx
call fcn.004b38c0
mov esi, eax
mov ecx, dword [ebp - 0x370]
test ecx, ecx
je 0x4cc4f0
mov dword [esp + 4], 0xffffffff
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, 0x5d886c
sub esp, 8
test eax, eax
jne 0x4c99b6
mov edx, 0xffffffff
mov eax, edi
call fcn.004b38c0
mov edx, eax
mov dword [ebp - 0x374], edx
mov dword [esp + 4], ebx
mov dword [esp], edi
mov eax, dword [ebp - 0x378]
call eax
mov dword [esp + 0xc], esi
mov edx, dword [ebp - 0x374]
test eax, eax
mov dword [esp + 4], str.got__s____s_n
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov edx, dword fs:[0x18]
mov dword [edx + 0x34], 0xdeadbeef
mov dword [ebp - 0x374], edx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x55
mov dword [esp + 4], edi
mov dword [esp], 0x1000
call dword [0x7af724]
sub esp, 0x10
mov esi, eax
mov eax, 0xbb6
call fcn.004b3be0
mov edx, dword [ebp - 0x374]
mov eax, dword [edx + 0x34]
test esi, esi
jle 0x4cc490
mov dword [esp + 0xc], eax
mov dword [esp + 8], esi
mov dword [esp + 4], str.Expected_ret___0__got__d__error__ld_n
mov dword [esp], 1
call fcn.004b46e0
mov eax, 0xbb7
call fcn.004b3be0
mov edx, 0xffffffff
mov eax, ebx
call fcn.004b3ad0
mov edx, 0xffffffff
mov esi, eax
mov eax, edi
call fcn.004b3ad0
mov dword [ebp - 0x374], eax
mov dword [esp + 4], ebx
mov dword [esp], edi
mov eax, dword [ebp - 0x378]
call eax
mov dword [esp + 0xc], esi
mov edx, dword [ebp - 0x374]
test eax, eax
mov dword [esp + 4], str.got__s____s_n
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov ebx, dword fs:[0x18]
mov dword [ebx + 0x34], 0xdeadbeef
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x55
mov dword [esp + 4], edi
mov dword [esp], 0x1400
call dword [0x7af724]
sub esp, 0x10
test eax, eax
jne 0x4c9f60
mov eax, 0xbbc
call fcn.004b3be0
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], 0x5d8dba
mov dword [esp + 8], eax
xor eax, eax
cmp dword [ebx + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.004b46e0
mov ebx, dword fs:[0x18]
mov dword [ebx + 0x34], 0xdeadbeef
mov dword [esp + 4], 0
mov dword [esp], str.invalid
call dword [0x7af734]
mov dword [ebp - 0x36c], eax
sub esp, 8
mov eax, 0xbc1
call fcn.004b3be0
mov eax, dword [ebp - 0x36c]
mov ecx, dword [ebx + 0x34]
xor edx, edx
test eax, eax
jne 0x4c9b72
xor edx, edx
cmp ecx, 0x57
sete dl
mov dword [esp], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov dword [esp + 4], str.Expected_lcid__0__got__08lx__error__ld_n
call fcn.004b46e0
mov dword [esp + 4], 0
mov dword [esp], str.es_es
call dword [0x7af734]
sub esp, 8
mov dword [ebp - 0x36c], eax
mov eax, 0xbc6
call fcn.004b3be0
mov eax, dword [ebp - 0x36c]
mov dword [esp + 4], str.Got_wrong_lcid_for_es_es:_0x_lx_n
cmp eax, 0xc0a
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov dword [esp + 4], 0x8000000
mov dword [esp], 0x5dc58a
call dword [0x7af734]
mov dword [ebp - 0x36c], eax
sub esp, 8
mov eax, 0xbca
call fcn.004b3be0
mov eax, dword [ebp - 0x36c]
mov edx, 1
cmp eax, 9
je 0x4c9c1c
xor edx, edx
mov ecx, eax
or ecx, dword [0x8f0770]
sete dl
mov dword [esp], edx
mov dword [esp + 8], eax
mov dword [esp + 4], str.got_0x_04lx_n
call fcn.004b46e0
mov dword [esp + 4], 0
mov dword [esp], 0x5dc58a
call dword [0x7af734]
mov dword [ebp - 0x36c], eax
sub esp, 8
mov eax, 0xbcd
call fcn.004b3be0
mov eax, dword [ebp - 0x36c]
mov edx, 1
cmp eax, 0x409
je 0x4c9c77
xor edx, edx
mov ecx, eax
or ecx, dword [0x8f0770]
sete dl
mov dword [esp + 8], eax
mov dword [esp + 4], str.got_0x_04lx_n
mov dword [esp], edx
call fcn.004b46e0
mov eax, dword [ebp - 0x36c]
test eax, eax
je 0x4ca6ac
mov eax, dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov ebx, 0x5e49c0
mov esi, ebx
mov dword [ebp - 0x388], eax
jmp 0x4c9e6b
mov dword [esp + 4], 0xffffffff
mov dword [esp], esi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, eax
sub esp, 8
mov eax, 0x5d886c
test edx, edx
jne 0x4c9cdb
mov edx, 0xffffffff
mov eax, esi
call fcn.004b38c0
mov ecx, dword [ebp - 0x374]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 4], str._s:_got_wrong_lcid_0x_04lx__expected_0x_04lx_n
mov eax, dword [ebp - 0x36c]
cmp dword [esi + 0x28], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
xor eax, eax
mov word [ebp - 0x360], ax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x55
mov dword [esp + 4], edi
mov eax, dword [ebp - 0x36c]
mov dword [esp], eax
call dword [0x7af724]
sub esp, 0x10
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x5d8897
mov dword [eax + 4], 0xbd9
mov dword [esp + 4], 0xffffffff
mov dword [esp], esi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, eax
sub esp, 8
mov eax, 0x5d886c
test edx, edx
jne 0x4c9d7a
mov edx, 0xffffffff
mov eax, esi
call fcn.004b38c0
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setg al
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 4], str._s:_got__d_n
call fcn.004b46e0
call fcn.0057d110
mov dword [eax], 0x5d8897
mov dword [eax + 4], 0xbda
mov eax, dword [ebp - 0x370]
test eax, eax
je 0x4c9fa0
mov dword [esp + 4], 0xffffffff
mov ebx, 0x5d886c
mov dword [esp], edi
mov eax, dword [ebp - 0x388]
call eax
sub esp, 8
test eax, eax
jne 0x4c9de6
mov edx, 0xffffffff
mov eax, edi
call fcn.004b38c0
mov ebx, eax
mov eax, dword [ebp - 0x380]
test eax, eax
je 0x4c9fc3
mov dword [esp + 4], 0xffffffff
mov dword [esp], esi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, 0x5d886c
sub esp, 8
test eax, eax
jne 0x4c9e1f
mov edx, 0xffffffff
mov eax, esi
call fcn.004b38c0
mov edx, eax
lea eax, [esi + 6]
mov dword [ebp - 0x374], edx
mov dword [esp + 4], edi
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_lstrcmpW]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], ebx
mov edx, dword [ebp - 0x374]
add esi, 0x2c
movzx eax, al
mov dword [esp + 4], str._s:_got_wrong_locale_name__s_n
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.004b46e0
cmp word [esi], 0
je 0x4c9fe0
mov dword [esp + 4], 0
mov dword [esp], esi
call dword [0x7af734]
sub esp, 8
mov dword [ebp - 0x36c], eax
call fcn.0057d110
mov dword [eax], 0x5d8897
mov ebx, dword [ebp - 0x36c]
mov dword [eax + 4], 0xbd4
mov eax, dword [esi + 0x28]
mov dword [ebp - 0x374], eax
mov eax, esi
shr eax, 0x10
mov dword [ebp - 0x380], eax
jne 0x4c9cb0
movzx edx, si
mov dword [esp + 4], edx
mov dword [ebp - 0x38c], edx
mov dword [esp], 0x5d8876
call fcn.004b35c0
mov ecx, dword [ebp - 0x374]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 4], str._s:_got_wrong_lcid_0x_04lx__expected_0x_04lx_n
mov eax, dword [esi + 0x28]
cmp dword [ebp - 0x36c], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
xor eax, eax
mov word [ebp - 0x360], ax
mov dword [esp + 4], edi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x55
mov eax, dword [ebp - 0x36c]
mov dword [esp], eax
call dword [0x7af724]
sub esp, 0x10
mov ebx, eax
call fcn.0057d110
mov edx, dword [ebp - 0x38c]
mov dword [eax], 0x5d8897
mov dword [eax + 4], 0xbd9
mov dword [esp + 4], edx
mov dword [esp], 0x5d8876
call fcn.004b35c0
jmp 0x4c9d7a
mov eax, 0xbbb
call fcn.004b3be0
mov edx, 0xffffffff
mov eax, edi
call fcn.004b3ad0
mov ebx, eax
call dword [sym.imp.kernel32.dll_GetUserDefaultUILanguage]
mov dword [esp + 8], ebx
movzx eax, ax
mov dword [esp], str._08x___s_n
mov dword [esp + 4], eax
call fcn.004b4040
jmp 0x4c9b25
movzx eax, di
mov dword [esp], 0x5d8876
mov dword [esp + 4], eax
call fcn.004b35c0
mov ebx, eax
mov eax, dword [ebp - 0x380]
test eax, eax
jne 0x4c9df4
movzx eax, si
mov dword [esp], 0x5d8876
mov dword [esp + 4], eax
call fcn.004b35c0
mov edx, eax
jmp 0x4c9e1f
mov dword [esp + 4], 0
mov dword [esp], str.zh_Hant
call dword [0x7af734]
sub esp, 8
mov dword [ebp - 0x36c], eax
mov eax, 0xbe1
call fcn.004b3be0
mov edx, 0xffffffff
mov ebx, dword [ebp - 0x36c]
mov eax, str.zh_Hant
call fcn.004b3ad0
mov dword [esp + 4], str._s:_got_wrong_lcid_0x_04lx_n
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
xor eax, eax
cmp dword [ebp - 0x36c], 0xc04
sete al
mov dword [esp], eax
call fcn.004b46e0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x55
mov dword [esp + 4], edi
mov eax, dword [ebp - 0x36c]
mov dword [esp], eax
call dword [0x7af724]
sub esp, 0x10
mov ebx, eax
mov eax, 0xbe4
call fcn.004b3be0
mov edx, 0xffffffff
mov eax, str.zh_Hant
call fcn.004b3ad0
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setg al
mov dword [esp + 4], str._s:_got__d_n
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xbe5
call fcn.004b3be0
mov edx, 0xffffffff
mov eax, edi
call fcn.004b3ad0
mov edx, 0xffffffff
mov ebx, eax
mov eax, str.zh_Hant
call fcn.004b3ad0
mov dword [esp + 4], edi
mov esi, eax
mov dword [esp], str.zh_HK
call dword [sym.imp.kernel32.dll_lstrcmpW]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], ebx
movzx eax, al
mov dword [esp + 8], esi
mov dword [esp + 4], str._s:_got_wrong_locale_name__s_n
mov dword [esp], eax
call fcn.004b46e0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x55
mov dword [esp + 4], edi
mov dword [esp], 0x7c04
call dword [0x7af724]
sub esp, 0x10
mov ebx, eax
mov eax, 0xbea
call fcn.004b3be0
mov edx, 0xffffffff
mov eax, str.zh_Hant
call fcn.004b3ad0
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setg al
mov dword [esp + 4], str._s:_got__d_n
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xbeb
call fcn.004b3be0
mov edx, 0xffffffff
mov eax, edi
call fcn.004b3ad0
mov edx, 0xffffffff
mov ebx, eax
mov eax, str.zh_Hant
call fcn.004b3ad0
mov dword [esp + 4], edi
mov esi, eax
mov dword [esp], str.zh_HK
call dword [sym.imp.kernel32.dll_lstrcmpW]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], ebx
movzx eax, al
mov dword [esp + 8], esi
mov dword [esp + 4], str._s:_got_wrong_locale_name__s_n
mov dword [esp], eax
call fcn.004b46e0
mov dword [esp + 4], 0
mov dword [esp], str.zh_hant
call dword [0x7af734]
sub esp, 8
mov dword [ebp - 0x36c], eax
mov eax, 0xbf0
call fcn.004b3be0
mov edx, 0xffffffff
mov ebx, dword [ebp - 0x36c]
mov eax, str.zh_hant
call fcn.004b3ad0
mov dword [esp + 4], str._s:_got_wrong_lcid_0x_04lx_n
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
xor eax, eax
cmp dword [ebp - 0x36c], 0xc04
sete al
mov dword [esp], eax
call fcn.004b46e0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x55
mov dword [esp + 4], edi
mov eax, dword [ebp - 0x36c]
mov dword [esp], eax
call dword [0x7af724]
sub esp, 0x10
mov ebx, eax
mov eax, 0xbf3
call fcn.004b3be0
mov edx, 0xffffffff
mov eax, str.zh_hant
call fcn.004b3ad0
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setg al
mov dword [esp + 4], str._s:_got__d_n
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xbf4
call fcn.004b3be0
mov edx, 0xffffffff
mov eax, edi
call fcn.004b3ad0
mov edx, 0xffffffff
mov ebx, eax
mov eax, str.zh_hant
call fcn.004b3ad0
mov dword [esp + 4], edi
mov esi, eax
mov dword [esp], str.zh_HK
call dword [sym.imp.kernel32.dll_lstrcmpW]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], ebx
movzx eax, al
mov dword [esp + 8], esi
mov dword [esp + 4], str._s:_got_wrong_locale_name__s_n
mov dword [esp], eax
call fcn.004b46e0
mov dword [esp + 4], 0
mov dword [esp], str.zh_Hans
call dword [0x7af734]
sub esp, 8
mov dword [ebp - 0x36c], eax
mov eax, 0xbfa
call fcn.004b3be0
mov edx, 0xffffffff
mov ebx, dword [ebp - 0x36c]
mov eax, str.zh_Hans
call fcn.004b3ad0
mov dword [esp + 4], str._s:_got_wrong_lcid_0x_04lx_n
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
xor eax, eax
cmp dword [ebp - 0x36c], 0x804
sete al
mov dword [esp], eax
call fcn.004b46e0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x55
mov dword [esp + 4], edi
mov eax, dword [ebp - 0x36c]
mov dword [esp], eax
call dword [0x7af724]
sub esp, 0x10
mov ebx, eax
mov eax, 0xbfd
call fcn.004b3be0
mov edx, 0xffffffff
mov eax, str.zh_Hans
call fcn.004b3ad0
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setg al
mov dword [esp + 4], str._s:_got__d_n
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xbfe
call fcn.004b3be0
mov edx, 0xffffffff
mov eax, edi
call fcn.004b3ad0
mov edx, 0xffffffff
mov ebx, eax
mov eax, str.zh_Hans
call fcn.004b3ad0
mov dword [esp + 4], edi
mov esi, eax
mov dword [esp], 0x5dc620
call dword [sym.imp.kernel32.dll_lstrcmpW]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], ebx
movzx eax, al
mov dword [esp + 8], esi
mov dword [esp + 4], str._s:_got_wrong_locale_name__s_n
mov dword [esp], eax
call fcn.004b46e0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x55
mov dword [esp + 4], edi
mov dword [esp], 4
call dword [0x7af724]
sub esp, 0x10
mov ebx, eax
mov eax, 0xc02
call fcn.004b3be0
mov edx, 0xffffffff
mov eax, str.zh_Hans
call fcn.004b3ad0
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setg al
mov dword [esp + 4], str._s:_got__d_n
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xc03
call fcn.004b3be0
mov edx, 0xffffffff
mov eax, edi
call fcn.004b3ad0
mov edx, 0xffffffff
mov ebx, eax
mov eax, str.zh_Hans
call fcn.004b3ad0
mov dword [esp + 4], edi
mov esi, eax
mov dword [esp], 0x5dc620
call dword [sym.imp.kernel32.dll_lstrcmpW]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], ebx
movzx eax, al
mov dword [esp + 8], esi
mov dword [esp + 4], str._s:_got_wrong_locale_name__s_n
mov dword [esp], eax
call fcn.004b46e0
mov dword [esp + 4], 0
mov dword [esp], str.zh_hans
call dword [0x7af734]
sub esp, 8
mov dword [ebp - 0x36c], eax
mov eax, 0xc08
call fcn.004b3be0
mov edx, 0xffffffff
mov ebx, dword [ebp - 0x36c]
mov eax, str.zh_hans
call fcn.004b3ad0
mov dword [esp + 4], str._s:_got_wrong_lcid_0x_04lx_n
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
xor eax, eax
cmp dword [ebp - 0x36c], 0x804
sete al
mov dword [esp], eax
call fcn.004b46e0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x55
mov dword [esp + 4], edi
mov eax, dword [ebp - 0x36c]
mov dword [esp], eax
call dword [0x7af724]
sub esp, 0x10
mov ebx, eax
mov eax, 0xc0b
call fcn.004b3be0
mov edx, 0xffffffff
mov eax, str.zh_hans
call fcn.004b3ad0
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
xor eax, eax
test ebx, ebx
setg al
mov dword [esp + 4], str._s:_got__d_n
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xc0c
call fcn.004b3be0
mov edx, 0xffffffff
mov eax, edi
call fcn.004b3ad0
mov edx, 0xffffffff
mov ebx, eax
mov eax, str.zh_hans
call fcn.004b3ad0
mov dword [esp + 4], edi
mov esi, eax
mov dword [esp], 0x5dc620
call dword [sym.imp.kernel32.dll_lstrcmpW]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 0xc], ebx
movzx eax, al
mov dword [esp + 8], esi
mov dword [esp + 4], str._s:_got_wrong_locale_name__s_n
mov dword [esp], eax
call fcn.004b46e0
mov dword [esp + 4], 0
mov dword [esp], str.de_DE_phoneb
call dword [0x7af734]
sub esp, 8
mov dword [ebp - 0x36c], eax
mov eax, 0xc11
call fcn.004b3be0
mov edx, 0xffffffff
mov ebx, dword [ebp - 0x36c]
mov eax, str.zh_hans
call fcn.004b3ad0
mov dword [esp + 4], str._s:_got_wrong_lcid_0x_04lx_n
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
xor eax, eax
cmp dword [ebp - 0x36c], 0x10407
sete al
mov dword [esp], eax
call fcn.004b46e0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x55
mov dword [esp + 4], edi
mov eax, dword [ebp - 0x36c]
mov dword [esp], eax
call dword [0x7af724]
mov eax, 0xc14
sub esp, 0x10
call fcn.004b3be0
mov edx, 0xffffffff
mov eax, edi
call fcn.004b3ad0
mov dword [esp + 4], edi
mov ebx, eax
mov dword [esp], str.de_DE_phoneb
call dword [sym.imp.kernel32.dll_lstrcmpW]
sub esp, 8
test eax, eax
sete al
mov dword [esp + 8], ebx
movzx eax, al
mov dword [esp + 4], str.got_wrong_locale_name__s_n
mov dword [esp], eax
call fcn.004b46e0
mov eax, dword [0x7af730]
test eax, eax
je 0x4cc690
lea ecx, [ebp - 0x36c]
mov dword [esp + 8], 0
mov dword [esp + 4], ecx
mov dword [esp], 0
call eax
sub esp, 0xc
mov ebx, eax
mov eax, 0xc1b
call fcn.004b3be0
xor eax, eax
cmp ebx, 0xc00000ef
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.wrong_error__lx_n
mov dword [esp], eax
call fcn.004b46e0
lea eax, [ebp - 0x36c]
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], str._x_sys_default_locale
call dword [0x7af730]
sub esp, 0xc
mov ebx, eax
mov eax, 0xc1d
call fcn.004b3be0
xor eax, eax
cmp ebx, 0xc00000ef
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.wrong_error__lx_n
mov dword [esp], eax
call fcn.004b46e0
lea eax, [ebp - 0x36c]
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], str.invalid
call dword [0x7af730]
sub esp, 0xc
mov ebx, eax
mov eax, 0xc1f
call fcn.004b3be0
xor eax, eax
cmp ebx, 0xc00000ef
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.wrong_error__lx_n
mov dword [esp], eax
call fcn.004b46e0
lea eax, [ebp - 0x36c]
mov dword [ebp - 0x36c], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], 0x5d9e3e
call dword [0x7af730]
sub esp, 0xc
mov ebx, eax
mov eax, 0xc23
call fcn.004b3be0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.failed_error__lx_n
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xc24
call fcn.004b3be0
mov eax, dword [ebp - 0x36c]
mov dword [esp + 4], str.got__08lx_n
cmp eax, 0x7f
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
lea eax, [ebp - 0x36c]
mov dword [ebp - 0x36c], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], 0x5e5c30
call dword [0x7af730]
sub esp, 0xc
mov ebx, eax
mov eax, 0xc28
call fcn.004b3be0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.failed_error__lx_n
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xc29
call fcn.004b3be0
mov eax, dword [ebp - 0x36c]
mov dword [esp + 4], str.got__08lx_n
cmp eax, 0x409
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
lea eax, [ebp - 0x36c]
mov dword [ebp - 0x36c], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], str.es_es
call dword [0x7af730]
sub esp, 0xc
mov ebx, eax
mov eax, 0xc2d
call fcn.004b3be0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.failed_error__lx_n
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xc2e
call fcn.004b3be0
mov eax, dword [ebp - 0x36c]
mov dword [esp + 4], str.got__08lx_n
cmp eax, 0xc0a
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
lea eax, [ebp - 0x36c]
mov dword [ebp - 0x36c], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], str.de_DE_phoneb
call dword [0x7af730]
sub esp, 0xc
mov ebx, eax
mov eax, 0xc32
call fcn.004b3be0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.failed_error__lx_n
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xc33
call fcn.004b3be0
mov eax, dword [ebp - 0x36c]
mov dword [esp + 4], str.got__08lx_n
cmp eax, 0x10407
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
lea eax, [ebp - 0x36c]
mov dword [ebp - 0x36c], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], 0x5dc69e
call dword [0x7af730]
mov ebx, eax
sub esp, 0xc
mov eax, 0xc37
call fcn.004b3be0
test ebx, ebx
je 0x4cc440
mov esi, dword [0x8f0770]
test esi, esi
je 0x4cc620
mov dword [esp + 8], ebx
mov dword [esp + 4], str.failed_error__lx_n
mov dword [esp], 0
call fcn.004b46e0
lea eax, [ebp - 0x36c]
mov edi, 0x5e49c0
mov dword [ebp - 0x36c], 0xdeadbeef
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], str.dedephoneb
call dword [0x7af730]
sub esp, 0xc
mov ebx, eax
mov eax, 0xc3c
call fcn.004b3be0
xor eax, eax
cmp ebx, 0xc00000ef
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.failed_error__lx_n
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xc3d
call fcn.004b3be0
mov eax, dword [ebp - 0x36c]
mov dword [esp + 4], str.got__08lx_n
cmp eax, 0xdeadbeef
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
lea eax, [ebp - 0x36c]
mov dword [ebp - 0x36c], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], 0x5dc58a
call dword [0x7af730]
sub esp, 0xc
mov ebx, eax
mov eax, 0xc41
call fcn.004b3be0
xor eax, eax
cmp ebx, 0xc00000ef
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.wrong_error__lx_n
mov dword [esp], eax
call fcn.004b46e0
lea eax, [ebp - 0x36c]
mov dword [esp + 8], 1
mov dword [esp + 4], eax
mov dword [esp], 0x5dc58a
call dword [0x7af730]
sub esp, 0xc
mov ebx, eax
mov eax, 0xc43
call fcn.004b3be0
xor eax, eax
cmp ebx, 0xc00000ef
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.wrong_error__lx_n
mov dword [esp], eax
call fcn.004b46e0
lea eax, [ebp - 0x36c]
mov dword [esp + 8], 2
mov dword [esp + 4], eax
mov dword [esp], 0x5dc58a
call dword [0x7af730]
sub esp, 0xc
mov ebx, eax
mov eax, 0xc45
call fcn.004b3be0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.failed_error__lx_n
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xc46
call fcn.004b3be0
mov eax, dword [ebp - 0x36c]
mov dword [esp + 4], str.got__08lx_n
cmp eax, 9
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
lea eax, [ebp - 0x36c]
mov dword [esp + 8], 2
mov dword [esp + 4], eax
mov dword [esp], str.en_RR
call dword [0x7af730]
sub esp, 0xc
mov ebx, eax
mov eax, 0xc48
call fcn.004b3be0
xor eax, eax
cmp ebx, 0xc00000ef
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.wrong_error__lx_n
mov dword [esp], eax
call fcn.004b46e0
lea eax, [ebp - 0x36c]
mov dword [esp + 8], 2
mov dword [esp + 4], eax
mov dword [esp], str.en_Latn_RR
call dword [0x7af730]
sub esp, 0xc
mov ebx, eax
mov eax, 0xc4a
call fcn.004b3be0
xor eax, eax
cmp ebx, 0xc00000ef
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.wrong_error__lx_n
mov dword [esp], eax
call fcn.004b46e0
mov eax, dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov dword [ebp - 0x374], eax
jmp 0x4cae84
mov esi, 0x7804
cmp eax, 0x804
je 0x4cac7c
cmp eax, 0xc04
jne 0x4caeab
mov esi, 0x7c04
lea eax, [ebp - 0x36c]
mov dword [esp + 8], 2
mov dword [esp + 4], eax
mov dword [esp], edi
call dword [0x7af730]
sub esp, 0xc
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x5d8897
mov dword [eax + 4], 0xc58
mov eax, edi
shr eax, 0x10
mov dword [ebp - 0x370], eax
je 0x4cc350
mov dword [esp + 4], 0xffffffff
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, eax
sub esp, 8
mov eax, 0x5d886c
test edx, edx
jne 0x4cacea
mov edx, 0xffffffff
mov eax, edi
call fcn.004b38c0
test ebx, ebx
jne 0x4cc2e0
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
mov dword [esp + 4], str._s_failed_error__lx_n
mov dword [esp], 1
call fcn.004b46e0
mov eax, 0xc5a
call fcn.004b3be0
mov ebx, dword [ebp - 0x36c]
mov dword [esp], edi
mov dword [esp + 4], 0xffffffff
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
mov edx, eax
sub esp, 8
mov eax, 0x5d886c
test edx, edx
jne 0x4cad4d
mov edx, 0xffffffff
mov eax, edi
call fcn.004b38c0
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 4], str._s:_got_wrong_lcid_0x_04lx__expected_0x_04lx_n
cmp dword [ebp - 0x36c], esi
sete al
mov dword [esp], eax
call fcn.004b46e0
lea eax, [ebp - 0x36c]
mov dword [esp + 8], 0
mov dword [esp + 4], eax
lea eax, [edi + 6]
mov dword [esp], eax
call dword [0x7af730]
sub esp, 0xc
mov ebx, eax
call fcn.0057d110
mov dword [eax], 0x5d8897
mov dword [eax + 4], 0xc5d
mov eax, dword [ebp - 0x370]
test eax, eax
je 0x4cc3c0
mov dword [esp + 4], 0xffffffff
mov dword [esp], edi
mov eax, dword [ebp - 0x374]
call eax
mov edx, eax
sub esp, 8
mov eax, 0x5d886c
test edx, edx
jne 0x4cade4
mov edx, 0xffffffff
mov eax, edi
call fcn.004b38c0
test ebx, ebx
jne 0x4caec0
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
mov dword [esp + 4], str._s_failed_error__lx_n
mov dword [esp], 1
call fcn.004b46e0
mov eax, 0xc5f
call fcn.004b3be0
mov esi, dword [edi + 0x28]
mov ebx, dword [ebp - 0x36c]
mov dword [esp + 4], 0xffffffff
mov dword [esp], edi
mov eax, dword [ebp - 0x374]
call eax
mov edx, eax
sub esp, 8
mov eax, 0x5d886c
test edx, edx
jne 0x4cae4c
mov edx, 0xffffffff
mov eax, edi
call fcn.004b38c0
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], str._s:_got_wrong_lcid_0x_04lx__expected_0x_04lx_n
mov eax, dword [ebp - 0x36c]
cmp dword [edi + 0x28], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
add edi, 0x2c
cmp word [edi], 0
je 0x4caf08
mov edx, dword [edi + 0x28]
movzx eax, dx
cmp eax, 0x241a
je 0x4cc430
jbe 0x4cac60
mov esi, 0x6c1a
cmp eax, 0x281a
je 0x4cac7c
mov esi, edx
and esi, 0x3ff
jmp 0x4cac7c
mov esi, dword [0x8f0770]
mov edx, dword [edi + 0x28]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
test esi, esi
mov dword [esp + 4], str._s_failed_error__lx_n
jne 0x4cc320
cmp edx, 0x241a
jne 0x4cc320
mov dword [esp], 1
add edi, 0x2c
call fcn.004b46e0
cmp word [edi], 0
jne 0x4cae84
lea esi, [esi]
mov ebx, dword [0x7af728]
test ebx, ebx
je 0x4cc5b0
lea ebx, [ebp - 0x20c]
mov ecx, 0x100
mov eax, 0xcccccccc
mov word [ebp - 0x366], cx
mov edi, ebx
mov ecx, 0x40
rep stosd dword es:[edi], eax
mov eax, 0xc6e
mov dword [ebp - 0x364], ebx
lea edi, [ebp - 0x368]
call fcn.004b3be0
mov ecx, dword [sym.imp.kernel32.dll_IsValidLocale]
mov dword [esp + 4], 0
mov dword [esp], 0
mov dword [ebp - 0x374], ecx
call ecx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 4], str.expected_invalid_n
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov dword [esp + 4], edi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp], 0
call dword [0x7af728]
sub esp, 0x10
mov esi, eax
mov eax, 0xc70
call fcn.004b3be0
xor eax, eax
cmp esi, 0xc00000ef
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.wrong_error__lx_n
mov dword [esp], eax
call fcn.004b46e0
mov dword [esp + 4], edi
mov edi, ebx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 2
mov dword [esp], 0
call dword [0x7af728]
sub esp, 0x10
mov esi, eax
mov eax, 0xc72
call fcn.004b3be0
xor eax, eax
cmp esi, 0xc00000ef
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.wrong_error__lx_n
mov dword [esp], eax
call fcn.004b46e0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0x7f
call dword [0x7af728]
sub esp, 0x10
mov esi, eax
mov eax, 0xc74
call fcn.004b3be0
xor eax, eax
cmp esi, 0xc00000f0
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.wrong_error__lx_n
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xcccccccc
mov ecx, 0x40
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x368]
mov dword [esp], 0x409
mov dword [esp + 4], edi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
call dword [0x7af728]
sub esp, 0x10
mov esi, eax
mov eax, 0xc78
call fcn.004b3be0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.wrong_error__lx_n
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xc79
call fcn.004b3be0
mov edx, 0xffffffff
mov eax, ebx
call fcn.004b3ad0
mov dword [esp], ebx
mov dword [esp + 4], 0x5d9248
mov esi, eax
mov ecx, dword [ebp - 0x378]
call ecx
mov dword [esp + 8], esi
test eax, eax
mov dword [esp + 4], str.wrong_name__s_n
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xc7a
call fcn.004b3be0
mov edi, dword [sym.imp.msvcrt.dll_wcslen]
movzx esi, word [ebp - 0x368]
mov dword [esp], ebx
mov dword [ebp - 0x370], edi
call edi
movzx edx, si
mov dword [esp + 4], str.wrong_len__u_n
mov edi, ebx
add eax, eax
mov dword [esp + 8], edx
cmp eax, edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xc7b
call fcn.004b3be0
movzx edx, word [ebp - 0x366]
mov dword [esp + 4], str.wrong_max_len__u_n
cmp dx, 0x100
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
lea edx, [ebp - 0x368]
mov dword [esp + 0xc], 0
mov dword [esp + 4], edx
mov dword [esp + 8], 0
mov dword [esp], 9
call dword [0x7af728]
sub esp, 0x10
mov esi, eax
mov eax, 0xc7e
call fcn.004b3be0
xor eax, eax
cmp esi, 0xc00000ef
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.wrong_error__lx_n
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xcccccccc
mov ecx, 0x40
lea edx, [ebp - 0x368]
rep stosd dword es:[edi], eax
mov dword [esp + 4], edx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 2
mov dword [esp], 9
call dword [0x7af728]
sub esp, 0x10
mov esi, eax
mov eax, 0xc82
call fcn.004b3be0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.wrong_error__lx_n
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xc83
call fcn.004b3be0
movzx esi, word [ebp - 0x368]
mov dword [esp], ebx
mov edi, dword [ebp - 0x370]
call edi
movzx edx, si
mov dword [esp + 4], str.wrong_len__u_n
mov edi, ebx
add eax, eax
mov dword [esp + 8], edx
cmp eax, edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xc84
call fcn.004b3be0
mov edx, 0xffffffff
mov eax, ebx
call fcn.004b3ad0
mov dword [esp], ebx
mov dword [esp + 4], 0x5dc58a
mov esi, eax
mov ecx, dword [ebp - 0x378]
call ecx
mov dword [esp + 8], esi
test eax, eax
mov dword [esp + 4], str.wrong_name__s_n
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xc86
call fcn.004b3be0
mov dword [esp + 4], 0
mov dword [esp], 0x10407
mov esi, dword [ebp - 0x374]
call esi
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], str.expected_valid_n
call fcn.004b46e0
mov eax, 0xcccccccc
mov ecx, 0x40
lea edx, [ebp - 0x368]
rep stosd dword es:[edi], eax
mov dword [esp + 4], edx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp], 0x10407
call dword [0x7af728]
sub esp, 0x10
mov esi, eax
mov eax, 0xc89
call fcn.004b3be0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.wrong_error__lx_n
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xc8a
call fcn.004b3be0
movzx esi, word [ebp - 0x368]
mov dword [esp], ebx
mov edi, dword [ebp - 0x370]
call edi
movzx edx, si
mov dword [esp + 4], str.wrong_len__u_n
mov edi, ebx
add eax, eax
mov dword [esp + 8], edx
cmp eax, edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xc8b
call fcn.004b3be0
mov edx, 0xffffffff
mov eax, ebx
call fcn.004b3ad0
mov dword [esp], ebx
mov dword [esp + 4], str.de_DE_phoneb
mov esi, eax
mov ecx, dword [ebp - 0x378]
call ecx
mov dword [esp + 8], esi
test eax, eax
mov dword [esp + 4], str.wrong_name__s_n
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xc8d
call fcn.004b3be0
mov dword [esp + 4], 0
mov dword [esp], 0x800
mov esi, dword [ebp - 0x374]
call esi
sub esp, 8
test eax, eax
sete al
mov dword [esp + 4], str.expected_invalid_n
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xcccccccc
mov ecx, 0x40
lea edx, [ebp - 0x368]
rep stosd dword es:[edi], eax
mov dword [esp + 4], edx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp], 0x800
call dword [0x7af728]
sub esp, 0x10
mov esi, eax
mov eax, 0xc90
call fcn.004b3be0
xor eax, eax
test esi, esi
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.wrong_error__lx_n
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xc91
call fcn.004b3be0
movzx esi, word [ebp - 0x368]
mov dword [esp], ebx
mov edi, dword [ebp - 0x370]
call edi
movzx edx, si
mov dword [esp + 4], str.wrong_len__u_n
lea esi, [ebp - 0x10c]
add eax, eax
mov dword [esp + 8], edx
cmp eax, edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov edx, dword [ebp - 0x384]
call edx
mov edx, dword [sym.imp.kernel32.dll_LCIDToLocaleName]
mov dword [esp + 4], esi
mov dword [esp + 0xc], 0
mov dword [esp + 8], pe_nt_image_headers32
mov dword [esp], eax
mov dword [ebp - 0x380], edx
call edx
mov eax, 0xc93
sub esp, 0x10
call fcn.004b3be0
mov edx, 0xffffffff
mov eax, esi
call fcn.004b3ad0
mov edx, 0xffffffff
mov dword [ebp - 0x388], eax
mov eax, ebx
call fcn.004b3ad0
mov dword [esp + 4], esi
mov dword [esp], ebx
mov edi, eax
mov ecx, dword [ebp - 0x378]
call ecx
mov ecx, dword [ebp - 0x388]
mov dword [esp + 8], edi
mov edi, ebx
test eax, eax
mov dword [esp + 4], str.wrong_name__s____s_n
sete al
mov dword [esp + 0xc], ecx
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xc95
call fcn.004b3be0
mov dword [esp + 4], 0
mov dword [esp], 0x400
mov edx, dword [ebp - 0x374]
call edx
sub esp, 8
test eax, eax
sete al
mov dword [esp + 4], str.expected_invalid_n
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xcccccccc
mov ecx, 0x40
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x368]
mov dword [esp], 0x400
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
call dword [0x7af728]
sub esp, 0x10
mov edi, eax
mov eax, 0xc98
call fcn.004b3be0
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.wrong_error__lx_n
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xc99
call fcn.004b3be0
movzx edi, word [ebp - 0x368]
mov dword [esp], ebx
mov edx, dword [ebp - 0x370]
call edx
movzx edx, di
mov dword [esp + 4], str.wrong_len__u_n
add eax, eax
mov dword [esp + 8], edx
cmp eax, edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, dword [ebp - 0x37c]
call eax
mov dword [esp + 4], esi
mov dword [esp + 0xc], 0
mov dword [esp + 8], pe_nt_image_headers32
mov dword [esp], eax
mov edi, dword [ebp - 0x380]
call edi
mov eax, 0xc9b
sub esp, 0x10
call fcn.004b3be0
mov edx, 0xffffffff
mov eax, esi
call fcn.004b3ad0
mov edx, 0xffffffff
mov dword [ebp - 0x388], eax
mov eax, ebx
call fcn.004b3ad0
mov dword [esp + 4], esi
mov dword [esp], ebx
mov edi, eax
mov ecx, dword [ebp - 0x378]
call ecx
mov ecx, dword [ebp - 0x388]
mov dword [esp + 8], edi
test eax, eax
mov dword [esp + 4], str.wrong_name__s____s_n
sete al
mov dword [esp + 0xc], ecx
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xc9d
call fcn.004b3be0
mov dword [esp + 4], 0
mov dword [esp], 0x7f
mov edi, dword [ebp - 0x374]
call edi
mov edi, ebx
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], str.expected_valid_n
call fcn.004b46e0
mov eax, 0xcccccccc
mov ecx, 0x40
rep stosd dword es:[edi], eax
lea ecx, [ebp - 0x368]
mov dword [esp], 0x7f
mov dword [esp + 4], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
call dword [0x7af728]
sub esp, 0x10
mov edi, eax
mov eax, 0xca0
call fcn.004b3be0
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.wrong_error__lx_n
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xca1
call fcn.004b3be0
movzx edi, word [ebp - 0x368]
mov dword [esp], ebx
mov edx, dword [ebp - 0x370]
call edx
movzx edx, di
mov dword [esp + 4], str.wrong_len__u_n
add eax, eax
mov dword [esp + 8], edx
cmp eax, edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xca2
call fcn.004b3be0
mov edx, 0xffffffff
mov eax, ebx
call fcn.004b3ad0
mov dword [esp], ebx
mov dword [esp + 4], 0x5d9e3e
mov edi, eax
mov ecx, dword [ebp - 0x378]
call ecx
mov dword [esp + 8], edi
mov edi, ebx
test eax, eax
mov dword [esp + 4], str.wrong_name__s_n
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xcccccccc
mov ecx, 0x40
rep stosd dword es:[edi], eax
lea edi, [ebp - 0x368]
mov dword [esp], 0xc00
mov dword [esp + 4], edi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
call dword [0x7af728]
sub esp, 0x10
mov edi, eax
mov eax, 0xca6
call fcn.004b3be0
xor eax, eax
test edi, edi
mov dword [esp + 8], edi
sete al
mov dword [esp + 4], str.wrong_error__lx_n
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xca7
call fcn.004b3be0
movzx edi, word [ebp - 0x368]
mov dword [esp], ebx
mov edx, dword [ebp - 0x370]
call edx
movzx edx, di
mov dword [esp + 4], str.wrong_len__u_n
add eax, eax
mov dword [esp + 8], edx
cmp eax, edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, dword [ebp - 0x37c]
call eax
mov dword [esp + 4], esi
mov dword [esp + 0xc], 0
mov dword [esp + 8], pe_nt_image_headers32
mov dword [esp], eax
mov edi, dword [ebp - 0x380]
call edi
mov eax, 0xca9
sub esp, 0x10
call fcn.004b3be0
mov edx, 0xffffffff
mov eax, esi
call fcn.004b3ad0
mov edx, 0xffffffff
mov dword [ebp - 0x374], eax
mov eax, ebx
call fcn.004b3ad0
mov dword [esp + 4], esi
lea esi, [ebp - 0x368]
mov dword [esp], ebx
mov edi, eax
mov ecx, dword [ebp - 0x378]
call ecx
mov ecx, dword [ebp - 0x374]
mov dword [esp + 8], edi
mov edi, ebx
test eax, eax
mov dword [esp + 4], str.wrong_name__s____s_n
sete al
mov dword [esp + 0xc], ecx
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov dword [esp + 4], esi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp], 0x1400
call dword [0x7af728]
sub esp, 0x10
mov esi, eax
mov eax, 0xcac
call fcn.004b3be0
test esi, esi
mov dword [esp + 8], esi
sete al
cmp esi, 0xc0000001
mov dword [esp + 4], str.wrong_error__lx_n
lea esi, [ebp - 0x368]
sete dl
or eax, edx
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov dword [esp + 4], esi
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp], 0x1000
call dword [0x7af728]
sub esp, 0x10
mov esi, eax
mov eax, 0xcaf
call fcn.004b3be0
xor eax, eax
cmp esi, 0xc00000ef
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.wrong_error__lx_n
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xcccccccc
mov ecx, 0x40
mov dword [ebp - 0x368], 0xabeef
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x368]
mov dword [esp], 0x10407
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], eax
call dword [0x7af728]
sub esp, 0x10
mov esi, eax
mov eax, 0xcb5
call fcn.004b3be0
xor eax, eax
cmp esi, 0xc0000023
mov dword [esp + 8], esi
sete al
mov dword [esp + 4], str.wrong_error__lx_n
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xcb6
call fcn.004b3be0
movzx edx, word [ebp - 0x368]
mov dword [esp + 4], str.wrong_len__u_n
cmp dx, 0xbeef
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xcb7
call fcn.004b3be0
movzx edx, word [ebp - 0x366]
mov dword [esp + 4], str.wrong_len__u_n
cmp dx, 0xa
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xcb8
call fcn.004b3be0
mov edx, 0xffffffff
mov eax, ebx
call fcn.004b3ad0
mov dword [esp + 4], str.wrong_name__s_n
mov dword [esp + 8], eax
xor eax, eax
cmp word [ebp - 0x20c], 0xcccc
sete al
mov dword [esp], eax
call fcn.004b46e0
lea eax, [ebp - 0x368]
mov dword [ebp - 0x368], 0xcccccccc
mov dword [ebp - 0x364], 0xcccccccc
mov dword [esp + 0xc], 1
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], 0x409
call dword [0x7af728]
sub esp, 0x10
mov ebx, eax
mov eax, 0xcbc
call fcn.004b3be0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.wrong_error__lx_n
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xcbd
call fcn.004b3be0
mov eax, dword [ebp - 0x364]
movzx ebx, word [ebp - 0x368]
mov dword [esp], eax
mov edx, dword [ebp - 0x370]
call edx
movzx edx, bx
mov dword [esp + 4], str.wrong_len__u_n
add eax, eax
mov dword [esp + 8], edx
cmp eax, edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xcbe
call fcn.004b3be0
movzx edx, word [ebp - 0x366]
mov dword [esp + 4], str.wrong_max_len__u_n
mov dword [esp + 8], edx
movzx eax, word [ebp - 0x368]
add eax, 2
cmp eax, edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xcbf
call fcn.004b3be0
mov eax, dword [ebp - 0x364]
mov edx, 0xffffffff
call fcn.004b3ad0
mov dword [esp + 4], 0x5d9248
mov ebx, eax
mov eax, dword [ebp - 0x364]
mov dword [esp], eax
mov ecx, dword [ebp - 0x378]
call ecx
mov dword [esp + 8], ebx
test eax, eax
mov dword [esp + 4], str.wrong_name__s_n
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
lea eax, [ebp - 0x368]
mov dword [esp], eax
call dword [sym.imp.ntdll.dll_RtlFreeUnicodeString]
mov eax, dword [0x7af6d0]
sub esp, 4
test eax, eax
je 0x4cc5d3
mov dword [ebp - 0x10c], 0
lea ebx, [ebp - 0x10c]
mov dword [esp + 4], 0
mov dword [esp], ebx
call eax
sub esp, 8
mov esi, eax
mov eax, 0xccb
call fcn.004b3be0
mov eax, dword [ebp - 0x10c]
mov dword [esp + 4], str.failed_for__04lx_n
mov dword [esp + 8], eax
xor eax, eax
test esi, esi
setne al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xccc
call fcn.004b3be0
mov esi, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x37c]
call eax
mov dword [esp + 4], str.wrong_lcid__04lx_n
mov dword [esp + 8], esi
cmp dword [ebp - 0x10c], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov dword [ebp - 0x10c], 0x409
mov dword [esp + 4], 0
mov dword [esp], ebx
call dword [0x7af6d0]
sub esp, 8
mov esi, eax
mov eax, 0xcd0
call fcn.004b3be0
mov eax, dword [ebp - 0x10c]
mov dword [esp + 4], str.failed_for__04lx_n
mov dword [esp + 8], eax
xor eax, eax
test esi, esi
setne al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xcd1
call fcn.004b3be0
mov eax, dword [ebp - 0x10c]
mov dword [esp + 4], str.wrong_lcid__04lx_n
cmp eax, 0x409
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov dword [ebp - 0x10c], 9
mov dword [esp + 4], 0
mov dword [esp], ebx
call dword [0x7af6d0]
sub esp, 8
mov edi, eax
mov eax, 0xcd5
call fcn.004b3be0
mov eax, dword [ebp - 0x10c]
mov dword [esp + 4], str.failed_for__04lx_n
mov dword [esp + 8], eax
xor eax, eax
test edi, edi
setne al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xcd6
call fcn.004b3be0
xor eax, eax
cmp esi, edi
mov dword [esp + 4], str.got_different_pointer_for_neutral_n
sete al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xcd7
call fcn.004b3be0
mov eax, dword [ebp - 0x10c]
mov dword [esp + 4], str.wrong_lcid__04lx_n
cmp eax, 9
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov dword [ebp - 0x10c], 9
mov dword [esp + 4], 0x8000000
mov dword [esp], ebx
call dword [0x7af6d0]
sub esp, 8
mov edi, eax
mov eax, 0xcdb
call fcn.004b3be0
mov eax, dword [ebp - 0x10c]
mov dword [esp + 4], str.failed_for__04lx_n
mov dword [esp + 8], eax
xor eax, eax
test edi, edi
setne al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xcdc
call fcn.004b3be0
xor eax, eax
cmp esi, edi
mov dword [esp + 4], str.got_same_pointer_for_neutral_n
setne al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xcdd
call fcn.004b3be0
mov eax, dword [ebp - 0x10c]
mov dword [esp + 4], str.wrong_lcid__04lx_n
cmp eax, 9
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov dword [ebp - 0x10c], 0x10407
mov dword [esp + 4], 0
mov dword [esp], ebx
call dword [0x7af6d0]
sub esp, 8
mov esi, eax
mov eax, 0xce1
call fcn.004b3be0
mov eax, dword [ebp - 0x10c]
mov dword [esp + 4], str.failed_for__04lx_n
mov dword [esp + 8], eax
xor eax, eax
test esi, esi
setne al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xce2
call fcn.004b3be0
mov eax, dword [ebp - 0x10c]
mov dword [esp + 4], str.wrong_lcid__04lx_n
cmp eax, 0x10407
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov dword [ebp - 0x10c], 0x800
mov dword [esp + 4], 0
mov dword [esp], ebx
call dword [0x7af6d0]
sub esp, 8
mov esi, eax
mov eax, 0xce6
call fcn.004b3be0
mov eax, dword [ebp - 0x10c]
mov dword [esp + 4], str.failed_for__04lx_n
mov dword [esp + 8], eax
xor eax, eax
test esi, esi
setne al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xce7
call fcn.004b3be0
mov edi, dword [ebp - 0x10c]
mov ecx, dword [ebp - 0x384]
call ecx
mov dword [esp + 4], str.wrong_lcid__04lx_n
mov dword [esp + 8], edi
cmp dword [ebp - 0x10c], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov dword [esp + 4], 0
mov dword [esp], ebx
call dword [0x7af6d0]
sub esp, 8
mov edi, eax
mov eax, 0xce9
call fcn.004b3be0
xor eax, eax
cmp esi, edi
mov dword [esp + 4], str.got_different_pointer_for_system_n
sete al
mov dword [esp], eax
call fcn.004b46e0
mov dword [ebp - 0x10c], 0x400
mov dword [esp + 4], 0
mov dword [esp], ebx
call dword [0x7af6d0]
sub esp, 8
mov esi, eax
mov eax, 0xced
call fcn.004b3be0
mov eax, dword [ebp - 0x10c]
mov dword [esp + 4], str.failed_for__04lx_n
mov dword [esp + 8], eax
xor eax, eax
test esi, esi
setne al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xcee
call fcn.004b3be0
mov edi, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x37c]
call eax
mov dword [esp + 4], str.wrong_lcid__04lx_n
mov dword [esp + 8], edi
cmp dword [ebp - 0x10c], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov dword [esp + 4], 0
mov dword [esp], ebx
call dword [0x7af6d0]
sub esp, 8
mov edi, eax
mov eax, 0xcf0
call fcn.004b3be0
xor eax, eax
cmp esi, edi
mov dword [esp + 4], str.got_different_pointer_for_user_n
sete al
mov dword [esp], eax
call fcn.004b46e0
mov dword [ebp - 0x10c], 0x7f
mov dword [esp + 4], 0
mov dword [esp], ebx
call dword [0x7af6d0]
sub esp, 8
mov esi, eax
mov eax, 0xcf4
call fcn.004b3be0
mov eax, dword [ebp - 0x10c]
mov dword [esp + 4], str.failed_for__04lx_n
mov dword [esp + 8], eax
xor eax, eax
test esi, esi
setne al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xcf5
call fcn.004b3be0
mov eax, dword [ebp - 0x10c]
mov dword [esp + 4], str.wrong_lcid__04lx_n
cmp eax, 0x7f
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov dword [esp + 4], 0
mov dword [esp], ebx
call dword [0x7af6d0]
sub esp, 8
mov edi, eax
mov eax, 0xcf7
call fcn.004b3be0
xor eax, eax
cmp esi, edi
mov dword [esp + 4], str.got_different_pointer_for_invariant_n
sete al
mov dword [esp], eax
call fcn.004b46e0
mov dword [ebp - 0x10c], 0xc00
mov dword [esp + 4], 0
mov dword [esp], ebx
call dword [0x7af6d0]
sub esp, 8
mov esi, eax
mov eax, 0xcfb
call fcn.004b3be0
mov eax, dword [ebp - 0x10c]
mov dword [esp + 4], str.failed_for__04lx_n
mov dword [esp + 8], eax
xor eax, eax
test esi, esi
setne al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xcfc
call fcn.004b3be0
mov edi, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x37c]
call eax
mov dword [esp + 4], str.wrong_lcid__04lx_n
mov dword [esp + 8], edi
cmp dword [ebp - 0x10c], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov dword [esp + 4], 0
mov dword [esp], ebx
call dword [0x7af6d0]
sub esp, 8
mov edi, eax
mov eax, 0xcfe
call fcn.004b3be0
xor eax, eax
cmp esi, edi
mov dword [esp + 4], str.got_different_pointer_for_custom_default_n
sete al
mov dword [esp], eax
call fcn.004b46e0
mov dword [ebp - 0x10c], 0x1000
mov dword [esp + 4], 0
mov dword [esp], ebx
call dword [0x7af6d0]
sub esp, 8
mov esi, eax
mov eax, 0xd02
call fcn.004b3be0
mov eax, dword [ebp - 0x10c]
test esi, esi
je 0x4cc5f8
mov dword [esp + 8], eax
mov dword [esp + 4], str.failed_for__04lx_n
mov dword [esp], 1
call fcn.004b46e0
mov eax, 0xd03
call fcn.004b3be0
mov esi, dword [ebp - 0x10c]
mov eax, dword [ebp - 0x37c]
call eax
mov dword [esp + 4], str.wrong_lcid__04lx_n
mov dword [esp + 8], esi
cmp dword [ebp - 0x10c], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov esi, dword fs:[0x18]
mov dword [esi + 0x34], 0xdeadbeef
mov dword [ebp - 0x10c], 0x1400
mov dword [esp + 4], 0
mov dword [esp], ebx
call dword [0x7af6d0]
sub esp, 8
test eax, eax
je 0x4cc6b0
mov dword [ebp - 0x10c], 0xbeef
mov dword [esp], ebx
mov dword [esp + 4], 0
call dword [0x7af6d0]
sub esp, 8
mov ebx, eax
mov eax, 0xd0c
call fcn.004b3be0
xor eax, eax
test ebx, ebx
mov dword [esp + 4], 0x5dc8b1
sete al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xd0d
call fcn.004b3be0
mov eax, dword [ebp - 0x10c]
mov dword [esp + 4], str.wrong_lcid__04lx_n
cmp eax, 0xbeef
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xd0e
call fcn.004b3be0
mov eax, dword fs:[0x18]
mov edx, dword [eax + 0x34]
mov dword [esp + 4], 0x5dc8a6
mov dword [esp + 8], edx
cmp dword [eax + 0x34], 0xdeadbeef
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, dword [0x8f0770]
mov edx, dword [edi + 0x28]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], eax
test ecx, ecx
mov dword [esp + 4], str._s_failed_error__lx_n
jne 0x4cc338
cmp edx, 0x804
jne 0x4cc338
mov dword [esp], 1
call fcn.004b46e0
jmp 0x4cad74
mov dword [esp], 0
call fcn.004b46e0
jmp 0x4cae77
mov dword [esp], 0
call fcn.004b46e0
jmp 0x4cad74
movzx eax, di
mov dword [ebp - 0x380], eax
mov dword [esp + 4], eax
mov dword [esp], 0x5d8876
call fcn.004b35c0
test ebx, ebx
jne 0x4cc2e0
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
mov dword [esp + 4], str._s_failed_error__lx_n
mov dword [esp], 1
call fcn.004b46e0
mov eax, 0xc5a
call fcn.004b3be0
mov eax, dword [ebp - 0x380]
mov ebx, dword [ebp - 0x36c]
mov dword [esp], 0x5d8876
mov dword [esp + 4], eax
call fcn.004b35c0
jmp 0x4cad4d
movzx eax, di
mov dword [ebp - 0x370], eax
mov dword [esp + 4], eax
mov dword [esp], 0x5d8876
call fcn.004b35c0
test ebx, ebx
jne 0x4caec0
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
mov dword [esp + 4], str._s_failed_error__lx_n
mov dword [esp], 1
call fcn.004b46e0
mov eax, 0xc5f
call fcn.004b3be0
mov eax, dword [ebp - 0x370]
mov esi, dword [edi + 0x28]
mov ebx, dword [ebp - 0x36c]
mov dword [esp], 0x5d8876
mov dword [esp + 4], eax
call fcn.004b35c0
jmp 0x4cae4c
mov esi, 0x7c1a
jmp 0x4cac7c
mov dword [esp + 8], 0
mov dword [esp + 4], str.failed_error__lx_n
mov dword [esp], 1
call fcn.004b46e0
mov eax, 0xc38
call fcn.004b3be0
mov eax, dword [ebp - 0x36c]
mov dword [esp + 4], str.got__08lx_n
cmp eax, 0x10407
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
jmp 0x4caa08
mov edx, dword [0x8f0770]
mov dword [esp + 0xc], eax
test edx, edx
jne 0x4cc650
test esi, esi
je 0x4cc708
mov dword [esp + 8], esi
mov dword [esp + 4], str.Expected_ret___0__got__d__error__ld_n
mov dword [esp], 0
call fcn.004b46e0
jmp 0x4c9a62
movzx eax, di
mov dword [esp], 0x5d8876
mov dword [esp + 4], eax
call fcn.004b35c0
jmp 0x4c9667
movzx eax, di
mov dword [esp], 0x5d8876
mov dword [esp + 4], eax
call fcn.004b35c0
mov edx, eax
jmp 0x4c99b6
movzx eax, bx
mov dword [esp], 0x5d8876
mov dword [esp + 4], eax
call fcn.004b35c0
mov esi, eax
jmp 0x4c997d
movzx eax, di
mov dword [esp], 0x5d8876
mov dword [esp + 4], eax
call fcn.004b35c0
mov edx, eax
jmp 0x4c98a2
movzx eax, bx
mov dword [esp], 0x5d8876
mov dword [esp + 4], eax
call fcn.004b35c0
mov esi, eax
jmp 0x4c9869
movzx eax, di
mov dword [esp], 0x5d8876
mov dword [esp + 4], eax
call fcn.004b35c0
jmp 0x4c9781
movzx eax, di
mov dword [esp], 0x5d8876
mov dword [esp + 4], eax
call fcn.004b35c0
jmp 0x4c9517
mov eax, 0xcc2
call fcn.004b3be0
mov dword [esp], str.RtlLcidToLocaleName_not_available_n
call fcn.004b46b0
mov eax, dword [0x7af6d0]
test eax, eax
jne 0x4cbbec
mov eax, 0xd10
call fcn.004b3be0
mov dword [esp], str.NlsValidateLocale_not_available_n
call fcn.004b46b0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [0x8f0770]
mov dword [esp + 8], eax
mov dword [esp + 4], str.failed_for__04lx_n
test edx, edx
jne 0x4cc678
mov dword [esp], 1
call fcn.004b46e0
jmp 0x4cc1fc
cmp ebx, 0xc00000ef
jne 0x4ca9f0
mov dword [esp + 8], 0xc00000ef
mov dword [esp + 4], str.failed_error__lx_n
mov dword [esp], 1
call fcn.004b46e0
jmp 0x4caa08
mov dword [esp + 8], esi
mov dword [esp + 4], str.Expected_ret___0__got__d__error__ld_n
mov dword [esp], 0
call fcn.004b46e0
test esi, esi
je 0x4c9ac1
jmp 0x4c9a62
mov dword [esp], 0
call fcn.004b46e0
jmp 0x4cc1fc
mov eax, 0xc63
call fcn.004b3be0
mov dword [esp], str.RtlLocaleNameToLcid_not_available_n
call fcn.004b46b0
jmp 0x4caf08
mov eax, 0xd08
call fcn.004b3be0
mov eax, dword [esi + 0x34]
mov dword [esp + 4], 0x5dc8a6
mov dword [esp + 8], eax
xor eax, eax
cmp dword [esi + 0x34], 0xdeadbeef
sete al
mov dword [esp], eax
call fcn.004b46e0
jmp 0x4cc230
mov eax, 0xb8c
call fcn.004b3be0
mov dword [esp], str.LocaleNameToLCID_not_available_n
call fcn.004b46b0
jmp 0x4cc2d4
mov dword [esp + 8], 0
mov dword [esp + 4], str.Expected_ret___0__got__d__error__ld_n
mov dword [esp], 1
call fcn.004b46e0
jmp 0x4c9ac1