Function at 0x42b630
Capabilities:
Authenticate hmac
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
mov ebx, ecx
mov eax, edx
mov dword [ebp - 8], eax
push esi
push edi
test ebx, ebx
je case.0x42b6e5.5
cmp dword [ebp + 8], 0
jne 0x42b658
cmp dword [ebp + 0xc], 0
jne case.0x42b6e5.5
cmp eax, 3
je 0x42b68e
cmp eax, 4
je 0x42b68e
cmp eax, 5
je 0x42b68e
cmp eax, 6
je 0x42b68e
cmp eax, 7
je 0x42b68e
cmp eax, 8
je 0x42b68e
cmp eax, 0xa
je 0x42b68e
cmp eax, 0xb
je 0x42b68e
cmp eax, 0xc
je 0x42b68e
cmp eax, 0xd
jne case.0x42b6e5.5
cmp byte [ebx + 0x224], 0
je 0x42b69f
call fcn.0042bd90
mov eax, dword [ebp - 8]
push ecx
mov edx, eax
mov byte [ebx + 0x225], 0
mov ecx, ebx
mov byte [ebx + 0x224], al
call fcn.0042b4b0
mov edi, eax
add esp, 4
test edi, edi
jne 0x42b9cf
lea eax, [ebx + 0x160]
mov dword [ebp - 8], eax
lea esi, [ebx + 0xe0]
movzx eax, byte [ebx + 0x224]
add eax, 0xfffffffd
cmp eax, 5
ja case.0x42b6e5.5
jmp dword [eax*4 + 0x42b9e4]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov dword [ebp - 4], 0x40
cmp ecx, 0x40
ja 0x42b771
test edx, edx
je 0x42b710
push ecx
push edx
push esi
call fcn.0046ae20
mov ecx, dword [ebp + 0xc]
add esp, 0xc
mov eax, dword [ebp - 4]
cmp ecx, eax
jae 0x42b728
sub eax, ecx
push eax
lea eax, [esi + ecx]
push 0
push eax
call fcn.00469c30
add esp, 0xc
mov ecx, dword [ebp - 4]
xor edx, edx
mov eax, dword [ebp - 8]
dec eax
add eax, ecx
lea ebx, [ecx - 1]
add ebx, esi
cmp esi, eax
mov eax, dword [ebp - 8]
ja 0x42b94a
cmp ebx, eax
jb 0x42b94a
xor eax, eax
cmp eax, ecx
jae 0x42b9cf
mov al, byte [esi]
lea esi, [esi + 1]
xor al, 0x5c
mov byte [esi + 0x7f], al
xor byte [esi - 1], 0x36
sub ecx, 1
jne 0x42b755
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push ecx
mov ecx, ebx
call fcn.0045cb30
mov edi, eax
add esp, 4
test edi, edi
jne 0x42b9cf
mov edx, esi
mov ecx, ebx
call fcn.0045cc60
mov edi, eax
test edi, edi
jne 0x42b9cf
lea ecx, [eax + 0x10]
lea eax, [edi + 0x40]
jmp 0x42b717
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov dword [ebp - 4], 0x40
cmp ecx, 0x40
jbe 0x42b6fe
push ecx
mov ecx, ebx
call fcn.00442ea0
mov edi, eax
add esp, 4
test edi, edi
jne 0x42b9cf
mov edx, esi
mov ecx, ebx
call fcn.00443020
mov edi, eax
test edi, edi
jne 0x42b9cf
lea ecx, [eax + 0x14]
lea eax, [edi + 0x40]
jmp 0x42b717
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov dword [ebp - 4], 0x40
cmp ecx, 0x40
jbe 0x42b6fe
test edx, edx
je 0x42b9ca
push ecx
mov ecx, ebx
call fcn.00433a00
mov edi, eax
add esp, 4
test edi, edi
jne 0x42b9cf
mov edx, esi
mov ecx, ebx
call fcn.00433c70
mov edi, eax
test edi, edi
jne 0x42b9cf
lea ecx, [eax + 0x20]
lea eax, [edi + 0x40]
jmp 0x42b717
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov dword [ebp - 4], 0x80
cmp ecx, 0x80
jbe 0x42b6fe
test edx, edx
je 0x42b9ca
push ecx
mov ecx, ebx
call fcn.0042afc0
mov edi, eax
add esp, 4
test edi, edi
jne 0x42b9cf
test esi, esi
je 0x42b9ca
mov ecx, ebx
call fcn.0042b190
mov edi, eax
test edi, edi
jne 0x42b9cf
movups xmm0, xmmword [ebx]
mov ecx, ebx
movups xmmword [esi], xmm0
movups xmm0, xmmword [ebx + 0x10]
movups xmmword [esi + 0x10], xmm0
movups xmm0, xmmword [ebx + 0x20]
movups xmmword [esi + 0x20], xmm0
call fcn.0042b2f0
mov edi, eax
test edi, edi
jne 0x42b9cf
lea ecx, [eax + 0x30]
lea eax, [ecx + 0x50]
jmp 0x42b717
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 8]
mov dword [ebp - 4], 0x80
cmp ecx, 0x80
jbe 0x42b6fe
test edx, edx
je 0x42b9ca
push ecx
mov ecx, ebx
call fcn.0042afc0
mov edi, eax
add esp, 4
test edi, edi
jne 0x42b9cf
test esi, esi
je 0x42b9ca
mov ecx, ebx
call fcn.0042b190
mov edi, eax
test edi, edi
jne 0x42b9cf
movups xmm0, xmmword [ebx]
push ebx
movups xmmword [esi], xmm0
movups xmm0, xmmword [ebx + 0x10]
movups xmmword [esi + 0x10], xmm0
movups xmm0, xmmword [ebx + 0x20]
movups xmmword [esi + 0x20], xmm0
movups xmm0, xmmword [ebx + 0x30]
movups xmmword [esi + 0x30], xmm0
call fcn.00428550
mov edi, eax
add esp, 4
test edi, edi
jne 0x42b9cf
lea ecx, [eax + 0x40]
lea eax, [ecx + 0x40]
jmp 0x42b717
movaps xmm2, xmmword [0x49b830]
add eax, 0x30
movaps xmm3, xmmword [str.6666666666666666]
add esi, 0x10
nop
movups xmm1, xmmword [esi - 0x10]
add edx, 0x40
lea eax, [eax + 0x40]
lea esi, [esi + 0x40]
movaps xmm0, xmm1
xorps xmm1, xmm3
xorps xmm0, xmm2
movups xmmword [eax - 0x70], xmm0
movups xmmword [esi - 0x50], xmm1
movups xmm1, xmmword [esi - 0x40]
movaps xmm0, xmm1
xorps xmm1, xmm3
xorps xmm0, xmm2
movups xmmword [esi + 0x40], xmm0
movups xmmword [esi - 0x40], xmm1
movups xmm1, xmmword [esi - 0x30]
movaps xmm0, xmm1
xorps xmm1, xmm3
xorps xmm0, xmm2
movups xmmword [eax - 0x50], xmm0
movups xmmword [esi - 0x30], xmm1
movups xmm1, xmmword [esi - 0x20]
movaps xmm0, xmm1
xorps xmm1, xmm3
xorps xmm0, xmm2
movups xmmword [eax - 0x40], xmm0
movups xmmword [esi - 0x20], xmm1
cmp edx, ecx
jb 0x42b960
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, 0xffffff53
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
mov eax, 0xffffff53
pop ebx
mov esp, ebp
pop ebp
ret