Function at 0x44cb10
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push edi
lea eax, [ebp - 8]
sub esp, 0xf4
mov dword [ebp - 0xac], eax
lea eax, [ebp - 0xcc]
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xb4], sym.___gxx_personality_sj0
mov dword [ebp - 0xb0], 0x5c4202
mov dword [ebp - 0xa8], 0x44d272
mov dword [ebp - 0xa4], esp
mov dword [esp], eax
call dbg._Unwind_SjLj_Register
lea eax, [ebp - 0x30]
mov byte [ebp - 0x26], 0x3a
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x38], eax
mov eax, 0x7463
mov dword [ebp - 0x30], 0x73696854
mov dword [ebp - 0x2c], 0x656a624f
mov word [ebp - 0x28], ax
mov dword [ebp - 0x34], 0xb
mov byte [ebp - 0x25], 0
mov dword [esp + 4], 0x2c
mov dword [esp], str.N8CryptoPP31DL_GroupParameters_IntegerBasedE
mov dword [ebp - 0xc8], 0x13
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_append_char_const__unsigned_int_
lea edi, [ebp - 0x18]
lea edx, [eax + 8]
sub esp, 8
mov dword [ebp - 0x20], edi
mov ecx, dword [eax]
cmp ecx, edx
je 0x44ce54
mov dword [ebp - 0x20], ecx
mov ecx, dword [eax + 8]
mov dword [ebp - 0x18], ecx
mov ecx, dword [eax + 4]
mov edi, dword [ebp - 0xd0]
mov dword [ebp - 0x1c], ecx
mov dword [eax], edx
mov byte [eax + 8], 0
mov dword [eax + 4], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [esp + 8], edi
mov dword [esp + 4], 0x5e18c8
mov edx, dword [ebp - 0x20]
mov dword [esp], edx
mov eax, dword [eax + 8]
mov dword [ebp - 0xc8], 0x14
mov ecx, dword [ebp + 8]
call eax
mov byte [ebp - 0xd1], al
mov eax, dword [ebp - 0x20]
lea edi, [ebp - 0x18]
sub esp, 0xc
cmp eax, edi
je 0x44cc24
mov dword [esp], eax
call sym.operator_delete_void_
mov eax, dword [ebp - 0x38]
lea edi, [ebp - 0x30]
cmp eax, edi
je 0x44cc36
mov dword [esp], eax
call sym.operator_delete_void_
cmp byte [ebp - 0xd1], 0
je 0x44cc54
lea eax, [ebp - 0xcc]
mov dword [esp], eax
call sym.__Unwind_SjLj_Unregister
mov edi, dword [ebp - 4]
leave
ret 4
mov dword [esp], 0x5e18c8
mov ecx, 0x5e18c8
call method.std::type_info.operator_std::type_info_const__const
sub esp, 4
test al, al
je 0x44ce71
mov dword [ebp - 0xc8], 0xffffffff
lea ecx, [ebp - 0x98]
call dbg.CryptoPP::Integer::Integer()
mov eax, dword [ebp + 8]
lea edx, [ebp - 0x98]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x5e1c40
mov dword [esp], str.Modulus
mov eax, dword [eax + 8]
mov dword [ebp - 0xc8], 7
mov ecx, dword [ebp + 8]
call eax
sub esp, 0xc
test al, al
je 0x44ce94
mov dword [ebp - 0xc8], 7
lea ecx, [ebp - 0x80]
call dbg.CryptoPP::Integer::Integer()
mov eax, dword [ebp + 8]
lea edx, [ebp - 0x80]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x5e1c40
mov dword [esp], str.SubgroupGenerator
mov eax, dword [eax + 8]
mov dword [ebp - 0xc8], 8
mov ecx, dword [ebp + 8]
call eax
sub esp, 0xc
test al, al
je 0x44cfde
mov ecx, dword [ebp - 0xd0]
lea edx, [ebp - 0x80]
lea edi, [ebp - 0x98]
mov eax, dword [ecx]
mov dword [esp + 4], edx
mov dword [esp], edi
mov eax, dword [eax + 0x54]
mov dword [ebp - 0xc8], 8
call eax
mov edx, dword [ebp - 0x70]
sub esp, 8
mov dword [ebp - 0x80], 0x5f8fa0
test edx, edx
je 0x44cd64
mov ecx, dword [value.reg]
mov edi, edx
cmp dword [ebp - 0x78], ecx
cmovbe ecx, dword [ebp - 0x78]
xor eax, eax
rep stosd dword es:[edi], eax
mov dword [esp], edx
mov dword [ebp - 0xc8], 0
call dbg.CryptoPP::AlignedDeallocate(void*)
mov dword [ebp - 0x98], fcn.004cc6a0
mov edx, dword [ebp - 0x88]
test edx, edx
je 0x44cda3
mov ecx, dword [value1.reg]
mov edi, edx
cmp dword [ebp - 0x90], ecx
cmovbe ecx, dword [ebp - 0x90]
xor eax, eax
rep stosd dword es:[edi], eax
mov dword [esp], edx
mov dword [ebp - 0xc8], 0
call dbg.CryptoPP::AlignedDeallocate(void*)
mov dword [ebp - 0xc8], 0xffffffff
lea ecx, [ebp - 0x80]
call dbg.CryptoPP::Integer::Integer()
mov eax, dword [ebp + 8]
lea edx, [ebp - 0x80]
mov eax, dword [eax]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x5e1c40
mov dword [esp], str.SubgroupOrder
mov eax, dword [eax + 8]
mov dword [ebp - 0xc8], 1
mov ecx, dword [ebp + 8]
call eax
sub esp, 0xc
test al, al
je 0x44d128
lea edi, [ebp - 0x80]
mov eax, dword [ebp - 0xd0]
mov dword [esp], edi
mov dword [ebp - 0xc8], 1
lea ecx, [eax + 0xc]
call dbg.CryptoPP::Integer::operator=(CryptoPP::Integer const&)
mov eax, dword [ebp - 0xd0]
mov edx, dword [ebp - 0x70]
sub esp, 4
mov dword [ebp - 0x80], 0x5f8fa0
mov dword [eax + 8], 0
test edx, edx
je 0x44cc3f
mov ecx, dword [value.reg]
mov edi, edx
cmp dword [ebp - 0x78], ecx
cmovbe ecx, dword [ebp - 0x78]
xor eax, eax
rep stosd dword es:[edi], eax
mov dword [esp], edx
mov dword [ebp - 0xc8], 0
call dbg.CryptoPP::AlignedDeallocate(void*)
jmp 0x44cc3f
mov ecx, dword [eax + 8]
mov dword [ebp - 0x18], ecx
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x14], ecx
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x10], ecx
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0xc], ecx
jmp 0x44cbc7
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xc8], 0xffffffff
call dbg.CryptoPP::DL_GroupParameters_IntegerBased::AssignFrom(CryptoPP::NameValuePairs const&)
sub esp, 4
jmp 0x44cc70
mov dword [esp], 0x20
lea edi, [ebp - 0x68]
call sym.___cxa_allocate_exception
mov ecx, edi
mov dword [ebp - 0xdc], eax
mov dword [esp], str.N8CryptoPP31DL_GroupParameters_IntegerBasedE
mov dword [ebp - 0xc8], 0xe
mov dword [ebp - 0xd0], edi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.78_
push edi
mov dword [esp], str.:_Missing_required_parameter_
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xc8], 0xf
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.append_char_const_
push edx
lea ecx, [ebp - 0x50]
mov dword [esp], eax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
push ecx
lea ecx, [ebp - 0x50]
mov dword [esp], str.Modulus
mov dword [ebp - 0xc8], 0x10
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.append_char_const_
push edi
lea ecx, [ebp - 0x38]
mov dword [esp], eax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea ecx, [ebp - 0x38]
push eax
mov dword [esp], 0x5d1248
mov dword [ebp - 0xc8], 0x11
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.append_char_const_
push edx
lea ecx, [ebp - 0x20]
lea edi, [ebp - 0x20]
mov dword [esp], eax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
push ecx
mov dword [esp + 4], edi
mov dword [esp], 1
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xc8], 0x12
call fcn.004cee50
push eax
lea edi, [ebp - 0x18]
push eax
mov eax, dword [ebp - 0xdc]
mov dword [eax], method.CryptoPP::InvalidArgument.InvalidArgument__
mov eax, dword [ebp - 0x20]
cmp eax, edi
je 0x44cf80
mov dword [esp], eax
call sym.operator_delete_void_
mov eax, dword [ebp - 0x38]
lea edi, [ebp - 0x30]
cmp eax, edi
je 0x44cf92
mov dword [esp], eax
call sym.operator_delete_void_
mov eax, dword [ebp - 0x50]
lea edx, [ebp - 0x48]
cmp eax, edx
je 0x44cfa4
mov dword [esp], eax
call sym.operator_delete_void_
mov eax, dword [ebp - 0x68]
lea edx, [ebp - 0x60]
cmp eax, edx
je 0x44cfb6
mov dword [esp], eax
call sym.operator_delete_void_
mov dword [esp + 8], method.CryptoPP::InvalidArgument.InvalidArgument__
mov dword [esp + 4], 0x5e0be8
mov eax, dword [ebp - 0xdc]
mov dword [esp], eax
mov dword [ebp - 0xc8], 7
call sym.___cxa_throw
mov dword [esp], 0x20
lea edi, [ebp - 0x68]
call sym.___cxa_allocate_exception
mov ecx, edi
mov dword [ebp - 0xe0], eax
mov dword [esp], str.N8CryptoPP31DL_GroupParameters_IntegerBasedE
mov dword [ebp - 0xc8], 9
mov dword [ebp - 0xd0], edi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.78_
push edi
mov dword [esp], str.:_Missing_required_parameter_
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xc8], 0xa
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.append_char_const_
push edx
lea ecx, [ebp - 0x50]
mov dword [esp], eax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
push ecx
lea ecx, [ebp - 0x50]
mov dword [esp], str.SubgroupGenerator
mov dword [ebp - 0xc8], 0xb
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.append_char_const_
push edi
lea ecx, [ebp - 0x38]
mov dword [esp], eax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea ecx, [ebp - 0x38]
push eax
mov dword [esp], 0x5d1248
mov dword [ebp - 0xc8], 0xc
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.append_char_const_
push edx
lea ecx, [ebp - 0x20]
lea edi, [ebp - 0x20]
mov dword [esp], eax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
push ecx
mov dword [esp + 4], edi
mov dword [esp], 1
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xc8], 0xd
call fcn.004cee50
push eax
lea edi, [ebp - 0x18]
push eax
mov eax, dword [ebp - 0xe0]
mov dword [eax], method.CryptoPP::InvalidArgument.InvalidArgument__
mov eax, dword [ebp - 0x20]
cmp eax, edi
je 0x44d0ca
mov dword [esp], eax
call sym.operator_delete_void_
mov eax, dword [ebp - 0x38]
lea edi, [ebp - 0x30]
cmp eax, edi
je 0x44d0dc
mov dword [esp], eax
call sym.operator_delete_void_
mov eax, dword [ebp - 0x50]
lea edx, [ebp - 0x48]
cmp eax, edx
je 0x44d0ee
mov dword [esp], eax
call sym.operator_delete_void_
mov eax, dword [ebp - 0x68]
lea edx, [ebp - 0x60]
cmp eax, edx
je 0x44d100
mov dword [esp], eax
call sym.operator_delete_void_
mov dword [esp + 8], method.CryptoPP::InvalidArgument.InvalidArgument__
mov dword [esp + 4], 0x5e0be8
mov eax, dword [ebp - 0xe0]
mov dword [esp], eax
mov dword [ebp - 0xc8], 8
call sym.___cxa_throw
mov dword [esp], 0x20
lea edi, [ebp - 0x68]
call sym.___cxa_allocate_exception
mov ecx, edi
mov dword [ebp - 0xd8], eax
mov dword [esp], str.N8CryptoPP31DL_GroupParameters_IntegerBasedE
mov dword [ebp - 0xc8], 2
mov dword [ebp - 0xd0], edi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.78_
push edi
mov dword [esp], str.:_Missing_required_parameter_
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xc8], 3
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.append_char_const_
push edx
lea ecx, [ebp - 0x50]
mov dword [esp], eax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
push ecx
lea ecx, [ebp - 0x50]
mov dword [esp], str.SubgroupOrder
mov dword [ebp - 0xc8], 4
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.append_char_const_
push edi
lea ecx, [ebp - 0x38]
mov dword [esp], eax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
lea ecx, [ebp - 0x38]
push eax
mov dword [esp], 0x5d1248
mov dword [ebp - 0xc8], 5
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.append_char_const_
push edx
lea ecx, [ebp - 0x20]
lea edi, [ebp - 0x20]
mov dword [esp], eax
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____
push ecx
mov dword [esp + 4], edi
mov dword [esp], 1
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xc8], 6
call fcn.004cee50
push eax
lea edi, [ebp - 0x18]
push eax
mov eax, dword [ebp - 0xd8]
mov dword [eax], method.CryptoPP::InvalidArgument.InvalidArgument__
mov eax, dword [ebp - 0x20]
cmp eax, edi
je 0x44d214
mov dword [esp], eax
call sym.operator_delete_void_
mov eax, dword [ebp - 0x38]
lea edi, [ebp - 0x30]
cmp eax, edi
je 0x44d226
mov dword [esp], eax
call sym.operator_delete_void_
mov eax, dword [ebp - 0x50]
lea edx, [ebp - 0x48]
cmp eax, edx
je 0x44d238
mov dword [esp], eax
call sym.operator_delete_void_
mov eax, dword [ebp - 0x68]
lea edx, [ebp - 0x60]
cmp eax, edx
je 0x44d24a
mov dword [esp], eax
call sym.operator_delete_void_
mov dword [esp + 8], method.CryptoPP::InvalidArgument.InvalidArgument__
mov dword [esp + 4], 0x5e0be8
mov eax, dword [ebp - 0xd8]
mov dword [esp], eax
mov dword [ebp - 0xc8], 1
call sym.___cxa_throw
add ebp, 8
mov eax, dword [ebp - 0xc4]
cmp dword [ebp - 0xc8], 0x13
mov dword [ebp - 0xd0], eax
ja case.default.0x44d290
mov eax, dword [ebp - 0xc8]
jmp dword [eax*4 + 0x5d1358]
ud2
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x18]
cmp eax, edx
je case.0x44d290.10
mov dword [esp], eax
call sym.operator_delete_void_
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x30]
cmp eax, edx
je 0x44d324
mov dword [esp], eax
call sym.operator_delete_void_
jmp 0x44d324
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x18]
cmp eax, edx
je 0x44d2d1
mov dword [esp], eax
call sym.operator_delete_void_
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x30]
cmp eax, edx
je 0x44d2e3
mov dword [esp], eax
call sym.operator_delete_void_
mov eax, dword [ebp - 0x50]
lea edx, [ebp - 0x48]
cmp eax, edx
je 0x44d2f5
mov dword [esp], eax
call sym.operator_delete_void_
mov eax, dword [ebp - 0x68]
lea edx, [ebp - 0x60]
cmp eax, edx
je 0x44d307
mov dword [esp], eax
call sym.operator_delete_void_
mov eax, dword [ebp - 0xd8]
mov dword [esp], eax
call sym.___cxa_free_exception
mov dword [ebp - 0x80], fcn.004cc6a0
lea ecx, [value1.sign]
call method.CryptoPP::SecBlock_unsigned_int__CryptoPP::AllocatorWithCleanup_unsigned_int__true___.SecBlock__
mov eax, dword [ebp - 0xd0]
mov dword [esp], eax
mov dword [ebp - 0xc8], 0xffffffff
call dbg._Unwind_SjLj_Resume
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x18]
cmp eax, edx
je case.0x44d290.3
mov dword [esp], eax
call sym.operator_delete_void_
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x30]
cmp eax, edx
je case.0x44d290.2
mov dword [esp], eax
call sym.operator_delete_void_
mov eax, dword [ebp - 0x50]
lea edx, [ebp - 0x48]
cmp eax, edx
je case.0x44d290.1
mov dword [esp], eax
call sym.operator_delete_void_
mov eax, dword [ebp - 0x68]
lea edx, [ebp - 0x60]
cmp eax, edx
je case.0x44d290.0
mov dword [esp], eax
call sym.operator_delete_void_
mov eax, dword [ebp - 0xe0]
mov dword [esp], eax
call sym.___cxa_free_exception
lea ecx, [value1.sign]
mov dword [ebp - 0x80], 0x5f8fa0
call method.CryptoPP::SecBlock_unsigned_int__CryptoPP::AllocatorWithCleanup_unsigned_int__true___.SecBlock__
mov dword [ebp - 0x98], fcn.004cc6a0
lea ecx, [ebp - 0x94]
jmp 0x44d31f
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x18]
cmp eax, edx
je case.0x44d290.8
mov dword [esp], eax
call sym.operator_delete_void_
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x30]
cmp eax, edx
je case.0x44d290.7
mov dword [esp], eax
call sym.operator_delete_void_
mov eax, dword [ebp - 0x50]
lea edx, [ebp - 0x48]
cmp eax, edx
je case.0x44d290.6
mov dword [esp], eax
call sym.operator_delete_void_
mov eax, dword [ebp - 0x68]
lea edx, [ebp - 0x60]
cmp eax, edx
je case.0x44d290.5
mov dword [esp], eax
call sym.operator_delete_void_
mov eax, dword [ebp - 0xdc]
mov dword [esp], eax
call sym.___cxa_free_exception
jmp 0x44d3a1