Function at 0x46cda0
Capabilities:
Encode data using xor
Encrypt data using aes
Reference aes constants

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
lea ebx, [ebp - 0x18]
sub esp, 0x8c
mov dword [ebp - 0x4c], ebx
lea ebx, [ebp - 0x6c]
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x54], sym.___gxx_personality_sj0
mov dword [ebp - 0x50], 0x5c4d78
mov dword [ebp - 0x48], 0x46d8d1
mov dword [ebp - 0x44], esp
mov dword [esp], ebx
call dbg._Unwind_SjLj_Register
mov eax, dword [ebp - 0x7c]
mov ecx, dword [eax + 0x24]
mov edx, dword [eax + 0x28]
cmp ecx, 0x120c
je 0x46ce17
test edx, edx
je 0x46ce02
mov edi, edx
xor eax, eax
rep stosb byte es:[edi], al
mov dword [esp], edx
mov dword [ebp - 0x68], 0xffffffff
call dbg.CryptoPP::UnalignedDeallocate(void*)
mov dword [esp], 0x120c
mov dword [ebp - 0x68], 0xffffffff
call dbg.CryptoPP::UnalignedAllocate(unsigned int)
mov edx, eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x7c]
shr eax, 2
mov dword [ecx + 0x28], edx
lea edx, [eax + 6]
add eax, 7
mov dword [ecx + 0x24], 0x120c
lea ebx, [eax*4]
mov dword [ebp - 0x74], eax
mov eax, ecx
mov dword [ecx + 0x20], 0
mov eax, dword [eax + 0x18]
mov dword [ecx + 8], edx
mov ecx, dword [ecx + 0x14]
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x78], eax
cmp ebx, ecx
je 0x46cea4
mov ebx, eax
test eax, eax
je 0x46ce71
mov edi, eax
xor eax, eax
rep stosd dword es:[edi], eax
mov dword [esp], ebx
mov dword [ebp - 0x68], 0xffffffff
call dbg.CryptoPP::AlignedDeallocate(void*)
cmp dword [ebp - 0x70], 0x3fffffff
ja 0x46d84c
mov ebx, dword [ebp - 0x70]
mov dword [ebp - 0x78], 0
test ebx, ebx
je 0x46cea4
mov eax, dword [ebp - 0x74]
shl eax, 4
mov dword [esp], eax
mov dword [ebp - 0x68], 0xffffffff
call dbg.CryptoPP::AlignedAllocate(unsigned int)
mov dword [ebp - 0x78], eax
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x78]
cmp byte [0x5feaf3], 0
mov dword [eax + 0x18], ecx
mov ecx, dword [ebp - 0x70]
mov dword [eax + 0x10], 0x3fffffff
mov dword [eax + 0x14], ecx
je 0x46d680
cmp byte [0x5feaee], 0
je 0x46cedd
cmp byte [0x5feaf0], 0
jne 0x46d6bf
mov eax, dword [ebp + 0xc]
and eax, 0xfffffffc
mov dword [ebp - 0x70], eax
cmp dword [ebp + 0xc], eax
ja 0x46d7bb
mov eax, dword [ebp + 8]
test eax, eax
je 0x46cf01
mov eax, dword [ebp - 0x78]
test eax, eax
jne 0x46d663
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x78]
sub edx, dword [ebp + 0xc]
add eax, dword [ebp + 0xc]
mov dword [esp + 4], 0
mov dword [esp + 8], edx
mov dword [esp], eax
call sym._memset
mov ebx, dword [ebp + 0xc]
mov ecx, dword [ebp - 0x78]
lea eax, [ebx + 3]
mov edx, ecx
shr eax, 2
lea ecx, [ecx + eax*4]
je 0x46cf42
mov eax, dword [edx]
add edx, 4
bswap eax
mov dword [edx - 4], eax
cmp ecx, edx
jne 0x46cf34
mov eax, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x78]
mov ebx, 0x5d55e0
mov edi, ebx
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], ecx
mov ecx, dword [ebp - 0x70]
lea ecx, [ecx + edx + 0x10]
jmp 0x46cfc7
cmp dword [ebp + 0xc], 0x20
jne 0x46cfc0
mov ebx, dword [edx + 0x2c]
movzx eax, bl
movzx esi, byte [eax + 0x5d5720]
mov eax, ebx
xor esi, dword [edx + 0x10]
shr eax, 0x18
movzx eax, byte [eax + 0x5d5720]
shl eax, 0x18
xor esi, eax
mov eax, ebx
movzx ebx, bh
shr eax, 0x10
movzx eax, al
movzx eax, byte [eax + 0x5d5720]
shl eax, 0x10
xor eax, esi
movzx esi, byte [ebx + 0x5d5720]
shl esi, 8
xor esi, eax
mov dword [edx + 0x30], esi
xor esi, dword [edx + 0x14]
mov dword [edx + 0x34], esi
xor esi, dword [edx + 0x18]
mov dword [edx + 0x38], esi
xor esi, dword [edx + 0x1c]
mov dword [edx + 0x3c], esi
mov eax, dword [ebp - 0x70]
add edx, eax
add ecx, eax
mov ebx, dword [ecx - 0x14]
add edi, 4
mov esi, dword [edx]
xor esi, dword [edi - 4]
mov eax, ebx
shr eax, 0x18
movzx eax, byte [eax + 0x5d5720]
xor esi, eax
movzx eax, bl
movzx eax, byte [eax + 0x5d5720]
shl eax, 8
xor esi, eax
mov eax, ebx
movzx ebx, bh
shr eax, 0x10
movzx eax, al
movzx eax, byte [eax + 0x5d5720]
shl eax, 0x18
xor eax, esi
movzx esi, byte [ebx + 0x5d5720]
mov ebx, dword [ebp - 0x74]
shl esi, 0x10
xor esi, eax
mov eax, dword [ebp - 0x78]
mov dword [ecx - 0x10], esi
xor esi, dword [edx + 4]
mov dword [ecx - 0xc], esi
xor esi, dword [edx + 8]
mov dword [ecx - 8], esi
xor esi, dword [edx + 0xc]
mov dword [ecx - 4], esi
mov eax, dword [eax + 0x14]
lea eax, [ebx + eax*4]
cmp ecx, eax
je 0x46d055
cmp dword [ebp + 0xc], 0x18
jne 0x46cf61
mov eax, dword [edx + 0x10]
xor eax, dword [edx + 0x24]
mov dword [edx + 0x28], eax
xor eax, dword [edx + 0x14]
mov dword [edx + 0x2c], eax
jmp 0x46cfc0
mov eax, dword [ebp - 0x7c]
lea ecx, [eax + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x68], 0xffffffff
call eax
test al, al
je 0x46d104
movzx eax, byte [0x5fe2d1]
test al, al
je 0x46d720
mov ebx, dword [ebp - 0x74]
mov eax, dword [ebx]
bswap eax
mov dword [ebx], eax
mov eax, dword [ebx + 4]
bswap eax
mov dword [ebx + 4], eax
mov eax, dword [ebx + 8]
bswap eax
mov dword [ebx + 8], eax
mov eax, dword [ebx + 0xc]
bswap eax
mov dword [ebx + 0xc], eax
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 8]
mov dword [ebp - 0x70], eax
shl eax, 4
lea ecx, [ebx + eax]
mov edx, dword [ecx]
bswap edx
mov dword [ecx], edx
lea ecx, [ebx + eax + 4]
mov edx, dword [ecx]
bswap edx
mov dword [ecx], edx
lea ecx, [ebx + eax + 8]
mov edx, dword [ecx]
bswap edx
mov dword [ecx], edx
lea edx, [ebx + eax + 0xc]
mov eax, dword [edx]
bswap eax
cmp byte [0x5feaf3], 0
mov dword [edx], eax
je 0x46d614
cmp byte [0x5feaee], 0
jne 0x46d62d
lea eax, [ebp - 0x6c]
mov dword [esp], eax
call sym.__Unwind_SjLj_Unregister
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 0xc
movzx eax, byte [0x5fe2d0]
test al, al
je 0x46d714
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 8]
lea edx, [eax*4 - 4]
cmp edx, 4
jbe 0x46d7a0
mov dword [ebp - 0x70], edx
mov ecx, dword [ebp - 0x74]
mov eax, 4
mov ebx, dword [ecx + eax*4]
mov esi, ebx
shr esi, 0x18
movzx edi, byte [esi + 0x5d5720]
movzx esi, bl
movzx esi, byte [esi + 0x5d5720]
mov edi, dword [edi*8 + 0x5fe2e4]
xor edi, dword [esi*8 + 0x5fe2e3]
mov esi, ebx
shr esi, 0x10
mov edx, esi
movzx esi, dl
movzx esi, byte [esi + 0x5d5720]
xor edi, dword [esi*8 + 0x5fe2e1]
movzx esi, bh
movzx ebx, byte [esi + 0x5d5720]
xor edi, dword [ebx*8 + 0x5fe2e2]
mov ebx, edi
mov edi, dword [ebp - 0x70]
mov esi, dword [ecx + edi*4]
mov edi, esi
mov edx, esi
shr edi, 0x18
movzx edx, dl
movzx edx, byte [edx + 0x5d5720]
movzx edi, byte [edi + 0x5d5720]
mov edi, dword [edi*8 + 0x5fe2e4]
xor edi, dword [edx*8 + 0x5fe2e3]
mov edx, esi
shr edx, 0x10
movzx edx, dl
movzx edx, byte [edx + 0x5d5720]
xor edi, dword [edx*8 + 0x5fe2e1]
mov edx, esi
movzx esi, dh
movzx esi, byte [esi + 0x5d5720]
xor edi, dword [esi*8 + 0x5fe2e2]
mov dword [ecx + eax*4], edi
mov edi, dword [ebp - 0x70]
mov dword [ecx + edi*4], ebx
mov ebx, dword [ecx + eax*4 + 4]
mov esi, ebx
shr esi, 0x18
movzx edi, byte [esi + 0x5d5720]
movzx esi, bl
movzx esi, byte [esi + 0x5d5720]
mov edi, dword [edi*8 + 0x5fe2e4]
xor edi, dword [esi*8 + 0x5fe2e3]
mov esi, ebx
shr esi, 0x10
mov edx, esi
movzx esi, dl
movzx esi, byte [esi + 0x5d5720]
xor edi, dword [esi*8 + 0x5fe2e1]
movzx esi, bh
movzx ebx, byte [esi + 0x5d5720]
xor edi, dword [ebx*8 + 0x5fe2e2]
mov ebx, edi
mov edi, dword [ebp - 0x70]
mov esi, dword [ecx + edi*4 + 4]
mov edi, esi
mov edx, esi
shr edi, 0x18
movzx edx, dl
movzx edx, byte [edx + 0x5d5720]
movzx edi, byte [edi + 0x5d5720]
mov edi, dword [edi*8 + 0x5fe2e4]
xor edi, dword [edx*8 + 0x5fe2e3]
mov edx, esi
shr edx, 0x10
movzx edx, dl
movzx edx, byte [edx + 0x5d5720]
xor edi, dword [edx*8 + 0x5fe2e1]
mov edx, esi
movzx esi, dh
movzx esi, byte [esi + 0x5d5720]
xor edi, dword [esi*8 + 0x5fe2e2]
mov dword [ecx + eax*4 + 4], edi
mov edi, dword [ebp - 0x70]
mov dword [ecx + edi*4 + 4], ebx
mov ebx, dword [ecx + eax*4 + 8]
mov esi, ebx
shr esi, 0x18
movzx edi, byte [esi + 0x5d5720]
movzx esi, bl
movzx esi, byte [esi + 0x5d5720]
mov edi, dword [edi*8 + 0x5fe2e4]
xor edi, dword [esi*8 + 0x5fe2e3]
mov esi, ebx
shr esi, 0x10
mov edx, esi
movzx esi, dl
movzx esi, byte [esi + 0x5d5720]
xor edi, dword [esi*8 + 0x5fe2e1]
movzx esi, bh
movzx ebx, byte [esi + 0x5d5720]
xor edi, dword [ebx*8 + 0x5fe2e2]
mov ebx, edi
mov edi, dword [ebp - 0x70]
mov esi, dword [ecx + edi*4 + 8]
mov edi, esi
mov edx, esi
shr edi, 0x18
movzx edx, dl
movzx edx, byte [edx + 0x5d5720]
movzx edi, byte [edi + 0x5d5720]
mov edi, dword [edi*8 + 0x5fe2e4]
xor edi, dword [edx*8 + 0x5fe2e3]
mov edx, esi
shr edx, 0x10
movzx edx, dl
movzx edx, byte [edx + 0x5d5720]
xor edi, dword [edx*8 + 0x5fe2e1]
mov edx, esi
movzx esi, dh
movzx esi, byte [esi + 0x5d5720]
xor edi, dword [esi*8 + 0x5fe2e2]
mov dword [ecx + eax*4 + 8], edi
mov edi, dword [ebp - 0x70]
mov dword [ecx + edi*4 + 8], ebx
mov ebx, dword [ecx + eax*4 + 0xc]
mov esi, ebx
shr esi, 0x18
movzx edi, byte [esi + 0x5d5720]
movzx esi, bl
movzx esi, byte [esi + 0x5d5720]
mov edi, dword [edi*8 + 0x5fe2e4]
xor edi, dword [esi*8 + 0x5fe2e3]
mov esi, ebx
shr esi, 0x10
mov edx, esi
movzx esi, dl
movzx esi, byte [esi + 0x5d5720]
xor edi, dword [esi*8 + 0x5fe2e1]
movzx esi, bh
movzx ebx, byte [esi + 0x5d5720]
xor edi, dword [ebx*8 + 0x5fe2e2]
mov ebx, edi
mov edi, dword [ebp - 0x70]
mov esi, dword [ecx + edi*4 + 0xc]
mov edi, esi
mov edx, esi
shr edi, 0x18
movzx edx, dl
movzx edx, byte [edx + 0x5d5720]
movzx edi, byte [edi + 0x5d5720]
mov edi, dword [edi*8 + 0x5fe2e4]
xor edi, dword [edx*8 + 0x5fe2e3]
mov edx, esi
shr edx, 0x10
movzx edx, dl
movzx edx, byte [edx + 0x5d5720]
xor edi, dword [edx*8 + 0x5fe2e1]
mov edx, esi
movzx esi, dh
movzx esi, byte [esi + 0x5d5720]
xor edi, dword [esi*8 + 0x5fe2e2]
mov dword [ecx + eax*4 + 0xc], edi
mov edi, dword [ebp - 0x70]
add eax, 4
mov dword [ecx + edi*4 + 0xc], ebx
mov ebx, edi
sub ebx, 4
mov dword [ebp - 0x70], ebx
cmp eax, ebx
jb 0x46d134
shl eax, 2
lea ecx, [eax + 0xc]
lea esi, [eax + 4]
mov dword [ebp - 0x70], ecx
lea ebx, [eax + 8]
add eax, dword [ebp - 0x74]
mov ecx, dword [eax]
movzx edi, byte [eax]
shr ecx, 0x18
movzx edi, byte [edi + 0x5d5720]
movzx ecx, byte [ecx + 0x5d5720]
mov ecx, dword [ecx*8 + 0x5fe2e4]
xor ecx, dword [edi*8 + 0x5fe2e3]
mov edi, dword [eax]
shr edi, 0x10
mov edx, edi
movzx edi, dl
mov edx, dword [ebp - 0x74]
movzx edi, byte [edi + 0x5d5720]
add esi, edx
add ebx, edx
xor ecx, dword [edi*8 + 0x5fe2e1]
mov edi, ecx
mov ecx, dword [eax]
movzx ecx, ch
movzx ecx, byte [ecx + 0x5d5720]
xor edi, dword [ecx*8 + 0x5fe2e2]
mov dword [eax], edi
mov edi, dword [esi]
mov eax, edi
mov ecx, edi
shr eax, 0x18
movzx ecx, cl
movzx ecx, byte [ecx + 0x5d5720]
movzx eax, byte [eax + 0x5d5720]
mov eax, dword [eax*8 + 0x5fe2e4]
xor eax, dword [ecx*8 + 0x5fe2e3]
mov ecx, edi
shr ecx, 0x10
movzx ecx, cl
movzx ecx, byte [ecx + 0x5d5720]
xor eax, dword [ecx*8 + 0x5fe2e1]
mov ecx, eax
mov eax, edi
mov edi, edx
movzx eax, ah
movzx eax, byte [eax + 0x5d5720]
xor ecx, dword [eax*8 + 0x5fe2e2]
mov dword [esi], ecx
mov ecx, dword [ebx]
mov eax, ecx
movzx esi, cl
shr eax, 0x18
movzx esi, byte [esi + 0x5d5720]
movzx eax, byte [eax + 0x5d5720]
mov eax, dword [eax*8 + 0x5fe2e4]
xor eax, dword [esi*8 + 0x5fe2e3]
mov esi, ecx
movzx ecx, ch
shr esi, 0x10
mov edx, esi
movzx esi, dl
movzx esi, byte [esi + 0x5d5720]
xor eax, dword [esi*8 + 0x5fe2e1]
movzx ecx, byte [ecx + 0x5d5720]
xor eax, dword [ecx*8 + 0x5fe2e2]
mov ecx, dword [ebp - 0x70]
mov dword [ebx], eax
add ecx, edi
mov edx, dword [ecx]
mov eax, edx
movzx ebx, dl
shr eax, 0x18
movzx ebx, byte [ebx + 0x5d5720]
movzx eax, byte [eax + 0x5d5720]
mov eax, dword [eax*8 + 0x5fe2e4]
xor eax, dword [ebx*8 + 0x5fe2e3]
mov ebx, edx
movzx edx, dh
shr ebx, 0x10
movzx edx, byte [edx + 0x5d5720]
movzx ebx, bl
movzx ebx, byte [ebx + 0x5d5720]
xor eax, dword [ebx*8 + 0x5fe2e1]
mov ebx, dword [ebp - 0x7c]
xor eax, dword [edx*8 + 0x5fe2e2]
mov dword [ecx], eax
mov ecx, dword [ebx + 8]
mov eax, dword [edi]
mov edx, ecx
shl edx, 4
mov edx, dword [edi + edx]
bswap edx
mov dword [edi], edx
mov ecx, dword [ebx + 8]
bswap eax
mov edx, ecx
mov ecx, edi
shl edx, 4
mov dword [edi + edx], eax
mov eax, dword [edi + 4]
mov edi, dword [ebx + 8]
bswap eax
mov edx, edi
shl edx, 4
mov edx, dword [ecx + edx + 4]
bswap edx
mov dword [ecx + 4], edx
mov edi, dword [ebx + 8]
mov edx, edi
shl edx, 4
mov dword [ecx + edx + 4], eax
mov edi, dword [ebx + 8]
mov eax, dword [ecx + 8]
mov edx, edi
bswap eax
shl edx, 4
mov edx, dword [ecx + edx + 8]
bswap edx
mov dword [ecx + 8], edx
mov edi, dword [ebx + 8]
mov edx, edi
shl edx, 4
mov dword [ecx + edx + 8], eax
mov edi, dword [ebx + 8]
mov eax, dword [ecx + 0xc]
mov edx, edi
shl edx, 4
mov edx, dword [ecx + edx + 0xc]
bswap edx
mov dword [ecx + 0xc], edx
mov ebx, dword [ebx + 8]
bswap eax
mov edx, ebx
mov dword [ebp - 0x70], ebx
shl edx, 4
cmp byte [0x5feaf3], 0
mov dword [ecx + edx + 0xc], eax
jne 0x46d0e2
mov dword [ebp - 0x68], 0xffffffff
call dbg.CryptoPP::DetectX86Features()
cmp byte [0x5feaee], 0
je 0x46d0ef
mov eax, dword [ebp - 0x7c]
mov eax, dword [eax + 8]
lea eax, [eax*4 + 0x3ffffffc]
and eax, 0x3ffffffc
mov edx, eax
je 0x46d0ef
mov eax, dword [ebp - 0x74]
add eax, 0x10
lea ecx, [eax + edx*4]
mov edx, dword [eax]
add eax, 4
bswap edx
mov dword [eax - 4], edx
cmp ecx, eax
jne 0x46d650
jmp 0x46d0ef
mov ecx, dword [ebp + 0xc]
mov dword [esp + 8], ecx
mov ecx, dword [ebp + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call sym._memcpy
jmp 0x46cf01
mov dword [ebp - 0x68], 0xffffffff
call dbg.CryptoPP::DetectX86Features()
cmp byte [0x5feaee], 0
je 0x46cedd
cmp byte [0x5feaf3], 0
jne 0x46ced0
mov dword [ebp - 0x68], 0xffffffff
call dbg.CryptoPP::DetectX86Features()
cmp byte [0x5feaf0], 0
je 0x46cedd
mov eax, dword [ebp - 0x78]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
mov dword [ebp - 0x68], 0xffffffff
call dbg.CryptoPP::Rijndael_UncheckedSetKey_SSE4_AESNI(unsigned char const*, unsigned int, unsigned int*)
mov eax, dword [ebp - 0x7c]
lea ecx, [eax + 4]
mov eax, dword [eax + 4]
call dword [eax + 0x24]
test al, al
jne 0x46d0ef
mov ecx, dword [ebp - 0x7c]
mov eax, dword [ecx + 8]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x18]
mov dword [esp], eax
mov dword [ebp - 0x68], 0xffffffff
call dbg.CryptoPP::Rijndael_UncheckedSetKeyRev_AESNI(unsigned int*, unsigned int)
jmp 0x46d0ef
call dbg.CryptoPP::Rijndael::Base::FillDecTable()
jmp 0x46d113
xor ecx, ecx
movzx ebx, byte [ecx + 0x5d5720]
mov edx, ebx
lea eax, [ebx + ebx]
mov esi, ebx
shr dl, 7
shl esi, 0x10
movzx edx, dl
imul edx, edx, 0x11b
xor eax, edx
mov edx, ebx
shl edx, 8
or edx, esi
mov esi, eax
xor eax, ebx
shl esi, 0x18
or edx, esi
or eax, edx
mov dword [ecx*8 + 0x5fdac0], edx
mov dword [ecx*8 + 0x5fdac4], eax
add ecx, 1
cmp ecx, 0x100
jne 0x46d722
mov dword [0x5fe2c8], 0
mov dword [0x5fe2cc], 0
mov dword [0x5fe2c0], 0
mov dword [0x5fe2c4], 0
mov byte [0x5fe2d1], 1
jmp 0x46d081
mov ebx, 0x18
mov esi, 0x14
mov eax, 0x10
mov dword [ebp - 0x70], 0x1c
jmp 0x46d422
mov dword [esp], 0x20
call sym.___cxa_allocate_exception
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x84], eax
mov dword [esp], 0x5d4afb
mov dword [ebp - 0x68], 3
mov dword [ebp - 0x70], ecx
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.37_
push ecx
mov ecx, dword [ebp - 0x70]
mov dword [esp], 1
mov dword [esp + 4], ecx
mov ecx, dword [ebp - 0x84]
mov dword [ebp - 0x68], 4
call fcn.004cee50
push edx
push edx
mov eax, dword [ebp - 0x84]
lea edx, [ebp - 0x28]
mov dword [eax], method.CryptoPP::InvalidArgument.InvalidArgument__
mov eax, dword [ebp - 0x30]
cmp eax, edx
je 0x46d827
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 - 0x84]
mov dword [esp], eax
mov dword [ebp - 0x68], 0xffffffff
call sym.___cxa_throw
mov dword [esp], 0x20
call sym.___cxa_allocate_exception
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x80], eax
mov dword [esp], str.AllocatorBase:_requested_size_would_cause_integer_overflow
mov dword [ebp - 0x68], 1
mov dword [ebp - 0x70], ecx
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.37_
push edi
mov ecx, dword [ebp - 0x70]
mov dword [esp], 1
mov dword [esp + 4], ecx
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x68], 2
call fcn.004cee50
push esi
lea edx, [ebp - 0x28]
push esi
mov eax, dword [ebp - 0x80]
mov dword [eax], method.CryptoPP::InvalidArgument.InvalidArgument__
mov eax, dword [ebp - 0x30]
cmp eax, edx
je 0x46d8af
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 - 0x80]
mov dword [esp], eax
mov dword [ebp - 0x68], 0xffffffff
call sym.___cxa_throw
add ebp, 0x18
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x68]
test eax, eax
jne 0x46d8fe
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call sym.___cxa_free_exception
mov eax, dword [ebp - 0x70]
mov dword [esp], eax
mov dword [ebp - 0x68], 0xffffffff
call dbg._Unwind_SjLj_Resume
sub eax, 1
jne 0x46d917
mov eax, dword [ebp - 0x30]
lea edx, [ebp - 0x28]
cmp eax, edx
je 0x46d8e1
mov dword [esp], eax
call sym.operator_delete_void_
jmp 0x46d8e1
sub eax, 1
jne 0x46d924
mov eax, dword [ebp - 0x84]
jmp 0x46d8e4
sub eax, 1
jne 0x46d93d
mov eax, dword [ebp - 0x30]
lea edx, [ebp - 0x28]
cmp eax, edx
je 0x46d91c
mov dword [esp], eax
call sym.operator_delete_void_
jmp 0x46d91c
ud2