Function at 0x61b6caf0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push edi
push esi
push ebx
add esp, 0xffffff80
mov dword [esp + 4], sym._csdet_cleanup
mov dword [esp], 0x19
mov ebx, dword [esp + 0x90]
call sym.icuin53.dll_ucln_i18n_registerCleanup_53
mov dword [esp], 4
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
mov esi, eax
je 0x61b6cb29
mov dword [eax], method.icu_53::CharsetRecog_UTF8.getName___const
mov dword [esp], 8
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
je 0x61b6cb3f
mov dword [eax], esi
mov byte [eax + 4], 1
mov dword [esp], 4
mov dword [esp + 0x10], eax
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
mov esi, eax
je 0x61b6cb5b
mov dword [eax], method.icu_53::CharsetRecog_UTF_16_BE.getName___const
mov dword [esp], 8
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
je 0x61b6cb71
mov dword [eax], esi
mov byte [eax + 4], 1
mov dword [esp], 4
mov dword [esp + 0x14], eax
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
mov esi, eax
je 0x61b6cb8d
mov dword [eax], method.icu_53::CharsetRecog_UTF_16_LE.getName___const
mov dword [esp], 8
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
je 0x61b6cba3
mov dword [eax], esi
mov byte [eax + 4], 1
mov dword [esp], 4
mov dword [esp + 0x18], eax
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
mov esi, eax
je 0x61b6cbbf
mov dword [eax], method.icu_53::CharsetRecog_UTF_32_BE.getName___const
mov dword [esp], 8
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
je 0x61b6cbd5
mov dword [eax], esi
mov byte [eax + 4], 1
mov dword [esp], 4
mov dword [esp + 0x1c], eax
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
mov esi, eax
je 0x61b6cbf1
mov dword [eax], method.icu_53::CharsetRecog_UTF_32_LE.getName___const
mov dword [esp], 8
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
je 0x61b6cc07
mov dword [eax], esi
mov byte [eax + 4], 1
mov dword [esp], 4
mov dword [esp + 0x20], eax
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
mov esi, eax
je 0x61b6cc30
mov dword [eax], 0
mov ecx, eax
call fcn.61b70360
mov dword [esi], method.icu_53::CharsetRecog_8859_1.getName___const
mov dword [esp], 8
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
je 0x61b6cc46
mov dword [eax], esi
mov byte [eax + 4], 1
mov dword [esp], 4
mov dword [esp + 0x24], eax
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
mov esi, eax
je 0x61b6cc6f
mov dword [eax], 0
mov ecx, eax
call fcn.61b70360
mov dword [esi], method.icu_53::CharsetRecog_8859_2.getName___const
mov dword [esp], 8
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
je 0x61b6cc85
mov dword [eax], esi
mov byte [eax + 4], 1
mov dword [esp], 4
mov dword [esp + 0x28], eax
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
mov esi, eax
je 0x61b6ccae
mov dword [eax], 0
mov ecx, eax
call fcn.61b70360
mov dword [esi], method.icu_53::CharsetRecog_8859_5.getName___const
mov dword [esp], 8
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
je 0x61b6ccc4
mov dword [eax], esi
mov byte [eax + 4], 1
mov dword [esp], 4
mov dword [esp + 0x2c], eax
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
mov esi, eax
je 0x61b6cced
mov dword [eax], 0
mov ecx, eax
call fcn.61b70360
mov dword [esi], method.icu_53::CharsetRecog_8859_6.getName___const
mov dword [esp], 8
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
je 0x61b6cd03
mov dword [eax], esi
mov byte [eax + 4], 1
mov dword [esp], 4
mov dword [esp + 0x30], eax
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
mov esi, eax
je 0x61b6cd2c
mov dword [eax], 0
mov ecx, eax
call fcn.61b70360
mov dword [esi], method.icu_53::CharsetRecog_8859_7.getName___const
mov dword [esp], 8
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
je 0x61b6cd42
mov dword [eax], esi
mov byte [eax + 4], 1
mov dword [esp], 4
mov dword [esp + 0x34], eax
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
mov esi, eax
je 0x61b6cd6b
mov dword [eax], 0
mov ecx, eax
call fcn.61b70360
mov dword [esi], method.icu_53::CharsetRecog_8859_8_I_he.getName___const
mov dword [esp], 8
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
je 0x61b6cd81
mov dword [eax], esi
mov byte [eax + 4], 1
mov dword [esp], 4
mov dword [esp + 0x38], eax
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
mov esi, eax
je 0x61b6cdaa
mov dword [eax], 0
mov ecx, eax
call fcn.61b70360
mov dword [esi], method.icu_53::CharsetRecog_8859_8.getName___const
mov dword [esp], 8
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
je 0x61b6cdc0
mov dword [eax], esi
mov byte [eax + 4], 1
mov dword [esp], 4
mov dword [esp + 0x3c], eax
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
mov esi, eax
je 0x61b6cde9
mov dword [eax], 0
mov ecx, eax
call fcn.61b70360
mov dword [esi], method.icu_53::CharsetRecog_windows_1251.getName___const
mov dword [esp], 8
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
je 0x61b6cdff
mov dword [eax], esi
mov byte [eax + 4], 1
mov dword [esp], 4
mov dword [esp + 0x40], eax
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
mov esi, eax
je 0x61b6ce28
mov dword [eax], 0
mov ecx, eax
call fcn.61b70360
mov dword [esi], method.icu_53::CharsetRecog_windows_1256.getName___const
mov dword [esp], 8
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
je 0x61b6ce3e
mov dword [eax], esi
mov byte [eax + 4], 1
mov dword [esp], 4
mov dword [esp + 0x44], eax
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
mov esi, eax
je 0x61b6ce67
mov dword [eax], 0
mov ecx, eax
call fcn.61b70360
mov dword [esi], method.icu_53::CharsetRecog_KOI8_R.getName___const
mov dword [esp], 8
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
je 0x61b6ce7d
mov dword [eax], esi
mov byte [eax + 4], 1
mov dword [esp], 4
mov dword [esp + 0x48], eax
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
mov esi, eax
je 0x61b6cea6
mov dword [eax], 0
mov ecx, eax
call fcn.61b70360
mov dword [esi], method.icu_53::CharsetRecog_8859_9.getName___const
mov dword [esp], 8
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
je 0x61b6cebc
mov dword [eax], esi
mov byte [eax + 4], 1
mov dword [esp], 4
mov dword [esp + 0x4c], eax
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
mov esi, eax
je 0x61b6ced8
mov dword [eax], method.icu_53::CharsetRecog_sjis.getName___const
mov dword [esp], 8
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
je 0x61b6ceee
mov dword [eax], esi
mov byte [eax + 4], 1
mov dword [esp], 4
mov dword [esp + 0x50], eax
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
mov esi, eax
je 0x61b6cf0a
mov dword [eax], method.icu_53::CharsetRecog_gb_18030.getName___const
mov dword [esp], 8
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
je 0x61b6cf20
mov dword [eax], esi
mov byte [eax + 4], 1
mov dword [esp], 4
mov dword [esp + 0x54], eax
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
mov esi, eax
je 0x61b6cf3c
mov dword [eax], method.icu_53::CharsetRecog_euc_jp.getName___const
mov dword [esp], 8
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
je 0x61b6cf52
mov dword [eax], esi
mov byte [eax + 4], 1
mov dword [esp], 4
mov dword [esp + 0x58], eax
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
mov esi, eax
je 0x61b6cf6e
mov dword [eax], method.icu_53::CharsetRecog_euc_kr.getName___const
mov dword [esp], 8
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
je 0x61b6cf84
mov dword [eax], esi
mov byte [eax + 4], 1
mov dword [esp], 4
mov dword [esp + 0x5c], eax
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
mov esi, eax
je 0x61b6cfa0
mov dword [eax], method.icu_53::CharsetRecog_big5.getName___const
mov dword [esp], 8
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
je 0x61b6cfb6
mov dword [eax], esi
mov byte [eax + 4], 1
mov dword [esp], 4
mov dword [esp + 0x60], eax
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
mov esi, eax
je 0x61b6cfd2
mov dword [eax], method.icu_53::CharsetRecog_2022JP.getName___const
mov dword [esp], 8
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
je 0x61b6cfe8
mov dword [eax], esi
mov byte [eax + 4], 1
mov dword [esp], 4
mov dword [esp + 0x64], eax
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
mov esi, eax
je 0x61b6d004
mov dword [eax], method.icu_53::CharsetRecog_2022KR.getName___const
mov dword [esp], 8
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
je 0x61b6d01a
mov dword [eax], esi
mov byte [eax + 4], 1
mov dword [esp], 4
mov dword [esp + 0x68], eax
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
mov esi, eax
je 0x61b6d036
mov dword [eax], method.icu_53::CharsetRecog_2022CN.getName___const
mov dword [esp], 8
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
je 0x61b6d04c
mov dword [eax], esi
mov byte [eax + 4], 1
mov dword [esp], 4
mov dword [esp + 0x6c], eax
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
mov esi, eax
je 0x61b6d075
mov dword [eax], 0
mov ecx, eax
call fcn.61b70360
mov dword [esi], method.icu_53::CharsetRecog_IBM424_he_rtl.getName___const
mov dword [esp], 8
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
je 0x61b6d08b
mov dword [eax], esi
mov byte [eax + 4], 0
mov dword [esp], 4
mov dword [esp + 0x70], eax
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
mov esi, eax
je 0x61b6d0b4
mov dword [eax], 0
mov ecx, eax
call fcn.61b70360
mov dword [esi], method.icu_53::CharsetRecog_IBM424_he_ltr.getName___const
mov dword [esp], 8
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
je 0x61b6d0ca
mov dword [eax], esi
mov byte [eax + 4], 0
mov dword [esp], 4
mov dword [esp + 0x74], eax
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
mov esi, eax
je 0x61b6d0f3
mov dword [eax], 0
mov ecx, eax
call fcn.61b70360
mov dword [esi], method.icu_53::CharsetRecog_IBM420_ar_rtl.getName___const
mov dword [esp], 8
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
je 0x61b6d109
mov dword [eax], esi
mov byte [eax + 4], 0
mov dword [esp], 4
mov dword [esp + 0x78], eax
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
mov esi, eax
je 0x61b6d132
mov dword [eax], 0
mov ecx, eax
call fcn.61b70360
mov dword [esi], method.icu_53::CharsetRecog_IBM420_ar_ltr.getName___const
mov dword [esp], 8
call sym.icu_53::UMemory::operator_new_unsigned_int_
test eax, eax
je 0x61b6d148
mov dword [eax], esi
mov byte [eax + 4], 0
mov dword [esp], 0x70
mov dword [esp + 0x7c], eax
call sym._uprv_malloc_53
test eax, eax
mov dword [0x61c7179c], eax
je 0x61b6d1c7
mov edx, dword [esp + 0x10]
mov dword [0x61c71790], 0x1c
lea edi, [eax + 4]
lea esi, [esp + 0x10]
and edi, 0xfffffffc
mov dword [eax], edx
mov edx, dword [esp + 0x7c]
mov dword [eax + 0x6c], edx
sub eax, edi
lea edx, [esp + 0x80]
lea ecx, [eax + 0x70]
sub esi, eax
lea eax, [esp + 0x10]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
jmp 0x61b6d1a7
add eax, 4
cmp eax, edx
je 0x61b6d1c0
mov ecx, dword [eax]
test ecx, ecx
jne 0x61b6d1a0
add eax, 4
mov dword [ebx], 7
cmp eax, edx
jne 0x61b6d1a7
lea esi, [esi]
sub esp, 0xffffff80
pop ebx
pop esi
pop edi
ret
mov dword [ebx], 7
sub esp, 0xffffff80
pop ebx
pop esi
pop edi
ret