Function at 0x97bba7
Capabilities:
Encrypt data using aes

Disassembly:
call 0x940452
call fcn.00973bd3
call fcn.0094073a
movzx edx, byte [eax]
neg si
mov ebx, 0x6a8d4df8
jmp 0x940834
shl edx, 8
add bp, 0x54b6
movzx esi, byte [eax + 1]
rcl di, cl
jmp 0x940888
xor edx, esi
lea esi, reloc.kernel32.dll_DeleteCriticalSection
mov bl, byte [esp]
movzx esi, byte [eax + 3]
jmp 0x97b07e
xor edx, esi
movzx esi, byte [eax + 2]
shl edx, 8
jmp 0x940864
lea esp, [esp + 3]
call 0x967913
out 0x77, eax
adc ah, cl
or eax, 0xe98e189f
sbb cl, dh
cmc
in al, 0x17
adc dl, bl
pop ebp
fdivr qword [ebx + 0x67]
fcom dword [edx]
inc ecx
loopne 0x9679f4
pop ebx
fldcw word [esi]
int1
push edx
js 0x9679e2
add eax, 0x2b3a8061
xchg edi, eax
out 0xe5, al
out dx, eax
xor byte [edx + ebx + 0x3246c8b], ch
lea esp, [esp + 8]
pushal
push word [esp + 7]
lea esp, [esp + 2]
lea esp, [esp + 0x20]
jmp 0x940480
test al, 0x69
jp 0x967a61
adc bl, ch
ret
test byte [edx], bl
jge 0x967984
inc ebx
mov al, 0x31
mov eax, dword [reloc.kernel32.dll_DeleteCriticalSection]
xor ah, byte [eax - 0x4c24cd39]
stosb byte es:[edi], al
invalid
add dword [eax - 0x71], esp
inc esp
and al, 0x26
jmp 0x967a71
lea esp, [esp + 9]
lea esp, [esp + 3]
mov dword [esp + 0xb], ebp
bswap ebp
lea ebp, [esp + edi]
bswap ebp
jmp 0x967adf
bswap ebp
mov ebp, dword [esp]
lea ebp, [esp + ebp]
mov bp, 0x286d
not ebp
bswap ebp
jmp 0x967b5d
mov bp, 0xfabd
mov ebp, 0xfb7405a0
not bp
lea ebp, [esi*4]
mov bp, 0xed15
mov ebp, dword [esp]
jmp 0x967abe
mov ebp, dword [esp + 0xb]
lea esp, [esp + 0x20]
push esp
lea esp, [esp + 3]
lea esp, [esp + 1]
jmp 0x94075d
xchg bl, bh
xor edx, esi
setp bl
btc ebx, ebx
jmp 0x97b14d
movzx edx, byte [eax + 4]
mov bx, word [esp]
jmp 0x97b12c
inc bl
sub esp, 2
lea esp, [esp + 2]
shl edx, 8
neg ebx
jmp 0x97b059
movzx esi, byte [eax + 6]
mov ebx, eax
call fcn.0097b0af
xor edx, esi
bswap ebx
lea ebp, reloc.kernel32.dll_DeleteCriticalSection
push edx
xchg bl, bh
jmp 0x97b114
setnp bl
sub esp, 0xc
xchg word [esp + 3], bp
mov bl, byte [esp + 1]
lea esp, [esp + 0xc]
jmp 0x97b0dc
lea esp, [esp + 4]
movzx esi, byte [eax + 9]
bswap ebx
mov bl, byte [esp]
xchg di, bp
jmp 0x97b191
shl edx, 8
not di
bswap edi
xor edx, esi
jmp 0x97b0ff
movzx esi, byte [eax + 5]
bswap edi
mov dword [ecx], edx
xchg dh, dl
not bl
jmp 0x97b068
movzx edx, byte [eax + 8]
lea edi, [ecx*4]
mov ebx, dword [esp]
jmp 0x97b3d4
mov dword [ecx + 4], edx
mov bl, byte [esp]
mov edi, esi
mov ebx, ebp
jmp 0x97b15e
mov bp, word [esp]
jmp 0x97b174
xor edx, esi
setnp bh
movzx esi, byte [eax + 0xa]
btr ebp, esp
jmp 0x97b3bb
dec edi
mov bp, 0xa765
neg edi
jmp 0x97b758
not di
shl edx, 8
lea edi, reloc.kernel32.dll_DeleteCriticalSection
jmp 0x97b3a9
xor edx, esi
shl si, cl
movzx esi, byte [eax + 0xb]
xchg ebp, ebx
call fcn.0097b5f3
xor edx, esi
mov esi, dword [esp]
not si
jmp 0x97b68d
movzx eax, byte [eax + 0xf]
call fcn.0097b69d
xor edx, esi
shl edx, 8
xchg bl, bh
rcr edi, 9
call fcn.0097b6a8
fistp dword [ebp - 0x33]
xchg esp, eax
loop 0x97b6b6
aas
push es
mov cl, 0x8d
and al, 8
lea esp, [esp + 8]
movzx esi, byte [eax + 0xe]
setbe bl
rcl di, cl
jmp 0x97b66b
btr ebp, esp
jmp 0x97b72e
sub bl, ah
and eax, esi
mov edi, 0x58710862
jmp 0x97b737
lea esp, [esp + 8]
mov esi, 0xff
mov di, word [esp]
btc edi, ebx
mov bl, bh
jmp 0x97b6d9
shr eax, 0x10
mov bl, bh
inc bl
lea edi, [eax + 0xc1]
jmp 0x97b6f6
mov dword [ecx + 0xc], edx
mov eax, edx
mov bl, 0xca
jmp 0x97b716
mov eax, dword [eax*4 + reloc.kernel32.dll_DeleteCriticalSection]
xor eax, 0x1000000
mov bp, 0x2179
bswap edi
jmp 0x97b97f
shl edx, 8
xchg bl, bh
lea ebp, [esp + esi]
mov ebp, 0x456f5afc
jmp 0x97b61c
dec edi
xchg bh, bl
mov edi, edx
btr ebp, edx
mov bx, word [esp]
jmp 0x97bc7d
and edi, 0xff0000
pushal
pop bp
call 0x97bba7
fmul qword [ebp - 0x74fddb9c]
pop ecx
add al, 0xeb
pop ecx
sub al, 0xb3
and eax, dword [esi - 0x4b]
inc edi
xor dh, byte [edx + ebp + 0x215ebc4d]
pushal
mov dword [reloc.kernel32.dll_DeleteCriticalSection], eax
cmp al, 0xbd
in al, 0xd7
xchg esp, eax
add bh, dh
shl dword [esi - 0x75], cl
fsub qword [esi - 0x2d]
aad 0xeb
lds esi, [ebx]
invalid
mov edi, dword [edi*4 + reloc.kernel32.dll_DeleteCriticalSection]
not ebx
mov bx, sp
rcl bp, cl
jmp 0x97bb98
mov bl, 0xb6
and edi, esi
seto bl
inc bl
neg bx
jmp 0x97bbc2
mov ebp, ecx
setge bl
shr edi, 8
mov bl, bh
mov bl, 0xf4
jmp 0x97bc26