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

Disassembly:
push 0xffffffffffffffff
push 0x532041b0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x4c
push ebx
push ebp
push esi
xor ebp, ebp
xor esi, esi
mov dword [esp + 0x4c], ebp
push edi
mov dword [esp + 0x10], esi
mov eax, dword [esp + 0x7c]
push eax
push ecx
mov ecx, dword [esp + 0x80]
mov edx, dword [ecx]
mov eax, esp
mov ebx, 1
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x84], esp
mov dword [eax], edx
call sym.libOCAHelperw_2_13.dll_protected:_static_unsigned_long_int___cdecl_Ocalibhelper213::TypeHolder::Base64ToFlags_class_CXLib206::SString_t_char__1_::iterator__class_CXLib206::SString_t_char__1_::iterator_const__
mov edi, eax
shr eax, 0x1b
add esp, 8
and al, bl
mov byte [esp + 0x7c], al
je 0x53189f67
mov eax, 0x3f
jmp 0x53189f6c
mov eax, edi
and eax, 0x3f
lea ecx, [eax + 1]
cmp ecx, 0x40
ja case.0x53189f7f.1
movzx ecx, byte [ecx + 0x5318a614]
jmp dword [ecx*4 + 0x5318a5e4]
mov eax, dword [esp + 0x74]
push ebx
push 0xa
push 0xccc
push 0x7fff
lea edx, [esp + 0x8c]
push edx
push eax
push ecx
mov ecx, dword [esp + 0x8c]
mov edx, dword [ecx]
mov eax, esp
mov dword [esp + 0x98], ebp
mov dword [eax], edx
call dword [sym.imp.cxlibw_2_6.dll_bool___cdecl_CXLib206::StringConvToIntegerIterator_class_CXLib206::SString_t_char__1_::iterator__short_int__class_CXLib206::SString_t_char__1_::iterator__class_CXLib206::SString_t_char__1_::iterator_const___short_int___short_int__short_int__int__bool_]
add esp, 0x1c
test al, al
je case.0x53189f7f.0
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x7c]
push eax
push ecx
lea edx, [esp + 0x20]
push edx
call sym.libOCAHelperw_2_13.dll_public:_static_class_CXLib206::CSmartRefCountPtr_class_Ocalibhelper213::TypeHolder____cdecl_Ocalibhelper213::TypeHolder::CreateTypeHolder_short_int__enum_Ocalibhelper213::TypeHolder::UrlVersion_
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x68], 2
call fcn.53174180
mov ecx, dword [esp + 0x18]
cmp ecx, ebp
mov byte [esp + 0x64], 1
je 0x5318a214
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x5318a214
mov edx, dword [esp + 0x74]
push ebx
push 0xa
push 0x1999
push 0xffff
lea ecx, [esp + 0x8c]
push ecx
push edx
push ecx
mov ecx, dword [esp + 0x8c]
mov edx, dword [ecx]
mov eax, esp
mov dword [esp + 0x98], ebp
mov dword [eax], edx
call dword [sym.imp.cxlibw_2_6.dll_bool___cdecl_CXLib206::StringConvToIntegerIterator_class_CXLib206::SString_t_char__1_::iterator__unsigned_short_int__class_CXLib206::SString_t_char__1_::iterator__class_CXLib206::SString_t_char__1_::iterator_const___unsigned_short_int___unsigned_short_int__unsigned_short_int__int__bool_]
add esp, 0x1c
test al, al
je case.0x53189f7f.0
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x7c]
push eax
push ecx
lea edx, [esp + 0x24]
push edx
call sym.libOCAHelperw_2_13.dll_public:_static_class_CXLib206::CSmartRefCountPtr_class_Ocalibhelper213::TypeHolder____cdecl_Ocalibhelper213::TypeHolder::CreateTypeHolder_unsigned_short_int__enum_Ocalibhelper213::TypeHolder::UrlVersion_
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x68], 3
call fcn.53174180
mov ecx, dword [esp + 0x1c]
cmp ecx, ebp
mov byte [esp + 0x64], 1
je 0x5318a214
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x5318a214
mov edx, dword [esp + 0x74]
push ebx
push 0xa
push 0xccccccc
push SysReAllocString
lea ecx, [esp + 0x8c]
push ecx
push edx
push ecx
mov ecx, dword [esp + 0x8c]
mov edx, dword [ecx]
mov eax, esp
mov dword [esp + 0x98], ebp
mov dword [eax], edx
call dword [sym.imp.cxlibw_2_6.dll_bool___cdecl_CXLib206::StringConvToIntegerIterator_class_CXLib206::SString_t_char__1_::iterator__long_int__class_CXLib206::SString_t_char__1_::iterator__class_CXLib206::SString_t_char__1_::iterator_const___long_int___long_int__long_int__int__bool_]
add esp, 0x1c
test al, al
je case.0x53189f7f.0
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x7c]
push eax
push ecx
lea edx, [esp + 0x28]
push edx
call sym.libOCAHelperw_2_13.dll_public:_static_class_CXLib206::CSmartRefCountPtr_class_Ocalibhelper213::TypeHolder____cdecl_Ocalibhelper213::TypeHolder::CreateTypeHolder_long_int__enum_Ocalibhelper213::TypeHolder::UrlVersion_
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x68], 4
call fcn.53174180
mov ecx, dword [esp + 0x20]
cmp ecx, ebp
mov byte [esp + 0x64], 1
je 0x5318a214
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x5318a214
mov edx, dword [esp + 0x74]
push ebx
push 0xa
push 0x19999999
push 0xffffffffffffffff
lea ecx, [esp + 0x8c]
push ecx
push edx
push ecx
mov ecx, dword [esp + 0x8c]
mov edx, dword [ecx]
mov eax, esp
mov dword [esp + 0x98], ebp
mov dword [eax], edx
call dword [sym.imp.cxlibw_2_6.dll_bool___cdecl_CXLib206::StringConvToIntegerIterator_class_CXLib206::SString_t_char__1_::iterator__unsigned_long_int__class_CXLib206::SString_t_char__1_::iterator__class_CXLib206::SString_t_char__1_::iterator_const___unsigned_long_int___unsigned_long_int__unsigned_long_int__int__bool_]
add esp, 0x1c
test al, al
je case.0x53189f7f.0
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x7c]
push eax
push ecx
lea edx, [esp + 0x2c]
push edx
call sym.libOCAHelperw_2_13.dll_public:_static_class_CXLib206::CSmartRefCountPtr_class_Ocalibhelper213::TypeHolder____cdecl_Ocalibhelper213::TypeHolder::CreateTypeHolder_unsigned_long_int__enum_Ocalibhelper213::TypeHolder::UrlVersion_
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x68], 5
call fcn.53174180
mov ecx, dword [esp + 0x24]
cmp ecx, ebp
mov byte [esp + 0x64], 1
je 0x5318a214
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x5318a214
mov edx, dword [esp + 0x74]
push ebx
push 0xa
push 0xccccccc
push 0xcccccccc
push SysReAllocString
push 0xffffffffffffffff
lea ecx, [esp + 0x6c]
push ecx
push edx
push ecx
mov ecx, dword [esp + 0x94]
mov edx, dword [ecx]
mov eax, esp
mov dword [esp + 0x78], ebp
mov dword [esp + 0x7c], ebp
mov dword [eax], edx
call dword [sym.imp.cxlibw_2_6.dll_bool___cdecl_CXLib206::StringConvToIntegerIterator_class_CXLib206::SString_t_char__1_::iterator__long_long___int64___class_CXLib206::SString_t_char__1_::iterator__class_CXLib206::SString_t_char__1_::iterator_const___long_long___int64____long_long___int64___long_long___int64___int__bool_]
add esp, 0x24
test al, al
je case.0x53189f7f.0
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x54]
push eax
push ecx
push edx
lea eax, [esp + 0x34]
push eax
call sym.libOCAHelperw_2_13.dll_public:_static_class_CXLib206::CSmartRefCountPtr_class_Ocalibhelper213::TypeHolder____cdecl_Ocalibhelper213::TypeHolder::CreateTypeHolder_long_long___int64___enum_Ocalibhelper213::TypeHolder::UrlVersion_
add esp, 0x10
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x68], 6
call fcn.53174180
mov ecx, dword [esp + 0x28]
mov byte [esp + 0x64], 1
cmp ecx, ebp
je 0x5318a214
mov edx, dword [ecx]
call dword [edx + 4]
mov esi, dword [esp + 0x10]
cmp esi, ebp
je case.0x53189f7f.0
mov ecx, dword [esi + 8]
and ecx, 0x3f
and edi, 0xffff0000
or ecx, edi
mov dword [esi + 8], ecx
cmp esi, ebp
mov edi, dword [esp + 0x6c]
mov dword [edi], esi
je 0x5318a23d
mov edx, dword [esi]
mov ecx, esi
call dword [edx]
cmp esi, ebp
mov dword [esp + 0x50], 1
mov byte [esp + 0x64], 0
je 0x5318a255
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 4]
mov ecx, dword [esp + 0x5c]
mov eax, edi
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x58
ret
cmp dword [esp + 0x84], ebx
mov dword [esp + 0x7c], 0
jne 0x5318a2de
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
push eax
push ecx
lea ecx, [esp + 0x34]
call dword [sym.imp.cxlibw_2_6.dll_public:_void___thiscall_CXLib206::SAsciiString::constructor_class_CXLib206::SString_t_char__1_::iterator_const___class_CXLib206::SString_t_char__1_::iterator_const__]
mov eax, dword [eax]
add eax, 0xc
push eax
lea ecx, [esp + 0x7c]
mov byte [esp + 0x68], 7
call dword [sym.imp.cxlibw_2_6.dll_public:_void___thiscall_CXLib206::SString_t_char__0_::constructor_char_const__]
lea edx, [esp + 0x7c]
push edx
lea eax, [esp + 0x7c]
push eax
mov byte [esp + 0x6c], 8
call dword [sym.imp.cxlibw_2_6.dll_public:_static_bool___cdecl_CXLib206::SAnsiStringConv::FromString_class_CXLib206::SAnsiString_const___float__]
add esp, 8
lea ecx, [esp + 0x78]
mov bl, al
mov byte [esp + 0x64], 7
call dword [sym.imp.cxlibw_2_6.dll_protected:_void___thiscall_CXLib206::SString_t_char__0_::releaseBuffer_void_]
lea ecx, [esp + 0x2c]
mov byte [esp + 0x64], 1
call dword [sym.imp.cxlibw_2_6.dll_protected:_void___thiscall_CXLib206::SString_t_char__1_::releaseBuffer_void_]
jmp 0x5318a2fe
mov edx, dword [esp + 0x74]
lea ecx, [esp + 0x7c]
push ecx
push edx
push ecx
mov ecx, dword [esp + 0x7c]
mov edx, dword [ecx]
mov eax, esp
mov dword [eax], edx
call dword [sym.imp.cxlibw_2_6.dll_bool___cdecl_CXLib206::NeutralStringToRealIterator_class_CXLib206::SString_t_char__1_::iterator__float__class_CXLib206::SString_t_char__1_::iterator__class_CXLib206::SString_t_char__1_::iterator_const___float__]
add esp, 0xc
mov bl, al
test bl, bl
je case.0x53189f7f.0
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x7c]
push eax
push ecx
lea edx, [esp + 0x38]
push edx
call sym.libOCAHelperw_2_13.dll_public:_static_class_CXLib206::CSmartRefCountPtr_class_Ocalibhelper213::TypeHolder____cdecl_Ocalibhelper213::TypeHolder::CreateTypeHolder_float__enum_Ocalibhelper213::TypeHolder::UrlVersion_
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x68], 9
call fcn.53174180
mov ecx, dword [esp + 0x30]
cmp ecx, ebp
mov byte [esp + 0x64], 1
je 0x5318a214
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x5318a214
mov eax, dword [esp + 0x84]
fld qword [0x532257c0]
cmp eax, ebx
fstp qword [esp + 0x54]
jne 0x5318a3c2
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
push ecx
push edx
lea ecx, [esp + 0x3c]
call dword [sym.imp.cxlibw_2_6.dll_public:_void___thiscall_CXLib206::SAsciiString::constructor_class_CXLib206::SString_t_char__1_::iterator_const___class_CXLib206::SString_t_char__1_::iterator_const__]
mov eax, dword [eax]
add eax, 0xc
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x68], 0xa
call dword [sym.imp.cxlibw_2_6.dll_public:_void___thiscall_CXLib206::SString_t_char__0_::constructor_char_const__]
lea eax, [esp + 0x54]
push eax
lea ecx, [esp + 0x18]
push ecx
mov byte [esp + 0x6c], 0xb
call dword [sym.imp.cxlibw_2_6.dll_public:_static_bool___cdecl_CXLib206::SAnsiStringConv::FromString_class_CXLib206::SAnsiString_const___double__]
add esp, 8
lea ecx, [esp + 0x14]
mov bl, al
mov byte [esp + 0x64], 0xa
call dword [sym.imp.cxlibw_2_6.dll_protected:_void___thiscall_CXLib206::SString_t_char__0_::releaseBuffer_void_]
lea ecx, [esp + 0x34]
mov byte [esp + 0x64], 1
call dword [sym.imp.cxlibw_2_6.dll_protected:_void___thiscall_CXLib206::SString_t_char__1_::releaseBuffer_void_]
jmp 0x5318a3e2
mov eax, dword [esp + 0x74]
lea edx, [esp + 0x54]
push edx
push eax
push ecx
mov ecx, dword [esp + 0x7c]
mov edx, dword [ecx]
mov eax, esp
mov dword [eax], edx
call dword [sym.imp.cxlibw_2_6.dll_bool___cdecl_CXLib206::NeutralStringToRealIterator_class_CXLib206::SString_t_char__1_::iterator__double__class_CXLib206::SString_t_char__1_::iterator__class_CXLib206::SString_t_char__1_::iterator_const___double__]
add esp, 0xc
mov bl, al
test bl, bl
je case.0x53189f7f.0
mov eax, dword [esp + 0x80]
fld qword [esp + 0x54]
push eax
sub esp, 8
lea ecx, [esp + 0x44]
fstp qword [esp]
push ecx
call sym.libOCAHelperw_2_13.dll_public:_static_class_CXLib206::CSmartRefCountPtr_class_Ocalibhelper213::TypeHolder____cdecl_Ocalibhelper213::TypeHolder::CreateTypeHolder_double__enum_Ocalibhelper213::TypeHolder::UrlVersion_
add esp, 0x10
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x68], 0xc
call fcn.53174180
mov ecx, dword [esp + 0x38]
mov byte [esp + 0x64], 1
jmp 0x5318a20b
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
push ebx
push 0xa
push 0xccccccc
push SysReAllocString
lea eax, [esp + 0x8c]
push eax
push ecx
push ecx
mov ecx, dword [edx]
mov eax, esp
mov dword [esp + 0x98], ebp
mov dword [eax], ecx
call dword [sym.imp.cxlibw_2_6.dll_bool___cdecl_CXLib206::StringConvToIntegerIterator_class_CXLib206::SString_t_char__1_::iterator__long_int__class_CXLib206::SString_t_char__1_::iterator__class_CXLib206::SString_t_char__1_::iterator_const___long_int___long_int__long_int__int__bool_]
add esp, 0x1c
test al, al
je case.0x53189f7f.0
mov eax, dword [esp + 0x7c]
mov edx, dword [esp + 0x80]
cmp eax, ebp
setne al
push edx
lea ecx, [esp + 0x40]
push eax
push ecx
call sym.libOCAHelperw_2_13.dll_public:_static_class_CXLib206::CSmartRefCountPtr_class_Ocalibhelper213::TypeHolder____cdecl_Ocalibhelper213::TypeHolder::CreateTypeHolder_bool__enum_Ocalibhelper213::TypeHolder::UrlVersion_
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x68], 0xd
call fcn.53174180
mov ecx, dword [esp + 0x3c]
mov byte [esp + 0x64], 1
jmp 0x5318a20b
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
push eax
push ecx
lea edx, [esp + 0x4c]
push edx
call dword [sym.imp.cxlibw_2_6.dll_public:_static_class_CXLib206::SDecodedString___cdecl_CXLib206::CNameValuePairs::URLStrDecode_class_CXLib206::SString_t_char__1_::iterator_const___class_CXLib206::SString_t_char__1_::iterator_const__]
mov ecx, dword [esp + 0x8c]
push ecx
push eax
lea edx, [esp + 0x54]
mov bl, 0xe
push edx
mov byte [esp + 0x7c], bl
call sym.libOCAHelperw_2_13.dll_public:_static_class_CXLib206::CSmartRefCountPtr_class_Ocalibhelper213::TypeHolder____cdecl_Ocalibhelper213::TypeHolder::CreateTypeHolder_class_CXLib206::SWCharString_const___enum_Ocalibhelper213::TypeHolder::UrlVersion_
add esp, 0x18
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x68], 0xf
call fcn.53174180
mov ecx, dword [esp + 0x40]
cmp ecx, ebp
mov byte [esp + 0x64], bl
je 0x5318a4f0
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [esp + 0x44]
mov byte [esp + 0x64], 1
call dword [sym.imp.cxlibw_2_6.dll_protected:_void___thiscall_CXLib206::SString_t_unsigned_short_int__1_::releaseBuffer_void_]
jmp 0x5318a214
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
push ecx
push edx
lea ecx, [esp + 0x54]
call dword [sym.imp.cxlibw_2_6.dll_public:_void___thiscall_CXLib206::SAsciiString::constructor_class_CXLib206::SString_t_char__1_::iterator_const___class_CXLib206::SString_t_char__1_::iterator_const__]
mov ecx, dword [esp + 0x80]
push ecx
push eax
lea edx, [esp + 0x50]
mov bl, 0x10
push edx
mov byte [esp + 0x70], bl
call sym.libOCAHelperw_2_13.dll_public:_static_class_CXLib206::CSmartRefCountPtr_class_Ocalibhelper213::TypeHolder____cdecl_Ocalibhelper213::TypeHolder::CreateTypeHolder_class_CXLib206::SAsciiString_const___enum_Ocalibhelper213::TypeHolder::UrlVersion_
add esp, 0xc
mov esi, dword [eax]
cmp esi, ebp
mov byte [esp + 0x64], 0x11
mov dword [esp + 0x10], esi
je 0x5318a549
mov eax, dword [esi]
mov ecx, esi
call dword [eax]
mov ecx, dword [esp + 0x48]
cmp ecx, ebp
mov byte [esp + 0x64], bl
je 0x5318a55a
mov edx, dword [ecx]
call dword [edx + 4]
lea ecx, [esp + 0x4c]
mov byte [esp + 0x64], 1
call dword [sym.imp.cxlibw_2_6.dll_protected:_void___thiscall_CXLib206::SString_t_char__1_::releaseBuffer_void_]
jmp 0x5318a218
mov ecx, dword [sym.imp.cxlibw_2_6.dll_class_CXLib206::SString_t_unsigned_short_int__1_::_EmptyBuffer_CXLib206::SString_t_unsigned_short_int__1_::EmptyBuffer]
mov dword [esp + 0x7c], ecx
push str._type_is_invalid___TypeHolder::CreateTypeHolder_const_SWCharString_stringValue__CORBA_TCKind_kind_
push eax
lea edx, [esp + 0x84]
push edx
mov byte [esp + 0x70], 0x12
call dword [sym.imp.cxlibw_2_6.dll_class_CXLib206::SWCharString____cdecl_CXLib206::operator___class_CXLib206::SWCharString___long_int_]
add esp, 8
push eax
call dword [sym.imp.cxlibw_2_6.dll_class_CXLib206::SWCharString____cdecl_CXLib206::operator___class_CXLib206::SWCharString___unsigned_short_int_const__]
push str.._typeholder.cpp
call dword [sym.imp.cxlibw_2_6.dll_bool___cdecl_CXLib206::ShouldAssert_char_const__]
add esp, 0xc
test al, al
je 0x5318a5cd
mov eax, dword [esp + 0x7c]
add eax, 0xc
push eax
push 0x53216568
push 0x304
push str.._typeholder.cpp
call dword [sym.imp.cxlibw_2_6.dll_void___cdecl_CXLib206::SAssert_char_const___int__char_const___unsigned_short_int_const__]
add esp, 0x10
lea ecx, [esp + 0x7c]
mov byte [esp + 0x64], 1
call dword [sym.imp.cxlibw_2_6.dll_protected:_void___thiscall_CXLib206::SString_t_unsigned_short_int__1_::releaseBuffer_void_]
jmp case.0x53189f7f.0