Function at 0x6b5190f0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5c
mov esi, dword [sym.imp.libssp_0.dll___stack_chk_guard]
mov dword [esp + 0x4c], esi
xor esi, esi
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0x78]
mov ebp, dword [esp + 0x70]
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x80]
lea ecx, [edi - 8]
mov dword [esp + 0x2c], ebp
mov esi, dword [eax + 4]
mov edi, dword [eax]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x30], ecx
bswap esi
bswap edi
test eax, eax
je 0x6b519228
test ecx, ecx
js 0x6b5194b0
shr ecx, 3
mov edx, esi
lea eax, [ecx*8 + 8]
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x44]
mov dword [esp + 0x20], eax
add eax, ebx
mov esi, ecx
mov dword [esp + 0x1c], eax
mov eax, edi
nop
mov edi, dword [ebp]
mov ecx, dword [ebp + 4]
mov dword [esp], esi
add ebx, 8
add ebp, 8
bswap edi
xor eax, edi
bswap ecx
xor edx, ecx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x48], edx
mov dword [esp + 4], eax
call sym.libcrypto_1_1.dll_IDEA_encrypt
mov eax, dword [esp + 0x44]
mov edx, eax
mov byte [ebx - 6], ah
shr edx, 0x18
mov byte [ebx - 5], al
mov byte [ebx - 8], dl
mov edx, eax
shr edx, 0x10
mov byte [ebx - 7], dl
mov edx, dword [esp + 0x48]
mov ecx, edx
mov byte [ebx - 2], dh
shr ecx, 0x18
mov byte [ebx - 4], cl
mov ecx, edx
shr ecx, 0x10
mov byte [ebx - 3], cl
mov byte [ebx - 1], dl
cmp ebx, dword [esp + 0x1c]
jne 0x6b519170
mov edi, eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov esi, edx
add dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x78]
neg eax
shl eax, 3
lea edx, [ecx + eax - 0x10]
add eax, dword [esp + 0x30]
mov dword [esp + 0x78], eax
cmp edx, 0xfffffff8
je 0x6b5194d0
mov eax, dword [esp + 0x2c]
cmp dword [esp + 0x78], 7
lea eax, [eax + edx + 8]
ja case.0x6b51921b.0
mov ecx, dword [esp + 0x78]
jmp dword [ecx*4 + 0x6b5fa9d4]
mov eax, ecx
test ecx, ecx
js 0x6b5194c0
shr eax, 3
mov dword [esp + 0x3c], eax
lea eax, [eax*8 + 8]
mov dword [esp + 0x38], eax
add eax, ebx
mov dword [esp + 0x24], eax
lea eax, [esp + 0x44]
mov dword [esp + 0x28], eax
lea esi, [esi]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], edi
add ebx, 8
add ebp, 8
mov edi, dword [ebp - 8]
mov dword [esp + 0x1c], esi
mov esi, dword [ebp - 4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
bswap edi
mov dword [esp + 0x44], edi
bswap esi
mov dword [esp + 0x48], esi
mov dword [esp], eax
call sym.libcrypto_1_1.dll_IDEA_encrypt
mov edx, dword [esp + 0x20]
xor edx, dword [esp + 0x44]
mov ecx, edx
mov eax, dword [esp + 0x1c]
xor eax, dword [esp + 0x48]
mov byte [ebx - 6], dh
shr ecx, 0x18
mov byte [ebx - 5], dl
mov byte [ebx - 8], cl
mov ecx, edx
mov edx, eax
shr edx, 0x18
mov byte [ebx - 2], ah
shr ecx, 0x10
mov byte [ebx - 4], dl
mov edx, eax
mov byte [ebx - 7], cl
shr edx, 0x10
mov byte [ebx - 3], dl
mov byte [ebx - 1], al
cmp dword [esp + 0x24], ebx
jne 0x6b519258
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
add dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x78]
neg eax
shl eax, 3
lea ebp, [ecx + eax - 0x10]
add eax, dword [esp + 0x30]
mov dword [esp + 0x78], eax
cmp ebp, 0xfffffff8
je 0x6b5193a5
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0x44]
lea ebx, [ebx + ebp + 8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], edx
bswap eax
mov dword [esp + 0x48], eax
bswap ecx
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x44], ecx
mov dword [esp + 4], eax
mov dword [esp + 0x20], ecx
call sym.libcrypto_1_1.dll_IDEA_encrypt
xor edi, dword [esp + 0x44]
xor esi, dword [esp + 0x48]
cmp dword [esp + 0x78], 7
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x18], edi
mov ecx, dword [esp + 0x20]
ja case.0x6b519350.0
mov edi, dword [esp + 0x78]
jmp dword [edi*4 + 0x6b5fa9f4]
mov edx, esi
sub ebx, 1
mov byte [ebx], dh
mov edi, esi
sub ebx, 1
shr edi, 0x10
mov edx, edi
mov byte [ebx], dl
shr esi, 0x18
lea edi, [ebx - 1]
mov edx, esi
mov byte [ebx - 1], dl
movzx edx, byte [esp + 0x18]
lea ebx, [edi - 1]
mov byte [edi - 1], dl
mov edx, dword [esp + 0x18]
lea esi, [ebx - 1]
mov byte [ebx - 1], dh
mov edi, edx
shr edi, 0x10
lea ebx, [esi - 1]
mov edx, edi
mov byte [esi - 1], dl
mov edx, dword [esp + 0x18]
mov esi, eax
mov edi, ecx
shr edx, 0x18
mov byte [ebx - 1], dl
mov eax, dword [esp + 0x34]
bswap edi
bswap esi
mov dword [eax], edi
mov dword [eax + 4], esi
mov eax, dword [esp + 0x4c]
xor eax, dword [sym.imp.libssp_0.dll___stack_chk_guard]
jne 0x6b519573
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
xor edx, edx
movzx ecx, byte [eax - 1]
sub eax, 1
shl ecx, 0x10
or ecx, edx
lea edx, [eax - 1]
movzx eax, byte [eax - 1]
shl eax, 0x18
or eax, ecx
xor esi, eax
lea eax, [edx - 1]
movzx edx, byte [edx - 1]
movzx ecx, byte [eax - 1]
lea ebp, [eax - 1]
shl ecx, 8
or ecx, edx
movzx edx, byte [ebp - 1]
lea eax, [ebp - 1]
shl edx, 0x10
or ecx, edx
movzx edx, byte [eax - 1]
shl edx, 0x18
or edx, ecx
xor edi, edx
mov eax, dword [esp + 0x18]
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], esi
mov dword [esp + 4], eax
lea eax, [esp + 0x44]
mov dword [esp], eax
call sym.libcrypto_1_1.dll_IDEA_encrypt
mov edi, dword [esp + 0x44]
mov eax, edi
mov esi, edi
mov edx, edi
mov ecx, edi
bswap eax
mov dword [ebx], eax
mov eax, dword [esp + 0x48]
shr esi, 0x18
mov dword [esp + 0x18], esi
movzx ebp, dh
shr ecx, 0x10
mov esi, eax
mov edx, eax
bswap esi
mov dword [esp + 0x24], esi
movzx esi, ah
shr edx, 0x18
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x24]
mov dword [esp + 0x1c], edx
mov edx, eax
mov dword [ebx + 4], esi
shr edx, 0x10
mov esi, dword [esp + 0x34]
movzx ebx, byte [esp + 0x18]
mov byte [esi + 1], cl
mov ecx, ebp
mov byte [esi + 2], cl
mov ecx, edi
mov byte [esi + 3], cl
movzx ecx, byte [esp + 0x1c]
mov byte [esi], bl
mov byte [esi + 4], cl
movzx ecx, byte [esp + 0x20]
mov byte [esi + 5], dl
mov byte [esi + 6], cl
mov byte [esi + 7], al
jmp 0x6b5193b2
mov edx, ecx
jmp 0x6b5191fb
mov ebp, ecx
jmp 0x6b5192ef
mov eax, edi
mov ecx, edi
mov edx, esi
shr eax, 0x18
shr ecx, 0x10
mov dword [esp + 0x18], eax
mov eax, edi
shr edx, 0x10
movzx ebp, ah
mov eax, esi
shr eax, 0x18
mov dword [esp + 0x1c], eax
mov eax, esi
movzx eax, ah
mov dword [esp + 0x20], eax
mov eax, esi
jmp 0x6b519477
xor ecx, ecx
jmp 0x6b51940b
mov ebp, eax
xor ecx, ecx
jmp 0x6b5193ff
xor edx, edx
jmp 0x6b5193f3
mov edx, eax
jmp 0x6b5193ec
xor ecx, ecx
jmp 0x6b5193de
movzx ecx, byte [eax - 1]
sub eax, 1
shl ecx, 8
mov edx, ecx
jmp 0x6b5193d2
mov edi, dword [esp + 0x18]
mov esi, ebx
jmp 0x6b51938c
mov edi, ebx
jmp 0x6b519375
call sym.___stack_chk_fail
mov esi, eax
mov edi, ecx
jmp 0x6b5193a5