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

Disassembly:
sub esp, 0xa0
push ebx
mov ebx, ecx
cmp dword [ebx], 0
jg 0x100d822f
cmp dword [0x101fc86c], 0
jne 0x100d822f
mov eax, dword [0x10201be4]
push 4
test eax, eax
je 0x100d7817
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d781f
call fcn.10146843
add esp, 4
test eax, eax
je 0x100d782f
mov dword [eax], vtable.icu_46::CharsetRecog_UTF8.0
mov dword [esp + 4], eax
jmp 0x100d7837
mov dword [esp + 4], 0
mov eax, dword [0x10201be4]
push 4
test eax, eax
je 0x100d784f
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d7857
call fcn.10146843
add esp, 4
test eax, eax
je 0x100d7867
mov dword [eax], vtable.icu_46::CharsetRecog_UTF_16_BE.0
mov dword [esp + 8], eax
jmp 0x100d786f
mov dword [esp + 8], 0
mov eax, dword [0x10201be4]
push 4
test eax, eax
je 0x100d7887
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d788f
call fcn.10146843
add esp, 4
test eax, eax
je 0x100d789f
mov dword [eax], vtable.icu_46::CharsetRecog_UTF_16_LE.0
mov dword [esp + 0xc], eax
jmp 0x100d78a7
mov dword [esp + 0xc], 0
mov eax, dword [0x10201be4]
push 4
test eax, eax
je 0x100d78bf
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d78c7
call fcn.10146843
add esp, 4
test eax, eax
je 0x100d78d7
mov dword [eax], vtable.icu_46::CharsetRecog_UTF_32_BE.0
mov dword [esp + 0x10], eax
jmp 0x100d78df
mov dword [esp + 0x10], 0
mov eax, dword [0x10201be4]
push 4
test eax, eax
je 0x100d78f7
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d78ff
call fcn.10146843
add esp, 4
test eax, eax
je 0x100d790f
mov dword [eax], vtable.icu_46::CharsetRecog_UTF_32_LE.0
mov dword [esp + 0x14], eax
jmp 0x100d7917
mov dword [esp + 0x14], 0
mov eax, dword [0x10201be4]
push 8
test eax, eax
je 0x100d792f
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d7937
call fcn.10146843
add esp, 4
test eax, eax
je 0x100d794a
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax], vtable.icu_46::CharsetRecog_8859_1_en.0
jmp 0x100d794c
xor eax, eax
mov dword [esp + 0x18], eax
mov eax, dword [0x10201be4]
push 8
test eax, eax
je 0x100d7968
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d7970
call fcn.10146843
add esp, 4
test eax, eax
je 0x100d7983
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax], vtable.icu_46::CharsetRecog_8859_1_da.0
jmp 0x100d7985
xor eax, eax
mov dword [esp + 0x1c], eax
mov eax, dword [0x10201be4]
push 8
test eax, eax
je 0x100d79a1
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d79a9
call fcn.10146843
add esp, 4
test eax, eax
je 0x100d79bc
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax], vtable.icu_46::CharsetRecog_8859_1_de.0
jmp 0x100d79be
xor eax, eax
mov dword [esp + 0x20], eax
mov eax, dword [0x10201be4]
push 8
test eax, eax
je 0x100d79da
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d79e2
call fcn.10146843
add esp, 4
test eax, eax
je 0x100d79f5
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax], vtable.icu_46::CharsetRecog_8859_1_es.0
jmp 0x100d79f7
xor eax, eax
mov dword [esp + 0x24], eax
mov eax, dword [0x10201be4]
push 8
test eax, eax
je 0x100d7a13
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d7a1b
call fcn.10146843
add esp, 4
test eax, eax
je 0x100d7a2e
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax], vtable.icu_46::CharsetRecog_8859_1_fr.0
jmp 0x100d7a30
xor eax, eax
mov dword [esp + 0x28], eax
mov eax, dword [0x10201be4]
push 8
test eax, eax
je 0x100d7a4c
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d7a54
call fcn.10146843
add esp, 4
test eax, eax
je 0x100d7a67
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax], vtable.icu_46::CharsetRecog_8859_1_it.0
jmp 0x100d7a69
xor eax, eax
mov dword [esp + 0x2c], eax
mov eax, dword [0x10201be4]
push 8
test eax, eax
je 0x100d7a85
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d7a8d
call fcn.10146843
add esp, 4
test eax, eax
je 0x100d7aa0
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax], vtable.icu_46::CharsetRecog_8859_1_nl.0
jmp 0x100d7aa2
xor eax, eax
mov dword [esp + 0x30], eax
mov eax, dword [0x10201be4]
push 8
test eax, eax
je 0x100d7abe
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d7ac6
call fcn.10146843
add esp, 4
test eax, eax
je 0x100d7ad9
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax], vtable.icu_46::CharsetRecog_8859_1_no.0
jmp 0x100d7adb
xor eax, eax
mov dword [esp + 0x34], eax
mov eax, dword [0x10201be4]
push 8
test eax, eax
je 0x100d7af7
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d7aff
call fcn.10146843
add esp, 4
test eax, eax
je 0x100d7b12
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax], vtable.icu_46::CharsetRecog_8859_1_pt.0
jmp 0x100d7b14
xor eax, eax
mov dword [esp + 0x38], eax
mov eax, dword [0x10201be4]
push 8
test eax, eax
je 0x100d7b30
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d7b38
call fcn.10146843
add esp, 4
test eax, eax
je 0x100d7b4b
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax], vtable.icu_46::CharsetRecog_8859_1_sv.0
jmp 0x100d7b4d
xor eax, eax
mov dword [esp + 0x3c], eax
mov eax, dword [0x10201be4]
push 8
test eax, eax
je 0x100d7b69
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d7b71
call fcn.10146843
add esp, 4
test eax, eax
je 0x100d7b84
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax], vtable.icu_46::CharsetRecog_8859_2_cs.0
jmp 0x100d7b86
xor eax, eax
mov dword [esp + 0x40], eax
mov eax, dword [0x10201be4]
push 8
test eax, eax
je 0x100d7ba2
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d7baa
call fcn.10146843
add esp, 4
test eax, eax
je 0x100d7bbd
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax], vtable.icu_46::CharsetRecog_8859_2_hu.0
jmp 0x100d7bbf
xor eax, eax
mov dword [esp + 0x44], eax
mov eax, dword [0x10201be4]
push 8
test eax, eax
je 0x100d7bdb
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d7be3
call fcn.10146843
add esp, 4
test eax, eax
je 0x100d7bf6
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax], vtable.icu_46::CharsetRecog_8859_2_pl.0
jmp 0x100d7bf8
xor eax, eax
mov dword [esp + 0x48], eax
mov eax, dword [0x10201be4]
push 8
test eax, eax
je 0x100d7c14
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d7c1c
call fcn.10146843
add esp, 4
test eax, eax
je 0x100d7c2f
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax], vtable.icu_46::CharsetRecog_8859_2_ro.0
jmp 0x100d7c31
xor eax, eax
mov dword [esp + 0x4c], eax
mov eax, dword [0x10201be4]
push 8
test eax, eax
je 0x100d7c4d
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d7c55
call fcn.10146843
add esp, 4
test eax, eax
je 0x100d7c68
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax], vtable.icu_46::CharsetRecog_8859_5_ru.0
jmp 0x100d7c6a
xor eax, eax
mov dword [esp + 0x50], eax
mov eax, dword [0x10201be4]
push 8
test eax, eax
je 0x100d7c86
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d7c8e
call fcn.10146843
add esp, 4
test eax, eax
je 0x100d7ca1
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax], vtable.icu_46::CharsetRecog_8859_6_ar.0
jmp 0x100d7ca3
xor eax, eax
mov dword [esp + 0x54], eax
mov eax, dword [0x10201be4]
push 8
test eax, eax
je 0x100d7cbf
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d7cc7
call fcn.10146843
add esp, 4
test eax, eax
je 0x100d7cda
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax], vtable.icu_46::CharsetRecog_8859_7_el.0
jmp 0x100d7cdc
xor eax, eax
mov dword [esp + 0x58], eax
mov eax, dword [0x10201be4]
push 8
test eax, eax
je 0x100d7cf8
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d7d00
call fcn.10146843
add esp, 4
test eax, eax
je 0x100d7d13
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax], vtable.icu_46::CharsetRecog_8859_8_I_he.0
jmp 0x100d7d15
xor eax, eax
mov dword [esp + 0x5c], eax
mov eax, dword [0x10201be4]
push 8
test eax, eax
je 0x100d7d31
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d7d39
call fcn.10146843
add esp, 4
test eax, eax
je 0x100d7d4c
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax], vtable.icu_46::CharsetRecog_8859_8_he.0
jmp 0x100d7d4e
xor eax, eax
mov dword [esp + 0x60], eax
mov eax, dword [0x10201be4]
push 8
test eax, eax
je 0x100d7d6a
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d7d72
call fcn.10146843
add esp, 4
test eax, eax
je 0x100d7d85
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax], vtable.icu_46::CharsetRecog_windows_1251.0
jmp 0x100d7d87
xor eax, eax
mov dword [esp + 0x64], eax
mov eax, dword [0x10201be4]
push 8
test eax, eax
je 0x100d7da3
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d7dab
call fcn.10146843
add esp, 4
test eax, eax
je 0x100d7dbe
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax], vtable.icu_46::CharsetRecog_windows_1256.0
jmp 0x100d7dc0
xor eax, eax
mov dword [esp + 0x68], eax
mov eax, dword [0x10201be4]
push 8
test eax, eax
je 0x100d7ddc
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d7de4
call fcn.10146843
add esp, 4
test eax, eax
je 0x100d7df7
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax], vtable.icu_46::CharsetRecog_KOI8_R.0
jmp 0x100d7df9
xor eax, eax
mov dword [esp + 0x6c], eax
mov eax, dword [0x10201be4]
push 8
test eax, eax
je 0x100d7e15
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d7e1d
call fcn.10146843
add esp, 4
test eax, eax
je 0x100d7e30
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax], vtable.icu_46::CharsetRecog_8859_9_tr.0
jmp 0x100d7e32
xor eax, eax
mov dword [esp + 0x70], eax
mov eax, dword [0x10201be4]
push 4
test eax, eax
je 0x100d7e4e
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d7e56
call fcn.10146843
add esp, 4
test eax, eax
je 0x100d7e66
mov dword [eax], vtable.icu_46::CharsetRecog_sjis.0
mov dword [esp + 0x74], eax
jmp 0x100d7e6e
mov dword [esp + 0x74], 0
mov eax, dword [0x10201be4]
push 4
test eax, eax
je 0x100d7e86
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d7e8e
call fcn.10146843
add esp, 4
test eax, eax
je 0x100d7e9e
mov dword [eax], vtable.icu_46::CharsetRecog_gb_18030.0
mov dword [esp + 0x78], eax
jmp 0x100d7ea6
mov dword [esp + 0x78], 0
mov eax, dword [0x10201be4]
push 4
test eax, eax
je 0x100d7ebe
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d7ec6
call fcn.10146843
add esp, 4
test eax, eax
je 0x100d7ed6
mov dword [eax], vtable.icu_46::CharsetRecog_euc_jp.0
mov dword [esp + 0x7c], eax
jmp 0x100d7ede
mov dword [esp + 0x7c], 0
mov eax, dword [0x10201be4]
push 4
test eax, eax
je 0x100d7ef6
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d7efe
call fcn.10146843
add esp, 4
test eax, eax
je 0x100d7f11
mov dword [eax], vtable.icu_46::CharsetRecog_euc_kr.0
mov dword [esp + 0x80], eax
jmp 0x100d7f1c
mov dword [esp + 0x80], 0
mov eax, dword [0x10201be4]
push 4
test eax, eax
je 0x100d7f34
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d7f3c
call fcn.10146843
add esp, 4
test eax, eax
je 0x100d7f4f
mov dword [eax], vtable.icu_46::CharsetRecog_big5.0
mov dword [esp + 0x84], eax
jmp 0x100d7f5a
mov dword [esp + 0x84], 0
mov eax, dword [0x10201be4]
push 4
test eax, eax
je 0x100d7f72
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d7f7a
call fcn.10146843
add esp, 4
test eax, eax
je 0x100d7f8d
mov dword [eax], vtable.icu_46::CharsetRecog_2022JP.0
mov dword [esp + 0x88], eax
jmp 0x100d7f98
mov dword [esp + 0x88], 0
mov eax, dword [0x10201be4]
push 4
test eax, eax
je 0x100d7fb0
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d7fb8
call fcn.10146843
add esp, 4
test eax, eax
je 0x100d7fcb
mov dword [eax], vtable.icu_46::CharsetRecog_2022KR.0
mov dword [esp + 0x8c], eax
jmp 0x100d7fd6
mov dword [esp + 0x8c], 0
mov eax, dword [0x10201be4]
push 4
test eax, eax
je 0x100d7fee
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d7ff6
call fcn.10146843
add esp, 4
test eax, eax
je 0x100d8009
mov dword [eax], vtable.icu_46::CharsetRecog_2022CN.0
mov dword [esp + 0x90], eax
jmp 0x100d8014
mov dword [esp + 0x90], 0
mov eax, dword [0x10201be4]
push 8
test eax, eax
je 0x100d802c
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d8034
call fcn.10146843
add esp, 4
test eax, eax
je 0x100d8047
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax], vtable.icu_46::CharsetRecog_IBM424_he_rtl.0
jmp 0x100d8049
xor eax, eax
mov dword [esp + 0x94], eax
mov eax, dword [0x10201be4]
push 8
test eax, eax
je 0x100d8068
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d8070
call fcn.10146843
add esp, 4
test eax, eax
je 0x100d8083
xorps xmm0, xmm0
movq qword [eax], xmm0
mov dword [eax], vtable.icu_46::CharsetRecog_IBM424_he_ltr.0
jmp 0x100d8085
xor eax, eax
mov dword [esp + 0x98], eax
mov eax, dword [0x10201be4]
push 0x14
test eax, eax
je 0x100d80a4
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d80ac
call fcn.10146843
add esp, 4
test eax, eax
je 0x100d80c5
xorps xmm0, xmm0
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov dword [eax], vtable.icu_46::CharsetRecog_IBM420_ar_rtl.0
jmp 0x100d80c7
xor eax, eax
mov dword [esp + 0x9c], eax
mov eax, dword [0x10201be4]
push 0x14
test eax, eax
je 0x100d80e6
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d80ee
call fcn.10146843
add esp, 4
test eax, eax
je 0x100d8107
xorps xmm0, xmm0
movups xmmword [eax], xmm0
mov dword [eax + 0x10], 0
mov dword [eax], vtable.icu_46::CharsetRecog_IBM420_ar_ltr.0
jmp 0x100d8109
xor eax, eax
mov dword [esp + 0xa0], eax
mov eax, dword [0x10201be4]
push edi
push 0xa0
test eax, eax
je 0x100d812c
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d8134
call fcn.10146843
add esp, 4
mov edi, eax
test edi, edi
jne 0x100d8149
pop edi
mov dword [ebx], 7
pop ebx
add esp, 0xa0
ret
push esi
lea esi, [esp + 0xc]
xor edx, edx
mov ecx, edi
sub esi, edi
mov eax, dword [esi + ecx]
mov dword [ecx], eax
test eax, eax
je 0x100d81c7
inc edx
add ecx, 4
cmp edx, 0x28
jl 0x100d8154
cmp dword [ebx], 0
jg 0x100d81cd
mov esi, dword [0x101fc874]
mov eax, esi
test esi, esi
jne 0x100d8189
mov ecx, 0x101fc874
call fcn.10104c40
mov esi, dword [0x101fc874]
mov eax, esi
add eax, 0x10
push eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
inc dword [esi + 0xc]
cmp dword [0x101fc86c], 0
jne 0x100d81af
mov dword [0x101fc870], 0x28
mov dword [0x101fc86c], edi
mov eax, dword [0x101fc874]
test eax, eax
je 0x100d81cd
dec dword [eax + 0xc]
add eax, 0x10
push eax
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
jmp 0x100d81cd
mov dword [ebx], 7
cmp dword [0x101fc86c], edi
je 0x100d8219
xor esi, esi
mov ecx, dword [edi + esi*4]
test ecx, ecx
je 0x100d81e5
mov eax, dword [ecx]
push 1
call dword [eax + 0xc]
mov dword [edi + esi*4], 0
inc esi
cmp esi, 0x28
jl 0x100d81d7
cmp edi, 0x10184dc0
je 0x100d8219
mov eax, dword [0x10201bec]
push edi
test eax, eax
je 0x100d8211
push dword [0x10201be0]
call eax
add esp, 8
jmp 0x100d8219
call fcn.10146720
add esp, 4
pop esi
mov dword [0x101fc758], 0x10105740
mov dword [0x102030d0], 0x100d7740
pop edi
pop ebx
add esp, 0xa0
ret