Function at 0x4a9031fc
Capabilities:
Authenticate hmac
Resolve function by parsing pe exports

Disassembly:
jmp 0x4a9dbdf2
push 0xffffffffffffffff
push 0x4aa02ecc
mov eax, dword fs:[0]
push eax
sub esp, 0x2f4
mov eax, dword [0x4aa98440]
xor eax, esp
mov dword [esp + 0x2f0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4aa98440]
xor eax, esp
push eax
lea eax, [esp + 0x308]
mov dword fs:[0], eax
mov edi, dword [esp + 0x318]
xor ebp, ebp
push edi
push ebp
mov ebx, 0x4a9eb540
mov dword [esp + 0x1c], edi
mov eax, ebp
mov esi, 0x4a9ebb9a
push ebx
push esi
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], eax
call sub.icuuc58.dll_uhash_open_58
mov dword [esp + 0x34], eax
mov dword [esp + 0xa4], eax
push edi
push ebp
push 0x4a9eb138
push 0x4a9eb132
mov dword [esp + 0x330], ebp
call sub.icuuc58.dll_uhash_open_58
mov dword [esp + 0x60], eax
mov dword [esp + 0xac], eax
push edi
push ebp
push ebx
push esi
call sub.icuuc58.dll_uhash_open_58
mov dword [esp + 0x78], eax
mov dword [esp + 0xc0], eax
mov ebx, dword [sym.imp.icuuc58.dll_public:_static_void____cdecl_icu_58::UMemory::operator_new_unsigned_int_]
push 0x184
call ebx
add esp, 0x34
mov dword [esp + 0x2c], eax
mov byte [esp + 0x310], 3
test eax, eax
je 0x4a9dbec3
push edi
mov ecx, eax
call sym.icuin58.dll_public:_void___thiscall_icu_58::DecimalFormat::constructor_enum_UErrorCode__
jmp 0x4a9dbec5
mov eax, ebp
push edi
push eax
lea ecx, [esp + 0x40]
call fcn.4a901bef
push 0x18
call ebx
mov esi, eax
pop ecx
mov dword [esp + 0x2c], esi
mov ebp, dword [sym.imp.icuuc58.dll_public:_void___thiscall_icu_58::UVector::constructor_void____cdecl___void____signed_char____cdecl___union_UElement__union_UElement___enum_UErrorCode__]
mov byte [esp + 0x310], 5
test esi, esi
je 0x4a9dbf04
push edi
push 0x4a9eb540
push 0x4a9eb0cc
mov ecx, esi
call ebp
mov dword [esi], vtable.icu_58::UVector.0
jmp 0x4a9dbf06
xor esi, esi
push edi
push esi
lea ecx, [esp + 0x80]
call fcn.4a901d2a
push 0x18
call ebx
mov esi, eax
pop ecx
mov dword [esp + 0x2c], esi
mov byte [esp + 0x310], 7
test esi, esi
je 0x4a9dbf42
push edi
push 0x4a9eb540
push 0x4a9eb0cc
mov ecx, esi
call ebp
mov dword [esi], vtable.icu_58::UVector.0
jmp 0x4a9dbf44
xor esi, esi
push edi
push esi
lea ecx, [esp + 0x88]
call fcn.4a901d2a
push 0x18
call ebx
mov esi, eax
pop ecx
mov dword [esp + 0x2c], esi
mov byte [esp + 0x310], 9
test esi, esi
je 0x4a9dbf80
push edi
push 0x4a9eb540
push 0x4a9eb0cc
mov ecx, esi
call ebp
mov dword [esi], vtable.icu_58::UVector.0
jmp 0x4a9dbf82
xor esi, esi
push edi
mov dword [0x4aa9caa8], esi
xor esi, esi
push str.metadata
push esi
call sub.icuuc58.dll_ures_openDirect_58
mov dword [esp + 0x74], eax
push edi
push esi
push str.alias
push eax
call sub.icuuc58.dll_ures_getByKey_58
mov dword [esp + 0x80], eax
push edi
push esi
push str.territory
push eax
call sub.icuuc58.dll_ures_getByKey_58
mov dword [esp + 0x78], eax
push edi
push str.supplementalData
push esi
call sub.icuuc58.dll_ures_openDirect_58
mov ebp, eax
mov dword [esp + 0xa8], ebp
push edi
push esi
push str.codeMappings
push ebp
call sub.icuuc58.dll_ures_getByKey_58
add esp, 0x48
mov dword [esp + 0x54], eax
push edi
push esi
push str.idValidity
push ebp
call sub.icuuc58.dll_ures_getByKey_58
mov dword [esp + 0x84], eax
push edi
push esi
push str.region
push eax
call sub.icuuc58.dll_ures_getByKey_58
mov ebx, eax
mov dword [esp + 0x8c], ebx
push edi
push esi
push str.regular
push ebx
call sub.icuuc58.dll_ures_getByKey_58
mov dword [esp + 0x6c], eax
push edi
push esi
push str.macroregion
push ebx
call sub.icuuc58.dll_ures_getByKey_58
add esp, 0x40
mov dword [esp + 0x44], eax
push edi
push esi
push str.unknown
push ebx
call sub.icuuc58.dll_ures_getByKey_58
mov ebx, eax
mov dword [esp + 0x60], ebx
push edi
push esi
push str.territoryContainment
push ebp
call sub.icuuc58.dll_ures_getByKey_58
mov ebp, eax
mov dword [esp + 0x9c], ebp
push edi
push esi
push 0x4aa0bf48
push ebp
call sub.icuuc58.dll_ures_getByKey_58
mov esi, eax
mov dword [esp + 0x88], esi
push edi
push 0
push str.grouping
push ebp
call sub.icuuc58.dll_ures_getByKey_58
mov edi, eax
add esp, 0x40
mov dword [esp + 0x34], edi
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x310], 0x16
cmp dword [ecx], 0
jle 0x4a9dc1d0
test edi, edi
je 0x4a9dc0ad
push edi
call sub.icuuc58.dll_ures_close_58
pop ecx
test esi, esi
je 0x4a9dc0b8
push esi
call sub.icuuc58.dll_ures_close_58
pop ecx
test ebp, ebp
je 0x4a9dc0c3
push ebp
call sub.icuuc58.dll_ures_close_58
pop ecx
test ebx, ebx
je 0x4a9dc0ce
push ebx
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x44]
test eax, eax
je 0x4a9dc0dd
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x4a9dc0ec
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x4a9dc0fb
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x74]
test eax, eax
je 0x4a9dc10a
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x54]
test eax, eax
je 0x4a9dc119
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x70]
test eax, eax
je 0x4a9dc128
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x4a9dc137
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x64]
test eax, eax
je 0x4a9dc146
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x68]
test eax, eax
je 0x4a9dc155
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov ecx, dword [esp + 0x80]
mov byte [esp + 0x310], 6
test ecx, ecx
je 0x4a9dc16e
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [esp + 0x78]
mov byte [esp + 0x310], 4
test ecx, ecx
je 0x4a9dc184
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [esp + 0x38]
mov byte [esp + 0x310], 2
test ecx, ecx
je 0x4a9dc19a
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [esp + 0x48]
test eax, eax
je 0x4a9dc1a9
push eax
call sub.icuuc58.dll_uhash_close_58
pop ecx
mov eax, dword [esp + 0x40]
test eax, eax
je 0x4a9dc1b8
push eax
call sub.icuuc58.dll_uhash_close_58
pop ecx
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4a9dd8b2
push eax
call sub.icuuc58.dll_uhash_close_58
pop ecx
jmp 0x4a9dd8b2
mov ecx, dword [esp + 0x38]
push 1
mov eax, dword [ecx]
call dword [eax + 0x58]
push 0x4a9de0e8
push dword [esp + 0x28]
call sub.icuuc58.dll_uhash_setValueDeleter_58
push 0x4a9eb0cc
push dword [esp + 0x54]
call sub.icuuc58.dll_uhash_setKeyDeleter_58
push dword [esp + 0x4c]
call sub.icuuc58.dll_ures_hasNext_58
add esp, 0x14
jmp 0x4a9dc3c3
push dword [esp + 0x14]
lea eax, [esp + 0x9c]
push 0
push dword [esp + 0x44]
push eax
call fcn.4a906fd7
add esp, 0x10
lea ecx, [esp + 0x98]
mov byte [esp + 0x310], 0x17
call dword [sym.imp.icuuc58.dll_public:_int___thiscall_icu_58::UnicodeString::length_void_const]
push eax
push 0
push 0x7e
lea ecx, [esp + 0xa4]
call dword [sym.imp.icuuc58.dll_private:_int___thiscall_icu_58::UnicodeString::doIndexOf_wchar_t__int__int_const]
push dword [esp + 0x14]
mov dword [esp + 0x24], eax
lea ecx, [esp + 0x9c]
push 6
lea eax, [esp + 0x300]
push eax
call dword [sym.imp.icuuc58.dll_public:_int___thiscall_icu_58::UnicodeString::extract_wchar_t___int__enum_UErrorCode__const]
mov eax, dword [esp + 0x20]
test eax, eax
jle 0x4a9dc33c
inc eax
lea ecx, [esp + 0x98]
push eax
call dword [sym.imp.icuuc58.dll_private:_wchar_t___thiscall_icu_58::UnicodeString::doCharAt_int_const]
movzx ecx, ax
mov eax, dword [esp + 0x20]
add eax, eax
mov dword [esp + 0x1c], ecx
cmp eax, 0xc
jae 0x4a9dc3d0
xor edx, edx
mov word [esp + eax + 0x2f8], dx
cmp word [esp + eax + 0x2f6], cx
ja 0x4a9dc3a4
mov ebx, dword [esp + 0x14]
mov edi, ecx
mov esi, dword [esp + 0x20]
push 0x40
call dword [sym.imp.icuuc58.dll_public:_static_void____cdecl_icu_58::UMemory::operator_new_unsigned_int_]
pop ecx
mov dword [esp + 0x1c], eax
mov byte [esp + 0x310], 0x18
test eax, eax
je 0x4a9dc2f0
lea ecx, [esp + 0x2f8]
push ecx
mov ecx, eax
call dword [sym.imp.icuuc58.dll_public:_void___thiscall_icu_58::UnicodeString::constructor_wchar_t_const__]
mov eax, dword [esp + 0x1c]
mov dword [eax], vtable.icu_58::UnicodeString.0
jmp 0x4a9dc2f2
xor eax, eax
push ebx
push eax
lea ecx, [esp + 0x30]
call fcn.4a90555b
mov eax, dword [esp + 0x28]
mov ecx, dword [0x4aa9caa8]
and dword [esp + 0x28], 0
push ebx
push eax
mov byte [esp + 0x318], 0x19
call dword [sym.imp.icuuc58.dll_public:_void___thiscall_icu_58::UVector::addElement_void___enum_UErrorCode__]
inc word [esp + esi*2 + 0x2f6]
cmp word [esp + esi*2 + 0x2f6], di
jbe 0x4a9dc2bb
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x50]
jmp 0x4a9dc3a4
push 0x40
call dword [sym.imp.icuuc58.dll_public:_static_void____cdecl_icu_58::UMemory::operator_new_unsigned_int_]
pop ecx
mov dword [esp + 0x1c], eax
mov byte [esp + 0x310], 0x1a
test eax, eax
je 0x4a9dc371
lea ecx, [esp + 0x98]
push ecx
mov ecx, eax
call dword [sym.imp.icuuc58.dll_public:_void___thiscall_icu_58::UnicodeString::constructor_class_icu_58::UnicodeString_const__]
mov eax, dword [esp + 0x1c]
mov dword [eax], vtable.icu_58::UnicodeString.0
jmp 0x4a9dc373
xor eax, eax
push dword [esp + 0x14]
lea ecx, [esp + 0x34]
push eax
call fcn.4a90555b
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x30]
and dword [esp + 0x30], 0
push ecx
mov ecx, dword [0x4aa9caa8]
push eax
mov byte [esp + 0x318], 0x1b
call dword [sym.imp.icuuc58.dll_public:_void___thiscall_icu_58::UVector::addElement_void___enum_UErrorCode__]
lea ecx, [esp + 0x98]
mov byte [esp + 0x310], 0x16
call dword [sym.imp.icuuc58.dll_public_virtual:_void___thiscall_icu_58::UnicodeString::destructor_void_]
push dword [esp + 0x3c]
call sub.icuuc58.dll_ures_hasNext_58
pop ecx
test al, al
jne 0x4a9dc208
jmp 0x4a9dc588
call fcn.4a9ec59e
push dword [esp + 0x14]
lea eax, [esp + 0x9c]
push 0
push dword [esp + 0x4c]
push eax
call fcn.4a906fd7
add esp, 0x10
lea ecx, [esp + 0x98]
mov byte [esp + 0x310], 0x1c
call dword [sym.imp.icuuc58.dll_public:_int___thiscall_icu_58::UnicodeString::length_void_const]
push eax
push 0
push 0x7e
lea ecx, [esp + 0xa4]
call dword [sym.imp.icuuc58.dll_private:_int___thiscall_icu_58::UnicodeString::doIndexOf_wchar_t__int__int_const]
push dword [esp + 0x14]
mov dword [esp + 0x24], eax
lea ecx, [esp + 0x9c]
push 6
lea eax, [esp + 0x300]
push eax
call dword [sym.imp.icuuc58.dll_public:_int___thiscall_icu_58::UnicodeString::extract_wchar_t___int__enum_UErrorCode__const]
mov eax, dword [esp + 0x20]
test eax, eax
jle 0x4a9dc509
inc eax
lea ecx, [esp + 0x98]
push eax
call dword [sym.imp.icuuc58.dll_private:_wchar_t___thiscall_icu_58::UnicodeString::doCharAt_int_const]
movzx ecx, ax
mov eax, dword [esp + 0x20]
add eax, eax
mov dword [esp + 0x1c], ecx
cmp eax, 0xc
jae 0x4a9dc3d0
xor edx, edx
mov word [esp + eax + 0x2f8], dx
cmp word [esp + eax + 0x2f6], cx
ja 0x4a9dc573
mov ebx, dword [esp + 0x14]
mov edi, ecx
mov esi, dword [esp + 0x20]
push 0x40
call dword [sym.imp.icuuc58.dll_public:_static_void____cdecl_icu_58::UMemory::operator_new_unsigned_int_]
pop ecx
mov dword [esp + 0x1c], eax
mov byte [esp + 0x310], 0x1d
test eax, eax
je 0x4a9dc4bd
lea ecx, [esp + 0x2f8]
push ecx
mov ecx, eax
call dword [sym.imp.icuuc58.dll_public:_void___thiscall_icu_58::UnicodeString::constructor_wchar_t_const__]
mov eax, dword [esp + 0x1c]
mov dword [eax], vtable.icu_58::UnicodeString.0
jmp 0x4a9dc4bf
xor eax, eax
push ebx
push eax
lea ecx, [esp + 0x30]
call fcn.4a90555b
mov eax, dword [esp + 0x28]
mov ecx, dword [0x4aa9caa8]
and dword [esp + 0x28], 0
push ebx
push eax
mov byte [esp + 0x318], 0x1e
call dword [sym.imp.icuuc58.dll_public:_void___thiscall_icu_58::UVector::addElement_void___enum_UErrorCode__]
inc word [esp + esi*2 + 0x2f6]
cmp word [esp + esi*2 + 0x2f6], di
jbe 0x4a9dc488
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x34]
mov ebx, dword [esp + 0x50]
jmp 0x4a9dc573
push 0x40
call dword [sym.imp.icuuc58.dll_public:_static_void____cdecl_icu_58::UMemory::operator_new_unsigned_int_]
pop ecx
mov dword [esp + 0x1c], eax
mov byte [esp + 0x310], 0x1f
test eax, eax
je 0x4a9dc53e
lea ecx, [esp + 0x98]
push ecx
mov ecx, eax
call dword [sym.imp.icuuc58.dll_public:_void___thiscall_icu_58::UnicodeString::constructor_class_icu_58::UnicodeString_const__]
mov eax, dword [esp + 0x1c]
mov dword [eax], vtable.icu_58::UnicodeString.0
jmp 0x4a9dc540
xor eax, eax
push dword [esp + 0x14]
lea ecx, [esp + 0x34]
push eax
call fcn.4a90555b
mov ecx, dword [esp + 0x14]
push 0x20
pop eax
push ecx
mov ecx, dword [0x4aa9caa8]
mov byte [esp + 0x314], al
mov eax, dword [esp + 0x34]
and dword [esp + 0x34], 0
push eax
call dword [sym.imp.icuuc58.dll_public:_void___thiscall_icu_58::UVector::addElement_void___enum_UErrorCode__]
lea ecx, [esp + 0x98]
mov byte [esp + 0x310], 0x16
call dword [sym.imp.icuuc58.dll_public_virtual:_void___thiscall_icu_58::UnicodeString::destructor_void_]
push dword [esp + 0x44]
call sub.icuuc58.dll_ures_hasNext_58
pop ecx
test al, al
jne 0x4a9dc3d5
push ebx
call sub.icuuc58.dll_ures_hasNext_58
pop ecx
test al, al
je 0x4a9dc672
mov edi, dword [esp + 0x14]
push 0x40
call dword [sym.imp.icuuc58.dll_public:_static_void____cdecl_icu_58::UMemory::operator_new_unsigned_int_]
pop ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x2c], eax
mov byte [esp + 0x310], 0x21
test eax, eax
je 0x4a9dc60e
push edi
push 0
lea eax, [esp + 0x1e0]
push ebx
push eax
call fcn.4a906fd7
add esp, 0x10
mov ecx, dword [esp + 0x18]
push dword [edi]
or ecx, 1
mov byte [esp + 0x314], 0x22
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x24]
push eax
call dword [sym.imp.icuuc58.dll_public:_void___thiscall_icu_58::UnicodeString::constructor_class_icu_58::UnicodeString_const___int_]
mov eax, dword [esp + 0x20]
mov dword [eax], vtable.icu_58::UnicodeString.0
jmp 0x4a9dc614
xor eax, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x310], 0x25
test cl, 1
je 0x4a9dc644
and ecx, 0xfffffffe
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x1d8]
call dword [sym.imp.icuuc58.dll_public_virtual:_void___thiscall_icu_58::UnicodeString::destructor_void_]
mov eax, dword [esp + 0x20]
mov ecx, dword [0x4aa9caa8]
and dword [esp + 0x1c], 0
push edi
push eax
call dword [sym.imp.icuuc58.dll_public:_void___thiscall_icu_58::UVector::addElement_void___enum_UErrorCode__]
push ebx
mov byte [esp + 0x314], 0x16
call sub.icuuc58.dll_ures_hasNext_58
pop ecx
test al, al
jne 0x4a9dc5ad
mov edi, dword [esp + 0x34]
push esi
call sub.icuuc58.dll_ures_hasNext_58
mov ebx, dword [esp + 0x7c]
pop ecx
test al, al
je 0x4a9dc6da
mov edi, dword [esp + 0x14]
push 0x40
call dword [sym.imp.icuuc58.dll_public:_static_void____cdecl_icu_58::UMemory::operator_new_unsigned_int_]
pop ecx
mov dword [esp + 0x1c], eax
mov byte [esp + 0x310], 0x26
test eax, eax
je 0x4a9dc6b7
push edi
push 0
push esi
push eax
call fcn.4a906fd7
mov eax, dword [esp + 0x2c]
add esp, 0x10
mov dword [eax], vtable.icu_58::UnicodeString.0
jmp 0x4a9dc6b9
xor eax, eax
push edi
push eax
mov ecx, ebx
mov byte [esp + 0x318], 0x16
call dword [sym.imp.icuuc58.dll_public:_void___thiscall_icu_58::UVector::addElement_void___enum_UErrorCode__]
push esi
call sub.icuuc58.dll_ures_hasNext_58
pop ecx
test al, al
jne 0x4a9dc685
mov edi, dword [esp + 0x34]
push edi
call sub.icuuc58.dll_ures_hasNext_58
mov edi, dword [esp + 0x84]
pop ecx
test al, al
je 0x4a9dc74d
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x14]
push 0x40
call dword [sym.imp.icuuc58.dll_public:_static_void____cdecl_icu_58::UMemory::operator_new_unsigned_int_]
pop ecx
mov dword [esp + 0x1c], eax
mov byte [esp + 0x310], 0x27
test eax, eax
je 0x4a9dc726
push esi
push 0
push ebx
push eax
call fcn.4a906fd7
mov eax, dword [esp + 0x2c]
add esp, 0x10
mov dword [eax], vtable.icu_58::UnicodeString.0
jmp 0x4a9dc728
xor eax, eax
push esi
push eax
mov ecx, edi
mov byte [esp + 0x318], 0x16
call dword [sym.imp.icuuc58.dll_public:_void___thiscall_icu_58::UVector::addElement_void___enum_UErrorCode__]
push ebx
call sub.icuuc58.dll_ures_hasNext_58
pop ecx
test al, al
jne 0x4a9dc6f4
mov ebx, dword [esp + 0x78]
mov esi, dword [esp + 0x58]
mov eax, dword [0x4aa9caa8]
and dword [esp + 0x30], 0
cmp dword [eax + 4], 0
jle 0x4a9dce23
push 0x5c
call dword [sym.imp.icuuc58.dll_public:_static_void____cdecl_icu_58::UMemory::operator_new_unsigned_int_]
pop ecx
test eax, eax
je 0x4a9dc777
mov ecx, eax
call sym.icuin58.dll_private:_void___thiscall_icu_58::Region::constructor_void_
jmp 0x4a9dc779
xor eax, eax
push dword [esp + 0x14]
lea ecx, [esp + 0x2c]
push eax
call fcn.4a906997
mov eax, dword [esp + 0x14]
mov byte [esp + 0x310], 0x28
cmp dword [eax], 0
jg 0x4a9dc8bb
push dword [esp + 0x30]
mov ecx, dword [0x4aa9caa8]
call dword [sym.imp.icuuc58.dll_public:_void____thiscall_icu_58::UVector::elementAt_int_const]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x18], ecx
add ecx, 8
push eax
mov dword [esp + 0x24], ecx
call dword [sym.imp.icuuc58.dll_public:_class_icu_58::UnicodeString____thiscall_icu_58::UnicodeString::operator_class_icu_58::UnicodeString_const__]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x20]
add eax, 4
push 0
push 4
push eax
call dword [sym.imp.icuuc58.dll_public:_int___thiscall_icu_58::UnicodeString::length_void_const]
mov ecx, dword [esp + 0x2c]
push eax
push 0
call dword [sym.imp.icuuc58.dll_public:_int___thiscall_icu_58::UnicodeString::extract_int__int__char___int__enum_icu_58::UnicodeString::EInvariant_const]
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x218]
mov dword [eax + 0x4c], 1
call sym.icuin58.dll_public:_void___thiscall_icu_58::Formattable::constructor_void_
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0x60]
and dword [esp + 0x60], 0
push ecx
lea ecx, [esp + 0x21c]
mov byte [esp + 0x314], 0x29
mov edx, dword [eax]
push ecx
push dword [esp + 0x28]
mov ecx, eax
call dword [edx + 0x4c]
cmp dword [esp + 0x60], 0
jg 0x4a9dc85f
mov ecx, dword [esp + 0x18]
push dword [esp + 0x14]
mov eax, dword [esp + 0x224]
push ecx
mov dword [ecx + 0x48], eax
push dword [esp + 0x228]
push dword [esp + 0x4c]
call sub.icuuc58.dll_uhash_iput_58
mov eax, dword [esp + 0x28]
add esp, 0x10
mov dword [eax + 0x4c], 4
jmp 0x4a9dc867
mov eax, dword [esp + 0x18]
or dword [eax + 0x48], 0xffffffff
push dword [esp + 0x14]
and dword [esp + 0x2c], 0
push eax
push dword [esp + 0x28]
push dword [esp + 0x30]
call sub.icuuc58.dll_uhash_put_58
add esp, 0x10
mov byte [esp + 0x310], 0x28
lea ecx, [esp + 0x218]
call sym.icuin58.dll_public_virtual:_void___thiscall_icu_58::Formattable::destructor_void_
mov eax, dword [0x4aa9caa8]
mov ecx, dword [esp + 0x30]
inc ecx
mov byte [esp + 0x310], 0x16
mov dword [esp + 0x30], ecx
mov eax, dword [eax + 4]
cmp ecx, eax
jl 0x4a9dc761
jmp 0x4a9dce23
mov ecx, dword [esp + 0x28]
mov byte [esp + 0x310], 0x16
test ecx, ecx
je 0x4a9dc8d1
mov eax, dword [ecx]
push 1
call dword [eax]
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4a9dc8e0
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
test esi, esi
je 0x4a9dc8eb
push esi
call sub.icuuc58.dll_ures_close_58
pop ecx
test ebp, ebp
je 0x4a9dc8f6
push ebp
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x50]
test eax, eax
je 0x4a9dc905
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x44]
test eax, eax
je 0x4a9dc914
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x4a9dc923
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x4a9dc932
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x74]
test eax, eax
je 0x4a9dc941
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x54]
test eax, eax
je 0x4a9dc950
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x70]
test eax, eax
je 0x4a9dc95f
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x4a9dc96e
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x64]
test eax, eax
je 0x4a9dc97d
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x68]
test eax, eax
je 0x4a9dc98c
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov byte [esp + 0x310], 6
test edi, edi
je 0x4a9dc9a0
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax]
mov byte [esp + 0x310], 4
test ebx, ebx
je 0x4a9dc9b4
mov eax, dword [ebx]
mov ecx, ebx
push 1
call dword [eax]
mov byte [esp + 0x310], 2
mov eax, dword [esp + 0x38]
mov ecx, eax
push 1
mov edx, dword [eax]
call dword [edx]
jmp 0x4a9dc19a
push dword [esp + 0x14]
push 0
push esi
call sub.icuuc58.dll_ures_getNextResource_58
mov esi, eax
mov dword [esp + 0x90], esi
push esi
call sub.icuuc58.dll_ures_getKey_58
push 0x40
mov dword [esp + 0x2c], eax
call dword [sym.imp.icuuc58.dll_public:_static_void____cdecl_icu_58::UMemory::operator_new_unsigned_int_]
add esp, 0x14
mov dword [esp + 0x5c], eax
mov byte [esp + 0x310], 0x2b
test eax, eax
je 0x4a9dca23
push 0
push 0xffffffffffffffff
push dword [esp + 0x20]
mov ecx, eax
call dword [sym.imp.icuuc58.dll_public:_void___thiscall_icu_58::UnicodeString::constructor_char_const___int__enum_icu_58::UnicodeString::EInvariant_]
mov eax, dword [esp + 0x5c]
mov dword [eax], vtable.icu_58::UnicodeString.0
jmp 0x4a9dca25
xor eax, eax
push dword [esp + 0x14]
lea ecx, [esp + 0x2c]
push eax
call fcn.4a90555b
push dword [esp + 0x14]
lea eax, [esp + 0x9c]
mov byte [esp + 0x314], 0x2c
push str.replacement
push esi
push eax
call fcn.4a90647e
add esp, 0x10
test esi, esi
je 0x4a9dca60
push esi
call sub.icuuc58.dll_ures_close_58
pop ecx
and dword [esp + 0x84], 0
lea eax, [esp + 0x98]
push eax
push dword [esp + 0x28]
call sub.icuuc58.dll_uhash_get_58
mov esi, dword [esp + 0x30]
push esi
push dword [esp + 0x30]
mov dword [esp + 0x6c], eax
call sub.icuuc58.dll_uhash_get_58
mov edx, dword [esp + 0x6c]
add esp, 0x10
mov dword [esp + 0x18], eax
test edx, edx
je 0x4a9dcac2
test eax, eax
jne 0x4a9dcbed
mov ecx, dword [esp + 0x14]
mov eax, esi
push ecx
push edx
push eax
push dword [esp + 0x54]
xor esi, esi
mov dword [esp + 0x38], esi
call sub.icuuc58.dll_uhash_put_58
add esp, 0x10
jmp 0x4a9dcdf2
test eax, eax
jne 0x4a9dcbed
push 0x5c
call dword [sym.imp.icuuc58.dll_public:_static_void____cdecl_icu_58::UMemory::operator_new_unsigned_int_]
pop ecx
test eax, eax
je 0x4a9dcae0
mov ecx, eax
call sym.icuin58.dll_private:_void___thiscall_icu_58::Region::constructor_void_
jmp 0x4a9dcae2
xor eax, eax
push dword [esp + 0x14]
lea ecx, [esp + 0x34]
push eax
call fcn.4a906997
mov eax, dword [esp + 0x14]
mov byte [esp + 0x310], 0x2e
cmp dword [eax], 0
jg 0x4a9dcf8f
mov eax, dword [esp + 0x30]
xor ebp, ebp
push ebp
push esi
mov dword [esp + 0x20], eax
lea ecx, [eax + 8]
mov dword [esp + 0x38], ebp
call dword [sym.imp.icuuc58.dll_private:_class_icu_58::UnicodeString____thiscall_icu_58::UnicodeString::copyFrom_class_icu_58::UnicodeString_const___signed_char_]
mov edx, dword [esp + 0x18]
push ebp
push 4
lea eax, [edx + 4]
push eax
lea ecx, [edx + 8]
call dword [sym.imp.icuuc58.dll_public:_int___thiscall_icu_58::UnicodeString::length_void_const]
mov ecx, dword [esp + 0x24]
push eax
push ebp
lea ecx, [ecx + 8]
call dword [sym.imp.icuuc58.dll_public:_int___thiscall_icu_58::UnicodeString::extract_int__int__char___int__enum_icu_58::UnicodeString::EInvariant_const]
mov ecx, dword [esp + 0x18]
push dword [esp + 0x14]
push ecx
lea eax, [ecx + 8]
push eax
push dword [esp + 0x30]
call sub.icuuc58.dll_uhash_put_58
add esp, 0x10
lea ecx, [esp + 0x218]
call sym.icuin58.dll_public:_void___thiscall_icu_58::Formattable::constructor_void_
mov eax, dword [esp + 0x38]
lea ecx, [esp + 0x60]
push ecx
lea ecx, [esp + 0x21c]
mov dword [esp + 0x64], ebp
push ecx
mov ecx, dword [esp + 0x20]
mov edx, dword [eax]
add ecx, 8
push ecx
mov ecx, eax
mov byte [esp + 0x31c], 0x2f
call dword [edx + 0x4c]
cmp dword [esp + 0x60], ebp
mov ebp, dword [esp + 0x7c]
jg 0x4a9dcbc8
mov ecx, dword [esp + 0x18]
push dword [esp + 0x14]
mov eax, dword [esp + 0x224]
push ecx
mov dword [ecx + 0x48], eax
push dword [esp + 0x228]
push dword [esp + 0x4c]
call sub.icuuc58.dll_uhash_iput_58
mov eax, dword [esp + 0x28]
add esp, 0x10
jmp 0x4a9dcbd0
mov eax, dword [esp + 0x18]
or dword [eax + 0x48], 0xffffffff
lea ecx, [esp + 0x218]
mov dword [eax + 0x4c], 6
mov byte [esp + 0x310], 0x2e
call sym.icuin58.dll_public_virtual:_void___thiscall_icu_58::Formattable::destructor_void_
jmp 0x4a9dcbf4
mov dword [eax + 0x4c], 6
push 0x18
call dword [sym.imp.icuuc58.dll_public:_static_void____cdecl_icu_58::UMemory::operator_new_unsigned_int_]
pop ecx
mov dword [esp + 0x5c], eax
mov byte [esp + 0x310], 0x30
test eax, eax
je 0x4a9dcc2f
push dword [esp + 0x14]
mov ecx, eax
push 0x4a9eb540
push 0x4a9eb0cc
call dword [sym.imp.icuuc58.dll_public:_void___thiscall_icu_58::UVector::constructor_void____cdecl___void____signed_char____cdecl___union_UElement__union_UElement___enum_UErrorCode__]
mov eax, dword [esp + 0x5c]
mov dword [eax], vtable.icu_58::UVector.0
jmp 0x4a9dcc31
xor eax, eax
push dword [esp + 0x14]
lea ecx, [esp + 0x24]
mov byte [esp + 0x314], 0x2d
push eax
call fcn.4a901d2a
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
and dword [esp + 0x20], 0
mov dword [ecx + 0x58], eax
mov eax, dword [esp + 0x14]
cmp dword [eax], 0
jg 0x4a9dcfa5
lea ecx, [esp + 0xd8]
call dword [sym.imp.icuuc58.dll_protected:_void___thiscall_icu_58::Replaceable::constructor_void_]
mov eax, dword [sym.imp.icuuc58.dll_const_icu_58::UnicodeString::vftable]
push 2
mov dword [esp + 0xdc], eax
pop eax
mov word [esp + 0xdc], ax
and dword [esp + 0x5c], 0
lea ecx, [esp + 0x98]
mov byte [esp + 0x310], 0x31
call dword [sym.imp.icuuc58.dll_public:_int___thiscall_icu_58::UnicodeString::length_void_const]
test eax, eax
jle 0x4a9dcddd
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x5c]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x24]
push edi
lea ecx, [esp + 0x9c]
call dword [sym.imp.icuuc58.dll_private:_wchar_t___thiscall_icu_58::UnicodeString::doCharAt_int_const]
push 0x20
pop ecx
cmp ax, cx
je 0x4a9dccfb
push edi
lea ecx, [esp + 0x9c]
call dword [sym.imp.icuuc58.dll_private:_wchar_t___thiscall_icu_58::UnicodeString::doCharAt_int_const]
movzx eax, ax
lea ecx, [esp + 0xd8]
push 1
mov dword [esp + 0x30], eax
lea eax, [esp + 0x30]
push 0
push eax
call dword [sym.imp.icuuc58.dll_private:_class_icu_58::UnicodeString____thiscall_icu_58::UnicodeString::doAppend_wchar_t_const___int__int_]
push edi
lea ecx, [esp + 0x9c]
call dword [sym.imp.icuuc58.dll_private:_wchar_t___thiscall_icu_58::UnicodeString::doCharAt_int_const]
push 0x20
pop ecx
cmp ax, cx
je 0x4a9dcd29
lea ecx, [esp + 0x98]
call dword [sym.imp.icuuc58.dll_public:_int___thiscall_icu_58::UnicodeString::length_void_const]
lea ecx, [edi + 1]
cmp ecx, eax
jne 0x4a9dcdb4
lea eax, [esp + 0xd8]
push eax
push esi
call sub.icuuc58.dll_uhash_get_58
mov dword [esp + 0x64], eax
pop ecx
pop ecx
test eax, eax
je 0x4a9dcda7
push 0x40
call dword [sym.imp.icuuc58.dll_public:_static_void____cdecl_icu_58::UMemory::operator_new_unsigned_int_]
pop ecx
mov dword [esp + 0x18], eax
mov byte [esp + 0x310], 0x32
test eax, eax
je 0x4a9dcd76
mov ecx, dword [esp + 0x5c]
add ecx, 8
push ecx
mov ecx, eax
call dword [sym.imp.icuuc58.dll_public:_void___thiscall_icu_58::UnicodeString::constructor_class_icu_58::UnicodeString_const__]
mov eax, dword [esp + 0x18]
mov dword [eax], vtable.icu_58::UnicodeString.0
jmp 0x4a9dcd78
xor eax, eax
push ebx
push eax
lea ecx, [esp + 0x24]
call fcn.4a90555b
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebp + 0x58]
and dword [esp + 0x1c], 0
push ebx
push eax
mov byte [esp + 0x318], 0x33
call dword [sym.imp.icuuc58.dll_public:_void___thiscall_icu_58::UVector::addElement_void___enum_UErrorCode__]
mov byte [esp + 0x310], 0x31
lea ecx, [esp + 0xd8]
call dword [sym.imp.icuuc58.dll_public:_class_icu_58::UnicodeString____thiscall_icu_58::UnicodeString::remove_void_]
lea ecx, [esp + 0x98]
inc edi
call dword [sym.imp.icuuc58.dll_public:_int___thiscall_icu_58::UnicodeString::length_void_const]
cmp edi, eax
jl 0x4a9dccba
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x80]
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x7c]
lea ecx, [esp + 0xd8]
mov byte [esp + 0x310], 0x2d
call dword [sym.imp.icuuc58.dll_public_virtual:_void___thiscall_icu_58::UnicodeString::destructor_void_]
lea ecx, [esp + 0x98]
mov byte [esp + 0x310], 0x2c
call dword [sym.imp.icuuc58.dll_public_virtual:_void___thiscall_icu_58::UnicodeString::destructor_void_]
mov byte [esp + 0x310], 0x2a
test esi, esi
je 0x4a9dce1b
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
mov byte [esp + 0x310], 0x16
mov esi, dword [esp + 0x4c]
push esi
call sub.icuuc58.dll_ures_hasNext_58
pop ecx
test al, al
jne 0x4a9dc9cd
mov esi, dword [esp + 0x54]
push esi
call sub.icuuc58.dll_ures_hasNext_58
pop ecx
test al, al
je 0x4a9dd167
mov edi, dword [esp + 0x38]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x24]
push ebx
push 0
push esi
call sub.icuuc58.dll_ures_getNextResource_58
push eax
mov dword [esp + 0x28], eax
call sub.icuuc58.dll_ures_getType_58
add esp, 0x10
cmp eax, 8
jne 0x4a9dd13f
push dword [esp + 0x18]
call sub.icuuc58.dll_ures_getSize_58
pop ecx
cmp eax, 3
jne 0x4a9dd13f
push ebx
push 0
push dword [esp + 0x20]
lea eax, [esp + 0x1e4]
push eax
call fcn.4a9081e3
push ebx
push 1
push dword [esp + 0x30]
lea eax, [esp + 0xb4]
mov byte [esp + 0x32c], 0x34
push eax
call fcn.4a9081e3
push ebx
push 2
pop eax
push eax
push dword [esp + 0x40]
lea eax, [esp + 0x104]
mov byte [esp + 0x33c], 0x35
push eax
call fcn.4a9081e3
lea eax, [esp + 0x208]
mov byte [esp + 0x340], 0x36
push eax
push ebp
call sub.icuuc58.dll_uhash_get_58
add esp, 0x38
mov dword [esp + 0x28], eax
test eax, eax
je 0x4a9dd100
lea ecx, [esp + 0x218]
call sym.icuin58.dll_public:_void___thiscall_icu_58::Formattable::constructor_void_
and dword [esp + 0x1c], 0
lea ecx, [esp + 0x1c]
mov eax, dword [edi]
push ecx
lea ecx, [esp + 0x21c]
mov byte [esp + 0x314], 0x37
push ecx
lea ecx, [esp + 0xa0]
push ecx
mov ecx, edi
call dword [eax + 0x4c]
cmp dword [esp + 0x1c], 0
jg 0x4a9dcf53
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x220]
push ebx
push ecx
push eax
push dword [esp + 0x4c]
mov dword [ecx + 0x48], eax
call sub.icuuc58.dll_uhash_iput_58
add esp, 0x10
push 0x40
call dword [sym.imp.icuuc58.dll_public:_static_void____cdecl_icu_58::UMemory::operator_new_unsigned_int_]
pop ecx
mov dword [esp + 0x2c], eax
mov byte [esp + 0x310], 0x38
test eax, eax
je 0x4a9dd0c4
lea ecx, [esp + 0xd8]
push ecx
mov ecx, eax
call dword [sym.imp.icuuc58.dll_public:_void___thiscall_icu_58::UnicodeString::constructor_class_icu_58::UnicodeString_const__]
mov eax, dword [esp + 0x2c]
mov dword [eax], vtable.icu_58::UnicodeString.0
jmp 0x4a9dd0c6
mov ecx, dword [esp + 0x30]
mov byte [esp + 0x310], 0x2d
test ecx, ecx
je 0x4a9dcfa5
mov eax, dword [ecx]
push 1
call dword [eax]
lea ecx, [esp + 0x98]
mov byte [esp + 0x310], 0x2c
call dword [sym.imp.icuuc58.dll_public_virtual:_void___thiscall_icu_58::UnicodeString::destructor_void_]
mov byte [esp + 0x310], 0x2a
test esi, esi
je 0x4a9dcfce
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax]
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4a9dcfdd
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x58]
test eax, eax
je 0x4a9dcfec
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
test ebp, ebp
je 0x4a9dcff7
push ebp
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x50]
test eax, eax
je 0x4a9dd006
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x44]
test eax, eax
je 0x4a9dd015
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x4a9dd024
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x4a9dd033
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x74]
test eax, eax
je 0x4a9dd042
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x54]
test eax, eax
je 0x4a9dd051
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x70]
test eax, eax
je 0x4a9dd060
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x4a9dd06f
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x64]
test eax, eax
je 0x4a9dd07e
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x68]
test eax, eax
je 0x4a9dd08d
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov byte [esp + 0x310], 6
test edi, edi
je 0x4a9dd0a1
mov eax, dword [edi]
mov ecx, edi
push 1
call dword [eax]
mov byte [esp + 0x310], 4
test ebx, ebx
je 0x4a9dd0b5
mov eax, dword [ebx]
mov ecx, ebx
push 1
call dword [eax]
push 2
pop eax
mov byte [esp + 0x310], al
jmp 0x4a9dc9bc
xor eax, eax
push ebx
push eax
lea ecx, [esp + 0x68]
call fcn.4a90555b
mov eax, dword [esp + 0x60]
and dword [esp + 0x60], 0
push ebx
push dword [esp + 0x2c]
push eax
push dword [esp + 0x54]
call sub.icuuc58.dll_uhash_put_58
add esp, 0x10
mov byte [esp + 0x310], 0x36
lea ecx, [esp + 0x218]
call sym.icuin58.dll_public_virtual:_void___thiscall_icu_58::Formattable::destructor_void_
lea ecx, [esp + 0xd8]
mov byte [esp + 0x310], 0x35
call dword [sym.imp.icuuc58.dll_public_virtual:_void___thiscall_icu_58::UnicodeString::destructor_void_]
lea ecx, [esp + 0x98]
mov byte [esp + 0x310], 0x34
call dword [sym.imp.icuuc58.dll_public_virtual:_void___thiscall_icu_58::UnicodeString::destructor_void_]
lea ecx, [esp + 0x1d8]
mov byte [esp + 0x310], 0x16
call dword [sym.imp.icuuc58.dll_public_virtual:_void___thiscall_icu_58::UnicodeString::destructor_void_]
push dword [esp + 0x18]
call sub.icuuc58.dll_ures_close_58
push esi
call sub.icuuc58.dll_ures_hasNext_58
pop ecx
pop ecx
test al, al
jne 0x4a9dce55
mov edi, dword [esp + 0x80]
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x7c]
push 0x4aa1c690
lea ecx, [esp + 0x15c]
call dword [sym.imp.icuuc58.dll_public:_void___thiscall_icu_58::UnicodeString::constructor_wchar_t_const__]
lea eax, [esp + 0x158]
mov byte [esp + 0x310], 0x39
push eax
push dword [esp + 0x28]
call sub.icuuc58.dll_uhash_get_58
pop ecx
pop ecx
test eax, eax
je 0x4a9dd19f
mov dword [eax + 0x4c], 2
push 0x4aa1c680
lea ecx, [esp + 0x11c]
call dword [sym.imp.icuuc58.dll_public:_void___thiscall_icu_58::UnicodeString::constructor_wchar_t_const__]
lea eax, [esp + 0x118]
mov byte [esp + 0x310], 0x3a
push eax
push dword [esp + 0x28]
call sub.icuuc58.dll_uhash_get_58
pop ecx
pop ecx
test eax, eax
je 0x4a9dd1d4
and dword [eax + 0x4c], 0
and dword [esp + 0x2c], 0
cmp dword [ebx + 4], 0
jle 0x4a9dd212
mov esi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x24]
push esi
mov ecx, ebx
call dword [sym.imp.icuuc58.dll_public:_void____thiscall_icu_58::UVector::elementAt_int_const]
push eax
push ebp
call sub.icuuc58.dll_uhash_get_58
pop ecx
pop ecx
test eax, eax
je 0x4a9dd204
mov dword [eax + 0x4c], 3
inc esi
cmp esi, dword [ebx + 4]
jl 0x4a9dd1e7
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0x54]
and dword [esp + 0x2c], 0
cmp dword [edi + 4], 0
jle 0x4a9dd250
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x24]
push ebx
mov ecx, edi
call dword [sym.imp.icuuc58.dll_public:_void____thiscall_icu_58::UVector::elementAt_int_const]
push eax
push ebp
call sub.icuuc58.dll_uhash_get_58
pop ecx
pop ecx
test eax, eax
je 0x4a9dd242
mov dword [eax + 0x4c], 5
inc ebx
cmp ebx, dword [edi + 4]
jl 0x4a9dd225
mov ebx, dword [esp + 0x78]
mov ebp, dword [esp + 0x7c]
push 0x4aa1c688
lea ecx, [esp + 0x19c]
call dword [sym.imp.icuuc58.dll_public:_void___thiscall_icu_58::UnicodeString::constructor_wchar_t_const__]
lea eax, [esp + 0x198]
push eax
push dword [esp + 0x28]
call sub.icuuc58.dll_uhash_get_58
pop ecx
pop ecx
test eax, eax
je 0x4a9dd280
mov dword [eax + 0x4c], 4
push ebp
call sub.icuuc58.dll_ures_hasNext_58
pop ecx
test al, al
je 0x4a9dd4cb
push dword [esp + 0x14]
push 0
push ebp
call sub.icuuc58.dll_ures_getNextResource_58
mov esi, eax
add esp, 0xc
mov dword [esp + 0x84], esi
mov eax, dword [esp + 0x14]
mov byte [esp + 0x310], 0x3c
cmp dword [eax], 0
jg 0x4a9dd518
push esi
call sub.icuuc58.dll_ures_getKey_58
push 0x13
push str.containedGroupings
push eax
mov dword [esp + 0x2c], eax
call sub.MSVCR120.dll_memcmp
add esp, 0x10
test eax, eax
je 0x4a9dd4ad
push 0xb
push str.deprecated
push dword [esp + 0x24]
call sub.MSVCR120.dll_memcmp
add esp, 0xc
test eax, eax
je 0x4a9dd4ad
push 0
push 0xffffffffffffffff
push dword [esp + 0x24]
lea ecx, [esp + 0xa4]
call dword [sym.imp.icuuc58.dll_public:_void___thiscall_icu_58::UnicodeString::constructor_char_const___int__enum_icu_58::UnicodeString::EInvariant_]
lea eax, [esp + 0x98]
mov byte [esp + 0x310], 0x3d
push eax
push dword [esp + 0x28]
call sub.icuuc58.dll_uhash_get_58
and dword [esp + 0x20], 0
push esi
mov dword [esp + 0x2c], eax
call sub.icuuc58.dll_ures_getSize_58
add esp, 0xc
test eax, eax
jle 0x4a9dd498
mov ecx, dword [esp + 0x18]
push dword [esp + 0x14]
lea eax, [esp + 0xdc]
push ecx
push esi
push eax
call fcn.4a9081e3
lea eax, [esp + 0xe8]
push eax
push dword [esp + 0x38]
call sub.icuuc58.dll_uhash_get_58
mov ecx, eax
add esp, 0x18
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1c], ecx
test eax, eax
je 0x4a9dd46c
test ecx, ecx
je 0x4a9dd46c
cmp dword [eax + 0x54], 0
jne 0x4a9dd3d0
push 0x18
call dword [sym.imp.icuuc58.dll_public:_static_void____cdecl_icu_58::UMemory::operator_new_unsigned_int_]
pop ecx
mov dword [esp + 0x2c], eax
mov byte [esp + 0x310], 0x3f
test eax, eax
je 0x4a9dd3c7
push dword [esp + 0x14]
mov ecx, eax
push 0x4a9eb540
push 0x4a9eb0cc
call dword [sym.imp.icuuc58.dll_public:_void___thiscall_icu_58::UVector::constructor_void____cdecl___void____signed_char____cdecl___union_UElement__union_UElement___enum_UErrorCode__]
mov eax, dword [esp + 0x2c]
mov dword [eax], vtable.icu_58::UVector.0
jmp 0x4a9dd3c9
xor eax, eax
mov ecx, dword [esp + 0x20]
mov dword [ecx + 0x54], eax
push 0x40
call dword [sym.imp.icuuc58.dll_public:_static_void____cdecl_icu_58::UMemory::operator_new_unsigned_int_]
pop ecx
mov dword [esp + 0x2c], eax
mov byte [esp + 0x310], 0x40
test eax, eax
je 0x4a9dd404
mov ecx, eax
call dword [sym.imp.icuuc58.dll_protected:_void___thiscall_icu_58::Replaceable::constructor_void_]
mov eax, dword [esp + 0x2c]
push 2
pop ecx
mov word [eax + 4], cx
mov dword [eax], vtable.icu_58::UnicodeString.0
jmp 0x4a9dd406
xor eax, eax
push dword [esp + 0x14]
lea ecx, [esp + 0x2c]
push eax
call fcn.4a90555b
mov eax, dword [esp + 0x14]
mov byte [esp + 0x310], 0x41
cmp dword [eax], 0
jg 0x4a9dd4d8
mov eax, dword [esp + 0x1c]
add eax, 8
push eax
mov eax, dword [esp + 0x2c]
mov ecx, eax
mov dword [esp + 0x30], eax
call dword [sym.imp.icuuc58.dll_public:_class_icu_58::UnicodeString____thiscall_icu_58::UnicodeString::fastCopyFrom_class_icu_58::UnicodeString_const__]
mov eax, dword [esp + 0x20]
push dword [esp + 0x14]
and dword [esp + 0x2c], 0
push dword [esp + 0x30]
mov ecx, dword [eax + 0x54]
call dword [sym.imp.icuuc58.dll_public:_void___thiscall_icu_58::UVector::addElement_void___enum_UErrorCode__]
mov eax, dword [esp + 0x20]
cmp dword [eax + 0x4c], 5
je 0x4a9dd46c
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 0x50], eax
lea ecx, [esp + 0xd8]
mov byte [esp + 0x310], 0x3d
call dword [sym.imp.icuuc58.dll_public_virtual:_void___thiscall_icu_58::UnicodeString::destructor_void_]
inc dword [esp + 0x18]
push esi
call sub.icuuc58.dll_ures_getSize_58
pop ecx
mov ecx, dword [esp + 0x18]
cmp ecx, eax
jl 0x4a9dd345
lea ecx, [esp + 0x98]
mov byte [esp + 0x310], 0x3c
call dword [sym.imp.icuuc58.dll_public_virtual:_void___thiscall_icu_58::UnicodeString::destructor_void_]
test esi, esi
je 0x4a9dd4b8
push esi
call sub.icuuc58.dll_ures_close_58
pop ecx
push ebp
call sub.icuuc58.dll_ures_hasNext_58
pop ecx
test al, al
jne 0x4a9dd28f
mov esi, dword [esp + 0x54]
or dword [esp + 0x88], 0xffffffff
jmp 0x4a9dd727
mov ecx, dword [esp + 0x28]
mov byte [esp + 0x310], 0x3e
test ecx, ecx
je 0x4a9dd4ee
mov eax, dword [ecx]
push 1
call dword [eax]
lea ecx, [esp + 0xd8]
mov byte [esp + 0x310], 0x3d
call dword [sym.imp.icuuc58.dll_public_virtual:_void___thiscall_icu_58::UnicodeString::destructor_void_]
lea ecx, [esp + 0x98]
mov byte [esp + 0x310], 0x3c
call dword [sym.imp.icuuc58.dll_public_virtual:_void___thiscall_icu_58::UnicodeString::destructor_void_]
test esi, esi
je 0x4a9dd523
push esi
call sub.icuuc58.dll_ures_close_58
pop ecx
mov esi, dword [sym.imp.icuuc58.dll_public_virtual:_void___thiscall_icu_58::UnicodeString::destructor_void_]
lea ecx, [esp + 0x198]
mov byte [esp + 0x310], 0x3a
call esi
lea ecx, [esp + 0x118]
mov byte [esp + 0x310], 0x39
call esi
lea ecx, [esp + 0x158]
mov byte [esp + 0x310], 0x16
call esi
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4a9dd56b
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x58]
test eax, eax
je 0x4a9dd57a
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
test ebp, ebp
je 0x4a9dd585
push ebp
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x50]
test eax, eax
je 0x4a9dd594
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x44]
test eax, eax
je 0x4a9dd5a3
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x4a9dd5b2
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x4a9dd5c1
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x74]
test eax, eax
je 0x4a9dd5d0
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x54]
test eax, eax
je 0x4a9dd5df
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x70]
test eax, eax
je 0x4a9dd5ee
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x4a9dd5fd
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x64]
test eax, eax
je 0x4a9dd60c
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x68]
test eax, eax
je 0x4a9dd61b
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [edi]
mov ecx, edi
push 1
mov byte [esp + 0x314], 6
call dword [eax]
mov byte [esp + 0x310], 4
jmp 0x4a9dd0ad
mov eax, dword [eax + 4]
mov dword [esp + 0x28], eax
mov eax, dword [eax + 0x4c]
cmp dword [eax*4 + 0x4aa9cab0], 0
jne 0x4a9dd6ae
push 0x18
call dword [sym.imp.icuuc58.dll_public:_static_void____cdecl_icu_58::UMemory::operator_new_unsigned_int_]
pop ecx
mov dword [esp + 0x2c], eax
mov byte [esp + 0x310], 0x42
test eax, eax
je 0x4a9dd687
push dword [esp + 0x14]
mov ecx, eax
push 0x4a9eb540
push 0x4a9eb0cc
call dword [sym.imp.icuuc58.dll_public:_void___thiscall_icu_58::UVector::constructor_void____cdecl___void____signed_char____cdecl___union_UElement__union_UElement___enum_UErrorCode__]
mov eax, dword [esp + 0x2c]
mov dword [eax], vtable.icu_58::UVector.0
jmp 0x4a9dd689
xor eax, eax
push dword [esp + 0x14]
lea ecx, [esp + 0x20]
push eax
call fcn.4a901d2a
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
and dword [esp + 0x1c], 0
mov eax, dword [eax + 0x4c]
mov dword [eax*4 + 0x4aa9cab0], ecx
push 0x40
call dword [sym.imp.icuuc58.dll_public:_static_void____cdecl_icu_58::UMemory::operator_new_unsigned_int_]
pop ecx
mov dword [esp + 0x2c], eax
mov byte [esp + 0x310], 0x43
test eax, eax
je 0x4a9dd6e3
mov ecx, dword [esp + 0x28]
add ecx, 8
push ecx
mov ecx, eax
call dword [sym.imp.icuuc58.dll_public:_void___thiscall_icu_58::UnicodeString::constructor_class_icu_58::UnicodeString_const__]
mov eax, dword [esp + 0x2c]
mov dword [eax], vtable.icu_58::UnicodeString.0
jmp 0x4a9dd6e5
xor eax, eax
push dword [esp + 0x14]
lea ecx, [esp + 0x34]
push eax
call fcn.4a90555b
mov ecx, dword [esp + 0x14]
mov byte [esp + 0x310], 0x44
cmp dword [ecx], 0
jg 0x4a9dd8da
mov eax, dword [esp + 0x30]
and dword [esp + 0x30], 0
push ecx
push eax
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 0x4c]
mov ecx, dword [ecx*4 + 0x4aa9cab0]
call dword [sym.imp.icuuc58.dll_public:_void___thiscall_icu_58::UVector::addElement_void___enum_UErrorCode__]
lea eax, [esp + 0x88]
push eax
push dword [esp + 0x28]
call sub.icuuc58.dll_uhash_nextElement_58
pop ecx
pop ecx
test eax, eax
jne 0x4a9dd638
push 0x4a9de0fa
push 0x1d
call fcn.4a903319
mov eax, dword [esp + 0x48]
pop ecx
pop ecx
xor ecx, ecx
mov dword [0x4aa9caa4], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x94], ecx
mov dword [0x4aa9caa0], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x90], ecx
lea ecx, [esp + 0x198]
mov dword [0x4aa9ca9c], eax
mov byte [esp + 0x310], 0x3a
call dword [sym.imp.icuuc58.dll_public_virtual:_void___thiscall_icu_58::UnicodeString::destructor_void_]
lea ecx, [esp + 0x118]
mov byte [esp + 0x310], 0x39
call dword [sym.imp.icuuc58.dll_public_virtual:_void___thiscall_icu_58::UnicodeString::destructor_void_]
lea ecx, [esp + 0x158]
mov byte [esp + 0x310], 0x16
call dword [sym.imp.icuuc58.dll_public_virtual:_void___thiscall_icu_58::UnicodeString::destructor_void_]
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4a9dd7d0
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x58]
test eax, eax
je 0x4a9dd7df
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
test ebp, ebp
je 0x4a9dd7ea
push ebp
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x50]
test eax, eax
je 0x4a9dd7f9
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x44]
test eax, eax
je 0x4a9dd808
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x4a9dd817
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x4a9dd826
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x74]
test eax, eax
je 0x4a9dd835
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
test esi, esi
je 0x4a9dd840
push esi
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x70]
test eax, eax
je 0x4a9dd84f
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x4a9dd85e
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x64]
test eax, eax
je 0x4a9dd86d
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x68]
test eax, eax
je 0x4a9dd87c
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [edi]
mov ecx, edi
push 1
mov byte [esp + 0x314], 6
call dword [eax]
mov eax, dword [ebx]
mov ecx, ebx
push 1
mov byte [esp + 0x314], 4
call dword [eax]
push 2
pop eax
mov byte [esp + 0x310], al
mov eax, dword [esp + 0x38]
mov ecx, eax
push 1
mov edx, dword [eax]
call dword [edx]
mov ecx, dword [esp + 0x308]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x2f0]
xor ecx, esp
call fcn.4a9ebf20
add esp, 0x300
ret
mov ecx, dword [esp + 0x30]
mov byte [esp + 0x310], 0x3b
test ecx, ecx
je 0x4a9dd8f0
mov eax, dword [ecx]
push 1
call dword [eax]
lea ecx, [esp + 0x198]
mov byte [esp + 0x310], 0x3a
call dword [sym.imp.icuuc58.dll_public_virtual:_void___thiscall_icu_58::UnicodeString::destructor_void_]
lea ecx, [esp + 0x118]
mov byte [esp + 0x310], 0x39
call dword [sym.imp.icuuc58.dll_public_virtual:_void___thiscall_icu_58::UnicodeString::destructor_void_]
lea ecx, [esp + 0x158]
mov byte [esp + 0x310], 0x16
call dword [sym.imp.icuuc58.dll_public_virtual:_void___thiscall_icu_58::UnicodeString::destructor_void_]
mov eax, dword [esp + 0x34]
test eax, eax
je 0x4a9dd93e
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x58]
test eax, eax
je 0x4a9dd94d
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
test ebp, ebp
je 0x4a9dd958
push ebp
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x50]
test eax, eax
je 0x4a9dd967
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x44]
test eax, eax
je 0x4a9dd976
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x4a9dd985
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x4a9dd994
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
mov eax, dword [esp + 0x74]
test eax, eax
je 0x4a9dd9a3
push eax
call sub.icuuc58.dll_ures_close_58
pop ecx
test esi, esi
je 0x4a9dd5df
push esi
jmp 0x4a9dd5d9