Function at 0x736ee0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x48
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x7373f0
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
call fcn.00737380
mov edx, dword [0xb42948]
mov ecx, dword [0xb42930]
mov ebx, 0x7a25
sub ebx, eax
sub ecx, ebx
add ecx, edx
call dword [0xb0836c]
call ecx
mov dword [ebp - 0x38], 0
mov ecx, eax
xor ecx, 0xc2e8f1fa
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x34], ecx
mov byte [ebp - 0x48], 0
movzx ecx, byte [0xb424db]
mov dword [ebp - 0x24], eax
mov edx, eax
xor dl, 0x50
cmp cl, dl
je 0x737051
mov ah, al
mov ecx, eax
xor cl, 0xf9
xor ah, 0x8d
nop dword [eax + eax]
mov al, cl
lock cmpxchg byte [0xb424db], ah
je 0x736f85
cmp al, dl
jne 0x736f70
jmp 0x737051
mov ecx, dword [ebp - 0x24]
xor ecx, 0xc2e8f1ee
cmp ecx, 2
mov eax, 1
cmovge eax, ecx
xor ecx, ecx
cmp eax, 8
jb 0x737033
xor ecx, ecx
cmp eax, 0x20
jb 0x736ff9
mov ecx, eax
and ecx, 0x7fffffe0
xor esi, esi
nop word cs:[eax + eax]
movaps xmm0, xmmword [esi + 0xac0b20]
movaps xmm1, xmmword [esi + 0xac0b30]
xorps xmm0, xmmword [esi + 0xb424c0]
xorps xmm1, xmmword [esi + 0xb424d0]
movaps xmmword [esi + 0xb424c0], xmm0
movaps xmmword [esi + 0xb424d0], xmm1
add esi, 0x20
cmp ecx, esi
jne 0x736fc0
cmp eax, ecx
je 0x737044
test al, 0x18
je 0x737033
mov esi, ecx
mov ecx, eax
and ecx, 0x7ffffff8
nop word cs:[eax + eax]
movsd xmm0, qword [esi + 0xb424c0]
movsd xmm1, qword [esi + 0xac0b20]
xorps xmm1, xmm0
movlps qword [esi + 0xb424c0], xmm1
add esi, 8
cmp ecx, esi
jne 0x737010
jmp 0x737040
mov dh, byte [ecx + 0xac0b20]
xor byte [ecx + 0xb424c0], dh
inc ecx
cmp eax, ecx
jne 0x737033
xchg byte [0xb424db], dl
mov dword [ebp - 0x10], 0xffffffff
mov edi, dword [ebp - 0x24]
xor edi, 0xc2e8f1ef
mov eax, dword [0xb4294c]
mov esi, dword [0xb4293c]
mov dword [ebp - 0x2c], ebx
sub esi, ebx
add esi, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0xb0836c]
movzx eax, byte [ebp - 0x28]
mov byte [esp + 4], al
mov dword [esp], edi
mov dword [esp + 8], 0xb424c0
lea edi, [ebp - 0x48]
mov ecx, edi
call esi
sub esp, 0xc
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x34], eax
jbe 0x7370a3
mov edi, dword [ebp - 0x48]
mov eax, dword [ebp - 0x24]
xor eax, 0xc2f8f1f5
mov dword [ebp - 0x10], 1
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.007372c0
sub esp, 8
test eax, eax
setne cl
or cl, byte [0xb533c8]
mov byte [ebp - 0x1d], cl
test cl, 1
je 0x7370df
mov dword [esp], eax
call sub.KERNEL32.dll_CloseHandle
sub esp, 4
mov eax, dword [ebp - 0x34]
cmp byte [0xb53280], 0
jne 0x7370f0
cmp eax, dword [ebp - 0x30]
jbe 0x737162
mov esi, dword [ebp - 0x48]
lea edi, [eax + 1]
mov ebx, dword [ebp - 0x24]
mov ecx, ebx
xor ecx, 0xc2e8fe0a
cmp edi, ecx
jbe 0x73712e
mov ecx, dword [esi - 4]
mov edx, ebx
xor edx, 0x3d170e09
add edx, esi
sub edx, ecx
mov esi, ebx
xor esi, 0xc2e8f1d5
cmp edx, esi
jae 0x737179
mov edx, ebx
xor edx, 0xc2e8f1d1
add eax, edx
mov edi, eax
mov esi, ecx
xor ebx, 0xb2e71c58
mov dword [ebp - 0x24], ebx
mov eax, dword [0xb42940]
mov ebx, dword [0xb42934]
sub ebx, dword [ebp - 0x2c]
add ebx, eax
mov dword [ebp - 0x10], 0xffffffff
mov ecx, ebx
call dword [0xb0836c]
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
mov ecx, esi
mov edx, edi
call ebx
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
movzx eax, byte [ebp - 0x1d]
and al, 1
add esp, 0x48
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x10], 0
call fcn.00748ef1
nop word cs:[eax + eax]
push ebp
sub esp, 0xc
add ebp, 0xc
call fcn.0077ccd0
nop dword [eax]
push ebp
sub esp, 0xc
add ebp, 0xc
mov eax, dword [0xb42944]
mov esi, dword [0xb42938]
sub esi, dword [ebp - 0x2c]
add esi, eax
mov ecx, esi
call dword [0xb0836c]
lea ecx, [ebp - 0x48]
call esi
add esp, 0xc
pop ebp
ret