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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x26c
mov eax, dword [ebp + 0xc]
test byte [eax + 0x1f], 1
jne 0x61a7582e
mov edi, ecx
mov dword [ebp - reloc.icuuc53.dll__ZTVN6icu_5323UnicodeStringAppendableE], sym.imp.icuuc53.dll_vtable_for_icu_53::UnicodeStringAppendable
mov byte [ebp - 0x226], 0
mov byte [ebp - 0x225], 2
mov dword [ebp - reloc.icuuc53.dll__ZTVN6icu_5323UnicodeStringAppendableE], sym.imp.icuuc53.dll_vtable_for_icu_53::UnicodeStringAppendable
xor ebx, ebx
mov byte [ebp - 0x206], 0
mov byte [ebp - 0x205], 2
lea esi, [esi]
test ebx, ebx
mov eax, dword [ebp + 0xc]
js 0x61a758a0
mov edx, dword [eax + 0xc]
movsx eax, byte [eax + 0x1e]
test al, al
js 0x61a758c0
xor ecx, ecx
cmp eax, ebx
mov edx, eax
jl 0x61a75448
mov edx, ebx
sub eax, edx
mov ecx, eax
mov dword [esp + 8], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 4], edx
mov dword [esp], 0x3b
call sym.icu_53::UnicodeString::doIndexOf_wchar_t__int__int__const
mov esi, eax
sub esp, 0xc
mov dword [ebp - 0x250], eax
sub esi, ebx
cmp eax, 0xffffffff
mov byte [ebp - 0x249], 1
je 0x61a75880
mov eax, dword [ebp + 0xc]
lea ecx, [ebp - 0x204]
mov dword [esp + 8], esi
mov dword [esp + 4], ebx
mov dword [esp], eax
call sym.icu_53::UnicodeString::UnicodeString_icu_53::UnicodeString_const__int__int_
movsx eax, byte [ebp - 0x1e6]
sub esp, 0xc
mov edx, dword [ebp - 0x1f8]
test al, al
jns 0x61a75838
mov ecx, edx
shr ecx, 0x1f
test cl, cl
je 0x61a75838
xor eax, eax
lea ecx, [ebp - 0x204]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], 0x3d
call sym.icu_53::UnicodeString::doIndexOf_wchar_t__int__int__const
sub esp, 0xc
cmp eax, 0xffffffff
je 0x61a75850
lea ecx, [ebp - 0x244]
lea ebx, [eax + 1]
call sym.icu_53::UnicodeString::unBogus__
test ebx, ebx
js 0x61a758d5
movsx edx, byte [ebp - 0x1e6]
mov eax, dword [ebp - 0x1f8]
test dl, dl
js 0x61a758f3
xor ecx, ecx
cmp ebx, edx
mov eax, edx
jg 0x61a7551b
sub edx, ebx
mov eax, ebx
mov ecx, edx
movsx ebx, byte [ebp - 0x226]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x204]
mov dword [esp + 0x10], ecx
lea ecx, [ebp - 0x244]
mov dword [esp], 0
mov dword [esp + 8], eax
test bl, bl
cmovs ebx, dword [ebp - 0x238]
mov dword [esp + 4], ebx
call sym.icu_53::UnicodeString::doReplace_int__int__icu_53::UnicodeString_const__int__int_
lea ecx, [ebp - 0x224]
sub esp, 0x14
call sym.icu_53::UnicodeString::unBogus__
movsx eax, byte [ebp - 0x206]
lea edx, [ebp - 0x204]
lea ecx, [ebp - 0x224]
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov dword [esp + 8], edx
mov dword [esp], 0
test al, al
cmovs eax, dword [ebp - 0x218]
mov dword [esp + 4], eax
call sym.icu_53::UnicodeString::doReplace_int__int__icu_53::UnicodeString_const__int__int_
sub esp, 0x14
lea ecx, [ebp - 0x244]
call sym.icu_53::UnicodeString::doHashCode___const
mov ebx, eax
mov eax, dword [edi + 0x330]
test eax, eax
je 0x61a755d0
nop
lea esi, [esi]
cmp ebx, dword [eax + 4]
je 0x61a75790
mov eax, dword [eax + 8]
test eax, eax
jne 0x61a755c0
mov dword [esp], 0xc
call sym._uprv_malloc_53
test eax, eax
mov dword [ebp - 0x254], eax
je 0x61a75929
lea eax, [ebp - 0x1dc]
lea ecx, [ebp - 0x244]
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0x5c
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp], 0
mov dword [ebp - 0x1e4], 0x626d756e
mov dword [ebp - 0x1e0], 0x3d737265
mov byte [ebp - 0x1dc], 0
call sym.icu_53::UnicodeString::extract_int__int__char__int__icu_53::UnicodeString::EInvariant__const
mov ecx, dword [ebp + 8]
sub esp, 0x14
call sym.icu_53::Locale::getBaseName___const
lea eax, [ebp - 0x1e4]
mov esi, dword [ebp + 8]
lea ecx, [ebp - 0x180]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x1c]
add eax, dword [esi + 0xc4]
mov dword [esp + 8], eax
mov eax, esi
add eax, 0x16
mov dword [esp + 4], eax
mov eax, esi
add eax, 4
mov dword [esp], eax
call sym.icu_53::Locale::Locale_char_const__char_const__char_const__char_const_
mov eax, dword [ebp + 0x10]
sub esp, 0x10
mov dword [esp + 4], eax
lea eax, [ebp - 0x180]
mov dword [esp], eax
call method.icu_53::NumberFormat.createInstance_icu_53::Locale_const__UErrorCode_
mov esi, eax
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
test eax, eax
jg 0x61a75934
mov eax, dword [esi]
mov ecx, esi
mov dword [esp], 0
call dword [eax + 0x68]
sub esp, 4
mov dword [esp + 0xc], 0
mov dword [esp + 8], sym.icuin53.dll_typeinfo_for_icu_53::DecimalFormat
mov dword [esp + 4], sym.icuin53.dll_typeinfo_for_icu_53::NumberFormat
mov dword [esp], esi
call sym.___dynamic_cast
test eax, eax
je 0x61a756e9
mov edx, dword [eax]
mov ecx, eax
mov dword [esp], 0
call dword [edx + 0x108]
sub esp, 4
mov eax, dword [esi]
mov ecx, esi
mov dword [esp], 1
call dword [eax + 0x5c]
mov eax, dword [esi]
sub esp, 4
mov ecx, esi
mov dword [esp], 0
call dword [eax + 0x78]
mov edx, dword [ebp - 0x254]
mov eax, dword [edi + 0x330]
lea ecx, [ebp - 0x180]
sub esp, 4
mov dword [edx], esi
mov dword [edx + 4], ebx
mov dword [edx + 8], eax
mov dword [edi + 0x330], edx
call sym.icu_53::Locale::Locale__
movzx eax, byte [ebp - 0x205]
test al, 1
jne 0x61a7579d
nop
lea esi, [esi]
movsx edx, byte [ebp - 0x206]
mov ecx, 0xffff
test dl, dl
cmovs edx, dword [ebp - 0x218]
test edx, edx
je 0x61a7576d
lea edx, [ebp - 0x220]
test al, 2
mov eax, edx
cmove eax, dword [ebp - 0x220]
movzx ecx, word [eax]
mov dword [esp], ecx
call method.icu_53::DateFormatSymbols.getPatternCharIndex_wchar_t_
cmp eax, 0x23
je 0x61a75910
mov edx, dword [edi + 0x32c]
mov dword [edx + eax*4], esi
jmp 0x61a757f7
mov esi, dword [eax]
movzx eax, byte [ebp - 0x205]
test al, 1
je 0x61a75740
mov eax, dword [edi + 0x32c]
mov dword [eax + 0x10], esi
mov eax, dword [edi + 0x32c]
mov dword [eax + 0x14], esi
mov eax, dword [edi + 0x32c]
mov dword [eax + 0x18], esi
mov eax, dword [edi + 0x32c]
mov dword [eax + 0x1c], esi
mov eax, dword [edi + 0x32c]
mov dword [eax + 0x20], esi
mov eax, dword [edi + 0x32c]
mov dword [eax + 0x3c], esi
mov eax, dword [edi + 0x32c]
mov dword [eax + 0x40], esi
mov eax, dword [edi + 0x32c]
mov dword [eax + 0x58], esi
mov eax, dword [edi + 0x32c]
mov dword [eax + 0x5c], esi
mov eax, dword [edi + 0x32c]
mov dword [eax + 0x7c], esi
mov ebx, dword [ebp - 0x250]
lea ecx, [ebp - 0x204]
add ebx, 1
call sym.icu_53::UnicodeString::UnicodeString__
cmp byte [ebp - 0x249], 0
jne 0x61a75420
lea ecx, [ebp - 0x224]
call sym.icu_53::UnicodeString::UnicodeString__
lea ecx, [ebp - 0x244]
call sym.icu_53::UnicodeString::UnicodeString__
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 0xc
test al, al
js 0x61a75843
xor edx, edx
jmp 0x61a754bc
mov eax, edx
xor edx, edx
jmp 0x61a754bc
lea eax, [ebp - 0x204]
lea ecx, [ebp - 0x244]
mov dword [esp + 4], 0
mov dword [esp], eax
call sym.icu_53::UnicodeString::copyFrom_icu_53::UnicodeString_const__signed_char_
lea ecx, [ebp - 0x224]
sub esp, 8
call sym.icu_53::UnicodeString::setToBogus__
jmp 0x61a755a4
mov eax, dword [ebp + 0xc]
mov byte [ebp - 0x249], 0
movsx esi, byte [eax + 0x1e]
mov eax, esi
test al, al
mov eax, dword [ebp + 0xc]
cmovs esi, dword [eax + 0xc]
sub esi, ebx
jmp 0x61a7547c
mov ecx, dword [eax + 0xc]
movsx eax, byte [eax + 0x1e]
xor edx, edx
test al, al
jns 0x61a75444
jmp 0x61a75448
xor ecx, ecx
cmp edx, ebx
jl 0x61a75448
sub edx, ebx
mov ecx, edx
mov edx, ebx
jmp 0x61a75448
movsx edx, byte [ebp - 0x1e6]
xor eax, eax
mov ecx, dword [ebp - 0x1f8]
test dl, dl
js 0x61a7551b
xor ebx, ebx
jmp 0x61a75515
xor ecx, ecx
cmp ebx, eax
jg 0x61a7551b
sub eax, ebx
mov ecx, eax
mov eax, ebx
jmp 0x61a7551b
mov eax, dword [ebp + 0x10]
mov dword [eax], 3
lea ecx, [ebp - 0x204]
call sym.icu_53::UnicodeString::UnicodeString__
jmp 0x61a75818
mov eax, dword [ebp + 0x10]
mov dword [eax], 7
jmp 0x61a75919
mov eax, dword [ebp - 0x254]
mov dword [esp], eax
call sym._uprv_free_53
lea ecx, [ebp - 0x180]
call sym.icu_53::Locale::Locale__
jmp 0x61a75919