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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x103f98cc
mov eax, dword fs:[0]
push eax
sub esp, 0x30
push ebx
push esi
push edi
mov eax, dword [0x104c5878]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x2c], edx
mov ebx, ecx
mov dword [ebp - 0x34], ebx
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 4]
sub eax, dword [ecx]
test eax, 0xfffffffc
je 0x1027ad4f
mov ecx, dword [ebp + 0x10]
mov eax, dword [ecx + 4]
sub eax, dword [ecx]
cmp eax, 0x10
jne 0x1027ad4f
cmp byte [0x104ccaa1], 0
jne 0x1027a782
call fcn.102effd0
mov eax, dword fs:[0x2c]
mov ecx, dword [0x104cc18c]
mov edi, dword [0x104c6480]
mov ecx, dword [eax + ecx*4]
mov eax, dword [0x104cd3d8]
cmp eax, dword [ecx + 4]
jle 0x1027a7e8
push 0x104cd3d8
call fcn.103b6558
add esp, 4
cmp dword [0x104cd3d8], 0xffffffff
jne 0x1027a7e8
mov dword [ebp - 4], 0
push ecx
call fcn.1027a400
push 0x104298a0
call fcn.103b6c91
add esp, 4
mov dword [ebp - 4], 0xffffffff
push 0x104cd3d8
call fcn.103b650e
add esp, 4
mov ecx, dword [0x104cd3b0]
xor edx, edx
mov esi, dword [0x104cd3ac]
xor eax, eax
sub ecx, esi
sar ecx, 2
test ecx, ecx
je 0x1027a80d
shr edi, 2
or edx, dword [esi + eax*4]
add eax, edi
cmp eax, ecx
jb 0x1027a804
and edx, dword [esi + 0x148]
cmp dword [ebp + 8], 0
mov dword [ebp - 0x38], edx
jbe 0x1027ad3d
mov ecx, dword [ebp - 0x2c]
add ebx, 8
mov dword [ebp - 0x30], ebx
lea eax, [ecx + 2]
sub ecx, dword [ebp - 0x34]
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebx - 8]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
bswap eax
mov dword [ebp - 0x1c], eax
mov eax, dword [ebx - 4]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
bswap eax
mov ecx, dword [ebx]
mov esi, eax
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x34]
bswap eax
mov ecx, dword [ebx + 4]
mov edx, eax
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x34]
bswap eax
mov ecx, dword [ebp + 0xc]
mov edi, dword [ecx]
mov ebx, dword [edi + 8]
mov ecx, dword [edi + 4]
xor ebx, edx
mov edx, dword [edi + 0xc]
xor ecx, esi
xor edx, eax
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 0x38]
xor eax, dword [edi]
mov dword [ebp - 0x1c], eax
mov eax, ecx
mov edi, dword [0x104cd3ac]
shr eax, 0x10
movzx eax, al
mov esi, dword [edi + eax*4]
mov eax, ebx
shr eax, 8
movzx eax, al
ror esi, 8
mov eax, dword [edi + eax*4]
ror eax, 0x10
xor esi, eax
movzx eax, dl
mov eax, dword [edi + eax*4]
rol eax, 8
xor esi, eax
mov eax, dword [ebp - 0x1c]
shr eax, 0x18
xor esi, dword [edi + eax*4]
mov edi, dword [ebp + 0xc]
mov eax, dword [edi]
mov edi, dword [0x104cd3ac]
xor esi, dword [eax + 0x10]
mov eax, ebx
shr eax, 0x10
movzx eax, al
mov dword [ebp - 0x20], esi
mov eax, dword [edi + eax*4]
ror eax, 8
mov dword [ebp - 0x14], eax
mov eax, edx
mov esi, dword [ebp - 0x14]
shr eax, 8
movzx eax, al
mov eax, dword [edi + eax*4]
ror eax, 0x10
xor esi, eax
mov eax, dword [ebp - 0x1c]
movzx eax, al
mov eax, dword [edi + eax*4]
rol eax, 8
xor esi, eax
mov eax, ecx
shr eax, 0x18
xor esi, dword [edi + eax*4]
mov edi, dword [ebp + 0xc]
mov eax, esi
mov dword [ebp - 0x14], esi
mov esi, dword [edi]
xor eax, dword [esi + 0x14]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x1c]
shr eax, 8
movzx eax, al
mov edi, dword [0x104cd3ac]
mov eax, dword [edi + eax*4]
ror eax, 0x10
mov dword [ebp - 0x10], eax
mov eax, edx
mov esi, dword [ebp - 0x10]
shr eax, 0x10
movzx eax, al
shr edx, 0x18
mov eax, dword [edi + eax*4]
ror eax, 8
xor esi, eax
movzx eax, cl
shr ecx, 8
movzx ecx, cl
mov eax, dword [edi + eax*4]
rol eax, 8
xor esi, eax
mov eax, ebx
shr eax, 0x18
xor esi, dword [edi + eax*4]
mov edi, dword [ebp + 0xc]
mov eax, esi
mov dword [ebp - 0x10], esi
mov esi, dword [edi]
mov edi, dword [0x104cd3ac]
xor eax, dword [esi + 0x18]
mov ecx, dword [edi + ecx*4]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x1c]
shr eax, 0x10
movzx eax, al
ror ecx, 0x10
mov eax, dword [edi + eax*4]
ror eax, 8
xor eax, ecx
movzx ecx, bl
mov ecx, dword [edi + ecx*4]
rol ecx, 8
xor eax, ecx
mov ecx, dword [ebp + 0xc]
xor eax, dword [edi + edx*4]
xor eax, dword [esi + 0x1c]
mov edx, dword [ecx + 4]
sub edx, esi
sar edx, 2
cmp edx, 8
jbe 0x1027abb0
lea ecx, [esi + 0x28]
mov dword [ebp - 0x1c], ecx
lea ecx, [edx - 9]
shr ecx, 3
inc ecx
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x10]
shr ecx, 8
movzx edx, cl
mov ecx, dword [ebp - 0x14]
shr ecx, 0x10
movzx ecx, cl
mov edx, dword [edi + edx*4 + 0x800]
mov ebx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x1c]
xor edx, dword [edi + ecx*4 + 0x400]
movzx ecx, al
xor edx, dword [edi + ecx*4 + 0xc00]
mov ecx, ebx
shr ecx, 0x18
xor edx, dword [edi + ecx*4]
mov ecx, dword [ebp - 0x1c]
xor edx, dword [ecx - 8]
mov ecx, eax
shr ecx, 8
mov dword [ebp - 0x28], edx
movzx edx, cl
mov ecx, dword [ebp - 0x10]
shr ecx, 0x10
movzx ecx, cl
mov edx, dword [edi + edx*4 + 0x800]
xor edx, dword [edi + ecx*4 + 0x400]
movzx ecx, bl
xor edx, dword [edi + ecx*4 + 0xc00]
mov ecx, dword [ebp - 0x14]
shr ecx, 0x18
xor edx, dword [edi + ecx*4]
mov ecx, ebx
xor edx, dword [esi - 4]
shr ecx, 8
mov dword [ebp - 0x24], edx
movzx edx, cl
mov ecx, eax
shr ecx, 0x10
movzx ecx, cl
shr eax, 0x18
mov ebx, dword [edi + edx*4 + 0x800]
mov edx, dword [ebp - 0x14]
xor ebx, dword [edi + ecx*4 + 0x400]
movzx ecx, dl
shr edx, 8
movzx edx, dl
xor ebx, dword [edi + ecx*4 + 0xc00]
mov ecx, dword [ebp - 0x10]
mov edx, dword [edi + edx*4 + 0x800]
shr ecx, 0x18
xor ebx, dword [edi + ecx*4]
mov ecx, dword [ebp - 0x20]
xor ebx, dword [esi]
shr ecx, 0x10
movzx ecx, cl
xor edx, dword [edi + ecx*4 + 0x400]
mov ecx, dword [ebp - 0x10]
movzx ecx, cl
xor edx, dword [edi + ecx*4 + 0xc00]
xor edx, dword [edi + eax*4]
mov eax, ebx
xor edx, dword [esi + 4]
shr eax, 8
movzx ecx, al
mov eax, dword [ebp - 0x24]
shr eax, 0x10
movzx eax, al
mov ecx, dword [edi + ecx*4 + 0x800]
xor ecx, dword [edi + eax*4 + 0x400]
movzx eax, dl
xor ecx, dword [edi + eax*4 + 0xc00]
mov eax, dword [ebp - 0x28]
shr eax, 0x18
xor ecx, dword [edi + eax*4]
mov eax, esi
xor ecx, dword [eax + 8]
mov eax, edx
shr eax, 8
mov dword [ebp - 0x20], ecx
movzx ecx, al
mov eax, ebx
mov ecx, dword [edi + ecx*4 + 0x800]
shr eax, 0x10
movzx eax, al
xor ecx, dword [edi + eax*4 + 0x400]
mov dword [ebp - 0x14], ecx
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x14]
movzx eax, cl
xor esi, dword [edi + eax*4 + 0xc00]
mov eax, dword [ebp - 0x24]
shr eax, 0x18
mov dword [ebp - 0x14], esi
xor esi, dword [edi + eax*4]
mov dword [ebp - 0x14], esi
mov eax, esi
mov esi, dword [ebp - 0x1c]
xor eax, dword [esi + 0xc]
mov dword [ebp - 0x14], eax
mov eax, ecx
shr eax, 8
movzx ecx, al
mov eax, edx
shr eax, 0x10
movzx eax, al
shr edx, 0x18
mov ecx, dword [edi + ecx*4 + 0x800]
xor ecx, dword [edi + eax*4 + 0x400]
mov dword [ebp - 0x10], ecx
mov ecx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x10]
movzx eax, cl
shr ecx, 8
xor esi, dword [edi + eax*4 + 0xc00]
mov eax, ebx
shr eax, 0x18
xor esi, dword [edi + eax*4]
mov dword [ebp - 0x10], esi
mov eax, esi
mov esi, dword [ebp - 0x1c]
xor eax, dword [esi + 0x10]
mov dword [ebp - 0x10], eax
movzx eax, cl
mov ecx, dword [ebp - 0x28]
shr ecx, 0x10
movzx ecx, cl
mov eax, dword [edi + eax*4 + 0x800]
xor eax, dword [edi + ecx*4 + 0x400]
movzx ecx, bl
xor eax, dword [edi + ecx*4 + 0xc00]
xor eax, dword [edi + edx*4]
xor eax, dword [esi + 0x14]
add esi, 0x20
sub dword [ebp - 0x34], 1
mov dword [ebp - 0x1c], esi
jne 0x1027a9c2
mov edi, dword [ebp + 0x10]
mov ebx, dword [ebp - 0x20]
mov edx, ebx
shr edx, 0x18
mov esi, dword [ebp - 0x18]
mov ecx, dword [edi]
movzx edx, byte [edx + str.cw]
xor dl, byte [ecx]
mov ecx, dword [ebp - 0x18]
mov byte [ecx - 2], dl
mov edx, dword [edi]
mov ecx, dword [ebp - 0x14]
shr ecx, 0x10
movzx ecx, cl
movzx ecx, byte [ecx + str.cw]
xor cl, byte [edx + 1]
mov edx, dword [ebp - 0x18]
mov byte [edx - 1], cl
mov edx, dword [edi]
mov ecx, dword [ebp - 0x10]
shr ecx, 8
movzx ecx, cl
movzx ecx, byte [ecx + str.cw]
xor cl, byte [edx + 2]
mov edx, dword [ebp - 0x18]
mov byte [edx], cl
mov edx, dword [edi]
movzx ecx, al
movzx ecx, byte [ecx + str.cw]
xor cl, byte [edx + 3]
mov edx, dword [ebp - 0x18]
mov byte [edx + 1], cl
mov ecx, dword [edi]
mov edx, dword [ebp - 0x14]
shr edx, 0x18
movzx edx, byte [edx + str.cw]
xor dl, byte [ecx + 4]
mov ecx, dword [ebp - 0x10]
shr ecx, 0x10
movzx ecx, cl
mov byte [esi + 2], dl
mov edx, dword [edi]
movzx ecx, byte [ecx + str.cw]
xor cl, byte [edx + 5]
mov byte [esi + 3], cl
mov ecx, eax
mov edx, dword [edi]
shr ecx, 8
movzx ecx, cl
movzx ecx, byte [ecx + str.cw]
xor cl, byte [edx + 6]
mov byte [esi + 4], cl
mov edx, dword [edi]
movzx ecx, bl
movzx ecx, byte [ecx + str.cw]
xor cl, byte [edx + 7]
mov edx, dword [ebp - 0x10]
mov byte [esi + 5], cl
mov ecx, dword [edi]
mov esi, dword [ebp - 0x2c]
shr edx, 0x18
movzx edx, byte [edx + str.cw]
xor dl, byte [ecx + 8]
mov ecx, dword [ebp - 0x30]
mov byte [esi + ecx], dl
mov ecx, eax
mov edx, dword [edi]
mov esi, dword [ebp - 0x18]
shr ecx, 0x10
movzx ecx, cl
movzx ecx, byte [ecx + str.cw]
xor cl, byte [edx + 9]
mov byte [esi + 7], cl
mov ecx, ebx
mov edx, dword [edi]
shr ecx, 8
movzx ecx, cl
movzx ecx, byte [ecx + str.cw]
xor cl, byte [edx + 0xa]
mov byte [esi + 8], cl
mov ecx, dword [ebp - 0x14]
mov edx, dword [edi]
shr eax, 0x18
movzx ecx, cl
shr ebx, 0x10
movzx eax, byte [eax + str.cw]
movzx ecx, byte [ecx + str.cw]
xor cl, byte [edx + 0xb]
mov byte [esi + 9], cl
mov ecx, dword [edi]
xor al, byte [ecx + 0xc]
mov byte [esi + 0xa], al
mov ecx, dword [edi]
movzx eax, bl
mov ebx, dword [ebp - 0x30]
add ebx, 0x10
mov dword [ebp - 0x30], ebx
movzx eax, byte [eax + str.cw]
xor al, byte [ecx + 0xd]
mov byte [esi + 0xb], al
mov eax, dword [ebp - 0x14]
mov ecx, dword [edi]
shr eax, 8
movzx eax, al
movzx eax, byte [eax + str.cw]
xor al, byte [ecx + 0xe]
mov byte [esi + 0xc], al
mov eax, dword [ebp - 0x10]
mov ecx, dword [edi]
movzx eax, al
movzx eax, byte [eax + str.cw]
xor al, byte [ecx + 0xf]
mov byte [esi + 0xd], al
add esi, 0x10
sub dword [ebp + 8], 1
mov dword [ebp - 0x18], esi
jne 0x1027a835
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x131
push str.d:oxdcpcfcoreext_botanplatformswin_x86_botan_all.cpp
push str.Botan::_anonymous_namespace::aes_encrypt_n
mov edx, str.Key_was_set
mov ecx, str.EK.size____ME.size____16
call fcn.102efab0
int3