Function at 0x8bf5c8
Capabilities:
Authenticate hmac
Encode data using base64
Encrypt data using chaskey
Execute anti-debugging instructions

Disassembly:
mov eax, dword [ebp + ecx*2 - 0xd6e706c]
not cl
xor eax, ebx
sub cl, dl
shr word [esp + ecx - 0x6b73893], 0xc3
not eax
sar edx, cl
adc edx, 0x8331b985
js 0x99e202
xor edx, ebx
xchg ecx, eax
neg ecx
xor edx, 0xb005551e
bts ax, ax
bswap edx
inc edx
bts eax, ecx
ror edx, 1
push ecx
sar word [esp + eax - 0x733d68bb], cl
sar cx, 0x2e
xor ebx, edx
lea eax, [ecx*4 + 0x25275d2a]
ror word [esp + eax*2 - 0x4a4eba44], 0x86
push ecx
adc edi, edx
cdq
cwd
mov ax, word [esi + eax - 0x25275d22]
btr edx, 7
sal cl, 0x61
or dx, word [edx + esi + 2]
lea ecx, [ecx + ecx*4 + 0xc960920]
lea esi, [esi + ecx*2 - 0x192c1216]
not byte [esp + ecx*4 - 0x32582430]
add ax, dx
btc cx, cx
mov word [esi + ecx*2 - 0x192c3218], ax
mov dword [esp + ecx*2 - 0x192c3218], edi
ret 4
xchg edx, ecx
dec eax
sal dx, 0x25
neg eax
rol eax, 1
rol ecx, 0x4b
bswap eax
xor ebx, eax
shr edx, 0x7b
not cl
adc ebp, eax
bt edx, edx
jae fcn.00909547
mov dl, byte [edi + edx - 0x4cb02002]
mov ecx, 0xf6365233
push ecx
not al
jmp 0x883726
sal eax, cl
mov ecx, edx
ror edx, 0x4e
mov dword [esi + ecx - 0x5334bb13], eax
mov edx, dword [ebp + ecx - 0x5334bb10]
xor edx, ebx
movzx eax, cx
neg edx
xor edx, 0x459e78aa
not edx
xor ecx, ecx
neg edx
xor ebx, edx
ror cx, 0x85
adc edi, edx
rol al, 0xa1
imul eax, eax
mov edx, 0x612da810
movzx eax, byte [ebp + ecx*8 + 5]
lea ebp, [ebp + ecx*2 + 6]
jno 0xc583bb
xor al, bl
shr edx, 0xdc
btr dx, dx
not al
sbb ecx, 0x54358896
xadd dl, cl
not edx
dec al
xor dl, cl
xor al, 0xf
jmp 0x8cca43
bswap eax
cmovns edx, ecx
dec eax
sub edx, edx
bt edx, ecx
rol ecx, cl
xor eax, 0x8c145114
dec eax
not ecx
call fcn.00754b52
mov ecx, 0x8b30bc2a
mov word [esi + eax - 0x738309bf], dx
mov dword [esp + eax - 0x738309bf], edi
ret 4
neg ecx
xor edx, eax
xor dx, ax
rol ecx, 1
call fcn.0083124a
neg ecx
xor eax, 0xce0afabf
sal cl, 0x66
or dl, cl
and dl, dl
neg eax
inc eax
neg eax
and edx, ecx
sal dx, 0xae
xor ebx, eax
add ebp, eax
call fcn.00776793
dec esi
mov esi, dword [esi + ebp - 0x53fe]
cdq
inc esp
movsx edi, bl
dec ecx
lea esi, [ebp + esi - 0x53fe]
inc ecx
sbb edx, ebp
inc ecx
push esp
dec eax
not edi
dec ecx
not eax
dec eax
cwde
inc cx
bt ebp, 0x26
dec ecx
not esi
push ecx
dec ebp
or eax, esi
dec esp
mov dword [esi + eax + 0x2524], eax
dec eax
mov dword [esp + eax + 0x2524], ebp
ret 8
lea ecx, [ecx*8 + 0x1ca70c95]
not dl
xchg dword [esp], ecx
btr cx, cx
or al, dl
and word [esp + 3], cx
mov word [edi + 2], ax
movsx eax, byte [esp + 4]
mov edx, ecx
adc eax, dword [esi + eax - 4]
sub esi, 4
call fcn.0084cc94
mov dword [esp + eax - 0x1733543c], eax
inc edx
lea ecx, [ecx + ecx*2 + 0x628ff239]
ror byte [esp + ecx - 0x628ff2ea], 0x67
bswap edx
push ecx
adc ax, cx
lea edx, [edx + ecx*2 + 0x1c121a2d]
lea ecx, [ecx + 0x7b523a0]
cbw
inc al
xor edx, 0x7f08efbf
xor ebx, edx
inc byte [esp + eax*2 - 0x2e660054]
add edi, edx
dec ecx
dec cl
lea edx, [ecx + ecx*8 + 0x6c926c02]
mov eax, dword [esi + eax - 0x1733002a]
sub edx, dword [esp + ecx - 0x6a451687]
bt ecx, ecx
mov edx, dword [ecx + esi - 0x6a451687]
push ecx
dec cx
mov cl, byte [ecx + esi - 0x6a451682]
mov dword [esp + 0xc], 0xf0ad9b8f
ror dword [esp + 6], 0xb7
or dword [esp], 0x78bc717
adc esi, 6
call fcn.0078849e
ror dl, 1
add dl, 0x35
xadd ax, cx
xor bl, dl
or ecx, eax
shr cl, 0x21
cbw
adc edx, esp
xadd cl, al
mov ecx, dword [edx + eax - 0xff5a]
mov eax, ecx
mov cl, byte [esi]
mov edx, 0x5334bb10
inc edx
jp 0x7d8b8b
call fcn.00cc1ce6
push 0x6b73836
mov eax, 0x733c6112
mov ecx, dword [esp + eax - 0x733c6112]
lea ebp, [ebp + eax - 0x733c6116]
movzx edx, cl
xor byte [esp + ecx - 0x6b73834], dh
jno 0x750b0d
mov eax, 0x23bd5e35
cwde
movzx edx, ax
lea ebp, [ebp + eax*2 - 0xbc6e]
lea ecx, [eax*4 + 0x143059a4]
shl edx, 0x34
mov edx, dword [ebp + ecx - 0x1431d278]
xor edx, ebx
sal cx, 0xa6
or ecx, 0x55aa0791
xor edx, 0x85336584
neg cl
jb 0x8d205c
sub ebp, 4
mov eax, dword [ebp]
mov edx, 0x96bbbc03
not dl
xor eax, ebx
lea ecx, [edx*4 - 0x145f2cb]
xadd ecx, edx
jle 0x816233
inc esi
xor dword [esp + ebp - 0x541a], edi
xor ecx, 0x7bbcd1bd
inc ecx
mov ecx, 0x343167b2
inc ecx
pop ecx
inc ecx
btr eax, edi
inc bp
adc eax, esi
cwd
dec ebp
arpl di, di
dec eax
cdq
inc cx
add edx, 0x13492f8a
out dx, eax
dec ecx
dec eax
inc ecx
xor edx, ebp
dec esi
mov eax, dword [esi + ebp*2 - 0xa834]
inc ebp
add ch, dh
jne 0x8703ce
bts edx, edx
neg ecx
lea ecx, [ecx + eax*2 + 0x102e780f]
not edx
add ax, dx
xor ebx, ecx
add edi, ecx
mul edx
movzx ecx, ax
or ecx, edx
lea ebp, [edx + ebp - 0x3e07]
cwd
not edx
add al, 0x96
mov edx, dword [ebp + ecx*2 - 0x7c16]
adc eax, eax
sbb cl, 0x85
xor edx, ebx
cwde
and cx, 0x1181
push ecx
not edx
adc ecx, ecx
xchg dword [esp + eax*4 - 0x114f8], eax
dec edx
sub ax, word [esp + eax*4 - 0x4204]
rol edx, cl
add cl, ah
sal dword [esp + eax - 0xcb43], cl
not edx
xor ecx, dword [esp + eax - 0xcb43]
btr eax, eax
xor ebx, edx
inc al
and dword [esp + eax*2 - 0x19688], 0x4930d436
lea esi, [esi + eax - 0xcb48]
setne cl
cmovg ecx, eax
sbb word [esp + eax - 0xcb42], cx
mov dword [esi + eax*4 - 0x32d10], edx
and word [esp + eax - 0xcb43], 0x56bb
pop ecx
jne fcn.00c570a1
mov ecx, 0xacb0fd0f
movzx edx, cx
lea esi, [esi + edx - 0xfd13]
bswap edx
rol cl, 0x44
mov ecx, dword [esi + edx - 0xffd0000]
neg edx
xor ecx, ebx
mov eax, edx
jmp 0x869def
neg cl
ror edx, 1
inc edx
ror edx, 1
xor ebx, edx
bts ax, 0x9c
add esi, edx
movsx edx, ax
mov eax, dword [eax + edi - 0x5e35]
sal ecx, 0x58
adc ecx, 0x2784b90a
mov ecx, dword [edi + edx*8 - 0x2f1a4]
lea edi, [edi + edx*2 - 0xbc62]
sbb dx, dx
btc dx, dx
adc edx, edx
mov dword fs:[eax + edx*2 - 4], ecx
sal edx, 0xbf
movzx eax, dx
add edx, esi
jmp edx
rol eax, 1
or byte [esp + ecx - 0x6b73893], ch
add dx, word [esp + ecx - 0x6b73893]
lea eax, [eax + ecx*4 - 0x336dd3b]
rol eax, 3
xor ebx, eax
sar ecx, cl
not ecx
or ecx, ecx
adc edi, eax
movzx dx, byte [esi]
rol cl, 0x41
mov cl, byte [esi + 2]
push 0x6d33d996
adc esi, 2
mov eax, 0x738309bf
neg dword [esp + eax - 0x738309bf]
sal dl, cl
jmp 0x853f4a
movzx edx, byte [edi]
xor dl, bl
xor dl, 0x3d
movsx ecx, al
lea eax, [ecx + ecx*4 + 0x250a9c0c]
rol ecx, 0xd0
adc dl, 0x3e
shr eax, 0xbb
xor dl, 0xe
dec dl
dec cx
xor bl, dl
neg ecx
lea esi, [esi + eax*2 - 0xa]
sar al, cl
cbw
rol al, 0x62
mov word [esi + eax*8 - 0x40], dx
sub ecx, 0x3329a329
ror al, 0x42
movzx edx, al
lea edi, [edi + eax - 6]
dec edx
btc dx, dx
shr dl, 6
mov eax, dword [edi + eax*2 - 4]
xadd cl, ch
xor eax, ebx
sar edx, 0x25
lea ecx, [ecx*4 - 0x77f01646]
sar edx, 0xf7
bswap eax
je 0x7c38be
mov eax, 0xcba4b305
lea edx, [eax*8 + 0x5b85710a]
sub edi, 1
dec ax
jl 0x99e357