Function at 0x4bbd70
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
lea eax, [ebp - 0x26c]
push ebx
mov ebx, dword fs:[0x18]
sub esp, 0x2a0
mov esi, dword [sym.imp.kernel32.dll_GetCPInfo]
mov dword [ebx + 0x34], 0xdeadbeef
mov dword [esp + 4], eax
mov dword [esp], 0x2a
mov dword [ebp - 0x290], esi
call esi
sub esp, 8
mov edi, eax
mov eax, 0x13cf
call fcn.004b3be0
xor eax, eax
test edi, edi
mov dword [esp + 4], str.GetCPInfo_CP_SYMBOL__should_fail_n
sete al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0x13d0
call fcn.004b3be0
mov eax, dword [ebx + 0x34]
mov dword [esp + 4], str.expected_ERROR_INVALID_PARAMETER__got__lu_n
mov dword [esp + 8], eax
xor eax, eax
cmp dword [ebx + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.004b46e0
lea eax, [ebp - 0x26c]
mov dword [ebp - 0x266], 0x2d2d2d2d
mov dword [ebp - 0x262], 0x2d2d2d2d
mov dword [ebp - 0x25e], 0x2d2d2d2d
mov dword [ebx + 0x34], 0xdeadbeef
mov dword [esp + 4], eax
mov dword [esp], 0xfde8
call esi
sub esp, 8
mov edi, eax
test eax, eax
jne 0x4bbe44
cmp dword [ebx + 0x34], 0x57
je 0x4bd339
mov eax, 0x13de
call fcn.004b3be0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp], edi
lea edi, [ebp - 0x266]
mov dword [esp + 4], str.GetCPInfo_CP_UTF7__error__lu_n
mov dword [esp + 8], eax
call fcn.004b46e0
mov eax, 0x13df
call fcn.004b3be0
movzx edx, byte [ebp - 0x268]
mov dword [esp + 4], str.expected_0x3f__got_0x_x_n
cmp dl, 0x3f
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0x13e0
call fcn.004b3be0
movzx edx, byte [ebp - 0x267]
mov dword [esp + 4], str.expected_0__got_0x_x_n
test dl, dl
mov dword [esp + 8], edx
sete al
xor ebx, ebx
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
nop
call fcn.0057d110
mov dword [eax], 0x5d8897
mov dword [eax + 4], 0x13e2
xor eax, eax
mov dword [esp + 8], ebx
mov dword [esp + 4], str.expected_NUL_byte_in_index__u_n
cmp byte [edi + ebx], 0
sete al
add ebx, 1
mov dword [esp], eax
call fcn.004b46e0
cmp ebx, 0xc
jne 0x4bbed0
mov eax, 0x13e3
lea ebx, [ebp - 0x22c]
call fcn.004b3be0
mov eax, dword [ebp - 0x26c]
mov edi, ebx
mov dword [esp + 4], str.expected_5__got_0x_x_n
cmp eax, 5
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xcccccccc
mov ecx, 0x88
rep stosd dword es:[edi], eax
mov eax, dword [sym.imp.kernel32.dll_GetCPInfoExW]
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov dword [esp], 0xfde8
mov dword [ebp - 0x28c], eax
call eax
sub esp, 0xc
mov edi, eax
mov eax, 0x13e7
call fcn.004b3be0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp], edi
lea edi, [ebp - 0x226]
mov dword [esp + 4], str.GetCPInfoExW_failed_err__lu_n
mov dword [esp + 8], eax
call fcn.004b46e0
mov eax, 0x13e8
call fcn.004b3be0
movzx edx, byte [ebp - 0x228]
mov dword [esp + 4], str.wrong_DefaultChar_0___02x_n
cmp dl, 0x3f
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0x13e9
call fcn.004b3be0
movzx edx, byte [ebp - 0x227]
mov dword [esp + 4], str.wrong_DefaultChar_1___02x_n
test dl, dl
mov dword [esp + 8], edx
sete al
xor esi, esi
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
lea esi, [esi]
nop
call fcn.0057d110
mov dword [eax], 0x5d8897
mov dword [eax + 4], 0x13ea
movzx edx, byte [edi + esi]
mov dword [esp + 8], esi
test dl, dl
mov dword [esp + 0xc], edx
sete al
mov dword [esp + 4], str.wrong_LeadByte__u___02x_n
add esi, 1
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
cmp esi, 0xc
jne 0x4bc000
mov eax, 0x13eb
lea edi, [ebp - 0x214]
call fcn.004b3be0
mov eax, dword [ebp - 0x22c]
mov dword [esp + 4], str.wrong_MaxCharSize__02x_n
cmp eax, 5
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0x13ec
call fcn.004b3be0
mov eax, dword [ebp - 0x218]
mov dword [esp + 4], str.wrong_CodePage__02x_n
cmp eax, 0xfde8
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0x13ed
call fcn.004b3be0
movzx edx, word [ebp - 0x21a]
mov dword [esp + 4], str.wrong_UnicodeDefaultChar__02x_n
cmp dx, 0xfffd
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0x13ee
call fcn.004b3be0
mov eax, edi
shr eax, 0x10
je 0x4bd28d
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 0x4bc10f
mov edx, 0xffffffff
mov eax, edi
call fcn.004b38c0
mov edx, eax
mov dword [ebp - 0x294], edx
mov dword [esp + 4], str.65000__UTF_7_
mov dword [esp], edi
call dword [sym.imp.msvcrt.dll_wcscmp]
mov edx, dword [ebp - 0x294]
mov dword [esp + 4], str.wrong_CodePageName__s_n
test eax, eax
sete al
mov dword [esp + 8], edx
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov dword [ebp - 0x266], 0x2d2d2d2d
lea eax, [ebp - 0x26c]
mov dword [ebp - 0x262], 0x2d2d2d2d
mov dword [ebp - 0x25e], 0x2d2d2d2d
mov edi, dword fs:[0x18]
mov dword [edi + 0x34], 0xdeadbeef
mov dword [esp + 4], eax
mov dword [esp], 0xfde9
mov eax, dword [ebp - 0x290]
call eax
sub esp, 8
mov esi, eax
test eax, eax
jne 0x4bc1a0
cmp dword [edi + 0x34], 0x57
je 0x4bd31e
mov eax, 0x13fd
lea edi, [ebp - 0x266]
call fcn.004b3be0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp], esi
mov dword [esp + 4], str.GetCPInfo_CP_UTF8__error__lu_n
mov dword [esp + 8], eax
call fcn.004b46e0
mov eax, 0x13fe
call fcn.004b3be0
movzx edx, byte [ebp - 0x268]
mov dword [esp + 4], str.expected_0x3f__got_0x_x_n
cmp dl, 0x3f
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0x13ff
call fcn.004b3be0
movzx edx, byte [ebp - 0x267]
mov dword [esp + 4], str.expected_0__got_0x_x_n
test dl, dl
mov dword [esp + 8], edx
sete al
xor esi, esi
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
lea esi, [esi]
call fcn.0057d110
mov dword [eax], 0x5d8897
mov dword [eax + 4], 0x1401
xor eax, eax
mov dword [esp + 8], esi
mov dword [esp + 4], str.expected_NUL_byte_in_index__u_n
cmp byte [edi + esi], 0
sete al
add esi, 1
mov dword [esp], eax
call fcn.004b46e0
cmp esi, 0xc
jne 0x4bc230
mov eax, 0x1402
mov edi, ebx
call fcn.004b3be0
mov eax, dword [ebp - 0x26c]
mov dword [esp + 4], str.expected_4__got__u_n
cmp eax, 4
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0xcccccccc
mov ecx, 0x88
rep stosd dword es:[edi], eax
mov dword [esp + 8], ebx
lea edi, [ebp - 0x226]
mov dword [esp + 4], 0
mov dword [esp], 0xfde9
mov eax, dword [ebp - 0x28c]
call eax
sub esp, 0xc
mov esi, eax
mov eax, 0x1406
call fcn.004b3be0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp], esi
mov dword [esp + 4], str.GetCPInfoExW_failed_err__lu_n
mov dword [esp + 8], eax
call fcn.004b46e0
mov eax, 0x1407
call fcn.004b3be0
movzx edx, byte [ebp - 0x228]
mov dword [esp + 4], str.wrong_DefaultChar_0___02x_n
cmp dl, 0x3f
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0x1408
call fcn.004b3be0
movzx edx, byte [ebp - 0x227]
mov dword [esp + 4], str.wrong_DefaultChar_1___02x_n
test dl, dl
mov dword [esp + 8], edx
sete al
xor esi, esi
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
lea esi, [esi]
call fcn.0057d110
mov dword [eax], 0x5d8897
mov dword [eax + 4], 0x1409
movzx edx, byte [edi + esi]
mov dword [esp + 8], esi
test dl, dl
mov dword [esp + 0xc], edx
sete al
mov dword [esp + 4], str.wrong_LeadByte__u___02x_n
add esi, 1
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
cmp esi, 0xc
jne 0x4bc350
mov eax, 0x140a
lea edi, [ebp - 0x214]
call fcn.004b3be0
mov eax, dword [ebp - 0x22c]
mov dword [esp + 4], str.wrong_MaxCharSize__02x_n
cmp eax, 4
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0x140b
call fcn.004b3be0
mov eax, dword [ebp - 0x218]
mov dword [esp + 4], str.wrong_CodePage__02x_n
cmp eax, 0xfde9
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0x140c
call fcn.004b3be0
movzx edx, word [ebp - 0x21a]
mov dword [esp + 4], str.wrong_UnicodeDefaultChar__02x_n
cmp dx, 0xfffd
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0x140d
call fcn.004b3be0
mov eax, edi
shr eax, 0x10
je 0x4bd273
mov dword [esp + 4], 0xffffffff
mov esi, 0x5d886c
mov dword [esp], edi
call dword [sym.imp.kernel32.dll_IsBadStringPtrW]
sub esp, 8
test eax, eax
jne 0x4bc45f
mov edx, 0xffffffff
mov eax, edi
call fcn.004b38c0
mov esi, eax
mov dword [esp + 4], str.65001__UTF_8_
mov dword [esp], edi
call dword [sym.imp.msvcrt.dll_wcscmp]
mov dword [esp + 8], esi
test eax, eax
mov dword [esp + 4], str.wrong_CodePageName__s_n
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov esi, dword fs:[0x18]
mov dword [esi + 0x34], 0xdeadbeef
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov dword [esp], 0xbeef
mov eax, dword [ebp - 0x28c]
call eax
sub esp, 0xc
mov ebx, eax
mov eax, 0x1414
call fcn.004b3be0
xor eax, eax
test ebx, ebx
mov dword [esp + 4], str.GetCPInfoExW_succeeeded_n
sete al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0x1415
call fcn.004b3be0
mov eax, dword [esi + 0x34]
mov dword [esp + 4], 0x5d8dba
mov dword [esp + 8], eax
xor eax, eax
cmp dword [esi + 0x34], 0x57
sete al
mov dword [esp], eax
call fcn.004b46e0
mov eax, dword [0x7af6a4]
test eax, eax
je 0x4bd300
xor ebx, ebx
lea esi, [ebp - 0x280]
lea esi, [esi]
mov dword [ebp - 0x288], 0
lea ecx, [ebp - 0x288]
mov dword [ebp - 0x280], 0
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 0
mov dword [esp + 4], 0x270f
mov dword [esp], ebx
call eax
mov edi, eax
lea eax, [ebx - 9]
sub esp, 0x14
cmp eax, 5
ja case.default.0x4bc568
jmp dword [eax*4 + 0x5da7ac]
call fcn.0057d110
cmp edi, 0xc0000034
mov dword [eax], 0x5d8897
mov dword [eax + 4], 0x1431
mov dword [esp + 0xc], edi
mov dword [esp + 8], ebx
mov dword [esp + 4], str._u:_failed__lx_n
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, dword [0x7af6a4]
add ebx, 1
jmp 0x4bc520
call fcn.0057d110
mov dword [eax], 0x5d8897
mov dword [eax + 4], 0x1428
mov dword [esp + 0xc], edi
add edi, 0x3fffff11
mov dword [esp + 8], ebx
and edi, 0xfffffffd
mov dword [esp + 4], str._u:_failed__lx_n
jmp 0x4bc598
call fcn.0057d110
cmp edi, 0xc00000ef
mov dword [eax], 0x5d8897
mov dword [eax + 4], 0x142c
sete al
cmp edi, 0xc0000001
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0xa
mov dword [esp + 4], str._u:_failed__lx_n
sete dl
or eax, edx
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
jmp 0x4bc5a6
call fcn.0057d110
cmp edi, 0xc00000ef
mov dword [eax], 0x5d8897
mov dword [eax + 4], 0x1434
sete al
test edi, edi
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0xe
mov dword [esp + 4], str._u:_failed__lx_n
jmp 0x4bc61d
call fcn.0057d110
mov dword [eax], 0x5d8897
mov dword [eax + 4], 0x1439
xor eax, eax
cmp edi, 0xc00000ef
sete al
mov dword [esp + 8], ebx
add ebx, 1
mov dword [esp], eax
mov dword [esp + 0xc], edi
mov dword [esp + 4], str._u:_failed__lx_n
call fcn.004b46e0
mov eax, dword [0x7af6a4]
cmp ebx, 0x64
jne 0x4bc520
lea ecx, [ebp - 0x288]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0xa
call eax
sub esp, 0x14
mov ebx, eax
cmp eax, 0xc00000ef
jne 0x4bd024
mov dword [ebp - 0x288], 0xdeadbeef
lea eax, [ebp - 0x288]
mov dword [ebp - 0x280], 0xdeadbeef
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x1b5
mov dword [esp], 0xb
call dword [0x7af6a4]
sub esp, 0x14
mov ebx, eax
mov eax, 0x1453
call fcn.004b3be0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.failed__lx_n
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0x1454
call fcn.004b3be0
mov eax, dword [ebp - 0x280]
mov dword [esp + 4], 0x5da665
mov dword [esp + 8], eax
sub eax, 0x10001
cmp eax, 0xffff
setbe al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, dword [0x7af698]
mov dword [ebp - 0x258], 0xcccccccc
mov dword [ebp - 0x254], 0xcccccccc
mov dword [ebp - 0x250], 0xcccccccc
mov dword [ebp - 0x24c], 0xcccccccc
mov dword [ebp - 0x248], 0xcccccccc
mov dword [ebp - 0x244], 0xcccccccc
mov dword [ebp - 0x240], 0xcccccccc
mov dword [ebp - 0x23c], 0xcccccccc
mov dword [ebp - 0x238], 0xcccccccc
mov dword [ebp - 0x234], 0xcccccccc
mov dword [ebp - 0x230], 0xcccccccc
test eax, eax
je 0x4bc8d4
lea edx, [ebp - 0x258]
mov dword [esp + 4], edx
mov edx, dword [ebp - 0x288]
mov dword [esp], edx
call eax
mov eax, 0x1459
sub esp, 8
call fcn.004b3be0
movzx edx, word [ebp - 0x258]
mov dword [esp + 4], str.wrong_codepage__u_n
cmp dx, 0x1b5
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0x145a
call fcn.004b3be0
movzx edx, word [ebp - 0x256]
mov dword [esp + 4], str.wrong_char_size__u_n
cmp dx, 1
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0x145b
call fcn.004b3be0
movzx edx, word [ebp - 0x254]
mov dword [esp + 4], str.wrong_default_char__x_n
cmp dx, 0x3f
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0x145c
call fcn.004b3be0
movzx edx, word [ebp - 0x24c]
mov dword [esp + 4], str.wrong_dbcs__u_n
test dx, dx
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, dword [ebp - 0x288]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_UnmapViewOfFile]
sub esp, 4
mov ebx, eax
mov eax, 0x145f
call fcn.004b3be0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.UnmapViewOfFile_failed_err__lu_n
mov dword [esp + 8], eax
call fcn.004b46e0
lea eax, [ebp - 0x288]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x3a8
mov dword [esp], 0xb
call dword [0x7af6a4]
sub esp, 0x14
mov ebx, eax
mov eax, 0x1462
call fcn.004b3be0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.failed__lx_n
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0x1463
call fcn.004b3be0
mov eax, dword [ebp - 0x280]
mov dword [esp + 4], 0x5da665
mov dword [esp + 8], eax
sub eax, 0x30001
cmp eax, 0xffff
setbe al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, dword [0x7af698]
mov dword [ebp - 0x258], 0xcccccccc
mov dword [ebp - 0x254], 0xcccccccc
mov dword [ebp - 0x250], 0xcccccccc
mov dword [ebp - 0x24c], 0xcccccccc
mov dword [ebp - 0x248], 0xcccccccc
mov dword [ebp - 0x244], 0xcccccccc
mov dword [ebp - 0x240], 0xcccccccc
mov dword [ebp - 0x23c], 0xcccccccc
mov dword [ebp - 0x238], 0xcccccccc
mov dword [ebp - 0x234], 0xcccccccc
mov dword [ebp - 0x230], 0xcccccccc
test eax, eax
je 0x4bcc34
lea ecx, [ebp - 0x258]
mov dword [esp + 4], ecx
mov edx, dword [ebp - 0x288]
mov dword [esp], edx
call eax
mov eax, 0x1468
sub esp, 8
call fcn.004b3be0
movzx edx, word [ebp - 0x258]
mov dword [esp + 4], str.wrong_codepage__u_n
cmp dx, 0x3a8
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0x1469
call fcn.004b3be0
movzx edx, word [ebp - 0x256]
mov dword [esp + 4], str.wrong_char_size__u_n
cmp dx, 2
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0x146a
call fcn.004b3be0
movzx edx, word [ebp - 0x254]
mov dword [esp + 4], str.wrong_default_char__x_n
cmp dx, 0x3f
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0x146b
call fcn.004b3be0
movzx edx, word [ebp - 0x24c]
mov dword [esp + 4], str.wrong_dbcs__u_n
cmp dx, 1
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, dword [0x7af694]
test eax, eax
je 0x4bcc34
mov dword [ebp - 0x28c], 0
xor edi, edi
lea esi, [esi]
mov edx, 0xffffcccc
xor ebx, ebx
mov dword [ebp - 0x276], 0xcccccccc
mov word [ebp - 0x26e], dx
mov edx, dword [ebp - 0x28c]
mov dword [ebp - 0x272], 0xcccccccc
mov dword [esp + 0x14], edx
lea edx, [ebp - 0x27c]
mov dword [esp + 0xc], edx
lea edx, [ebp - 0x276]
mov dword [esp + 4], edx
lea edx, [ebp - 0x258]
mov dword [esp + 0x10], 0x5e0610
mov dword [esp + 8], 0xa
mov dword [esp], edx
call eax
sub esp, 0x18
cmp word [edi + ebx*2 + 0x5e05e0], 0xcccc
je 0x4bd26c
add ebx, 1
cmp ebx, 4
jne 0x4bcb66
mov ebx, 8
call fcn.0057d110
mov dword [eax], 0x5d8897
mov dword [eax + 4], 0x147e
mov eax, dword [ebp - 0x27c]
cmp eax, ebx
mov dword [esp + 0xc], eax
mov edx, dword [ebp - 0x28c]
sete al
mov dword [esp + 4], str._lu:_wrong_len__lu_n
xor ebx, ebx
movzx eax, al
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.004b46e0
call fcn.0057d110
mov dword [eax], 0x5d8897
mov dword [eax + 4], 0x1480
movzx ecx, word [ebp + ebx*2 - 0x276]
cmp word [edi + ebx*2 + 0x5e05e0], cx
mov dword [esp + 0xc], ebx
sete al
mov dword [esp + 0x10], ecx
mov edx, dword [ebp - 0x28c]
add ebx, 1
movzx eax, al
mov dword [esp + 4], str._lu:_char__lu_got__04x_n
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.004b46e0
cmp ebx, 4
jne 0x4bcbc3
add dword [ebp - 0x28c], 1
mov eax, dword [ebp - 0x28c]
add edi, 8
cmp eax, 6
je 0x4bcc34
mov eax, dword [0x7af694]
jmp 0x4bcb08
mov eax, dword [ebp - 0x288]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_UnmapViewOfFile]
sub esp, 4
mov ebx, eax
mov eax, 0x1485
call fcn.004b3be0
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x34]
mov dword [esp], ebx
mov dword [esp + 4], str.UnmapViewOfFile_failed_err__lu_n
mov dword [esp + 8], eax
call fcn.004b46e0
lea eax, [ebp - 0x288]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0xfde9
mov dword [esp], 0xb
call dword [0x7af6a4]
mov ebx, eax
sub esp, 0x14
mov eax, 0x1488
call fcn.004b3be0
cmp ebx, 0xc0000034
je 0x4bd2a7
mov eax, dword [0x8f0770]
test eax, eax
jne 0x4bd180
test ebx, ebx
jne 0x4bd2e3
mov dword [esp + 8], 0
mov dword [esp + 4], str.failed__lx_n
mov dword [esp], 1
call fcn.004b46e0
mov eax, dword [ebp - 0x288]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_UnmapViewOfFile]
sub esp, 4
mov eax, dword [0x7af698]
test eax, eax
je 0x4bcf90
mov dword [ebp - 0x258], 0xcccccccc
lea edx, [ebp - 0x258]
mov dword [ebp - 0x254], 0xcccccccc
mov dword [ebp - 0x250], 0xcccccccc
mov dword [ebp - 0x24c], 0xcccccccc
mov dword [ebp - 0x248], 0xcccccccc
mov dword [ebp - 0x244], 0xcccccccc
mov dword [ebp - 0x240], 0xcccccccc
mov dword [ebp - 0x23c], 0xcccccccc
mov dword [ebp - 0x238], 0xcccccccc
mov dword [ebp - 0x234], 0xcccccccc
mov dword [ebp - 0x230], 0xcccccccc
mov dword [esp + 4], edx
mov dword [esp], 0x57f300
call eax
mov eax, 0x1491
sub esp, 8
call fcn.004b3be0
movzx edx, word [ebp - 0x258]
mov dword [esp + 4], str.wrong_codepage__u_n
cmp dx, 0xfde9
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
cmp word [ebp - 0x256], 0
je 0x4bd2c8
mov eax, 0x1494
call fcn.004b3be0
movzx edx, word [ebp - 0x256]
mov dword [esp + 4], str.wrong_char_size__u_n
cmp dx, 4
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0x1495
call fcn.004b3be0
movzx edx, word [ebp - 0x254]
mov dword [esp + 4], str.wrong_default_char__x_n
cmp dx, 0x3f
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0x1496
call fcn.004b3be0
movzx edx, word [ebp - 0x252]
mov dword [esp + 4], str.wrong_default_char__x_n
cmp dx, 0xfffd
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0x1497
call fcn.004b3be0
movzx edx, word [ebp - 0x250]
mov dword [esp + 4], str.wrong_default_char__x_n
cmp dx, 0x3f
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0x1498
call fcn.004b3be0
movzx edx, word [ebp - 0x24e]
mov dword [esp + 4], str.wrong_default_char__x_n
cmp dx, 0x3f
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0x1499
call fcn.004b3be0
movzx edx, word [ebp - 0x24c]
mov dword [esp + 4], str.wrong_dbcs__u_n
test dx, dx
mov dword [esp + 8], edx
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0x149a
call fcn.004b3be0
mov eax, dword [ebp - 0x23c]
mov dword [esp + 4], str.wrong_mbtable__p_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0x149b
call fcn.004b3be0
mov eax, dword [ebp - 0x238]
mov dword [esp + 4], str.wrong_wctable__p_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0x149c
call fcn.004b3be0
mov eax, dword [ebp - 0x234]
mov dword [esp + 4], str.wrong_ranges__p_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0x149d
call fcn.004b3be0
mov eax, dword [ebp - 0x230]
mov dword [esp + 4], str.wrong_offsets__p_n
test eax, eax
mov dword [esp + 8], eax
sete al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, dword fs:[0x18]
mov dword [ebp - 0x28c], eax
xor ebx, ebx
nop
lea eax, [ebp - 0x288]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], ebx
mov dword [esp], 0xc
call dword [0x7af6a4]
sub esp, 0x14
mov edi, eax
cmp ebx, 0xd
ja 0x4bcfdf
mov eax, 0x2066
bt eax, ebx
jb 0x4bd1a8
call fcn.0057d110
mov dword [eax], 0x5d8897
mov dword [eax + 4], 0x14b5
xor eax, eax
cmp edi, 0xc0000034
sete al
mov dword [esp + 8], ebx
add ebx, 1
mov dword [esp + 0xc], edi
mov dword [esp + 4], str._u:_failed__lx_n
mov dword [esp], eax
call fcn.004b46e0
cmp ebx, 0x64
jne 0x4bcfa0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, 0x1443
call fcn.004b3be0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.failed__lx_n
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0x1444
call fcn.004b3be0
mov eax, dword [ebp - 0x280]
mov dword [esp + 4], 0x5da665
mov dword [esp + 8], eax
sub eax, 0x1001
cmp eax, 0x6fff
setbe al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
lea eax, [ebp - 0x284]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], 0xa
call dword [0x7af6a4]
sub esp, 0x14
mov ebx, eax
mov eax, 0x1446
call fcn.004b3be0
xor eax, eax
test ebx, ebx
mov dword [esp + 8], ebx
sete al
mov dword [esp + 4], str.failed__lx_n
mov dword [esp], eax
call fcn.004b46e0
mov eax, 0x1447
call fcn.004b3be0
mov dword [esp + 4], str.got_same_pointer_n
mov eax, dword [ebp - 0x284]
cmp dword [ebp - 0x288], eax
setne al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, dword [ebp - 0x288]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_UnmapViewOfFile]
sub esp, 4
mov ebx, eax
mov eax, 0x1449
call fcn.004b3be0
mov edx, dword fs:[0x18]
mov eax, dword [edx + 0x34]
mov dword [ebp - 0x28c], edx
mov dword [esp], ebx
mov dword [esp + 8], eax
mov dword [esp + 4], str.UnmapViewOfFile_failed_err__lu_n
call fcn.004b46e0
mov eax, dword [ebp - 0x284]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_UnmapViewOfFile]
sub esp, 4
mov ebx, eax
mov eax, 0x144b
call fcn.004b3be0
mov edx, dword [ebp - 0x28c]
mov eax, dword [edx + 0x34]
mov dword [esp + 4], str.UnmapViewOfFile_failed_err__lu_n
mov dword [esp], ebx
mov dword [esp + 8], eax
call fcn.004b46e0
jmp 0x4bc6e8
mov dword [esp + 8], ebx
mov dword [esp + 4], str.failed__lx_n
mov dword [esp], 0
call fcn.004b46e0
test ebx, ebx
je 0x4bcce6
jmp 0x4bccf8
call fcn.0057d110
mov dword [eax], 0x5d8897
mov dword [eax + 4], 0x14ae
xor eax, eax
test edi, edi
sete al
mov dword [esp + 0xc], edi
mov dword [esp + 8], ebx
mov dword [esp + 4], str._u:_failed__lx_n
mov dword [esp], eax
call fcn.004b46e0
test edi, edi
je 0x4bd1e8
add ebx, 1
jmp 0x4bcfa0
call fcn.0057d110
mov dword [eax], 0x5d8897
mov dword [eax + 4], 0x14b0
mov eax, dword [ebp - 0x280]
mov dword [esp + 4], 0x5da665
mov dword [esp + 8], eax
sub eax, 0x8001
cmp eax, 0x27fff
setbe al
movzx eax, al
mov dword [esp], eax
call fcn.004b46e0
mov eax, dword [ebp - 0x288]
mov dword [esp], eax
call dword [sym.imp.kernel32.dll_UnmapViewOfFile]
sub esp, 4
mov edi, eax
call fcn.0057d110
mov dword [eax], 0x5d8897
mov dword [eax + 4], 0x14b2
mov eax, dword [ebp - 0x28c]
mov eax, dword [eax + 0x34]
mov dword [esp + 4], str.UnmapViewOfFile_failed_err__lu_n
mov dword [esp], edi
mov dword [esp + 8], eax
call fcn.004b46e0
jmp 0x4bd1dd
add ebx, ebx
jmp 0x4bcb83
movzx eax, di
mov dword [esp], 0x5d8876
mov dword [esp + 4], eax
call fcn.004b35c0
mov esi, eax
jmp 0x4bc45f
movzx eax, di
mov dword [esp], 0x5d8876
mov dword [esp + 4], eax
call fcn.004b35c0
mov edx, eax
jmp 0x4bc10f
mov dword [esp + 8], 0xc0000034
mov dword [esp + 4], str.failed__lx_n
mov dword [esp], 1
call fcn.004b46e0
jmp 0x4bccf8
mov eax, 0x149f
call fcn.004b3be0
mov dword [esp], str.utf_8_codepage_not_supported_n
call fcn.004b46b0
jmp 0x4bcf90
mov dword [esp + 8], ebx
mov dword [esp + 4], str.failed__lx_n
mov dword [esp], 0
call fcn.004b46e0
jmp 0x4bccf8
mov eax, 0x14ba
call fcn.004b3be0
mov dword [esp], str.NtGetNlsSectionPtr_not_supported_n
call fcn.004b46b0
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, 0x13f7
call fcn.004b3be0
mov dword [esp], str.Codepage_CP_UTF8_is_not_installed_available_n
call fcn.004b46b0
jmp 0x4bc48c
mov eax, 0x13d8
lea ebx, [ebp - 0x22c]
call fcn.004b3be0
mov dword [esp], str.Codepage_CP_UTF7_is_not_installed_available_n
call fcn.004b46b0
mov eax, dword [sym.imp.kernel32.dll_GetCPInfoExW]
mov dword [ebp - 0x28c], eax
jmp 0x4bc148