Function at 0x752c90
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xac
nop
mov dword [ebp - 0x1c], esp
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x7537c0
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
call fcn.007537a0
movzx edx, byte [0xa8c618]
mov esi, dword [0xa53a28]
mov ecx, dword [0xa53a18]
mov dword [ebp - 0x2c], edx
xor ecx, edx
mov edx, 0x8bd6
mov dword [ebp - 0x68], eax
sub edx, eax
mov dword [ebp - 0x4c], edx
sub ecx, edx
add ecx, esi
call dword [0xa37360]
call ecx
mov dword [ebp - 0x20], eax
mov ecx, 0xa8c6c0
call fcn.00793cb0
mov dword [0xa8c6cc], 0
mov dword [0xa8c6d0], 0
mov dword [0xa8c6d4], 0
mov dword [ebp - 0x10], 3
call dword [sym.imp.KERNEL32.dll_GetTickCount64]
nop
mov dword [0xa8c6e0], eax
mov dword [0xa8c6e4], edx
mov ecx, dword [ebp - 0x20]
mov esi, ecx
xor esi, 0xb7eb6029
mov eax, ecx
xor eax, 0xb7eb602d
mov edx, ecx
xor edx, 0xb7eb6036
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
mov dword [ebp + eax - 0x64], edx
mov eax, ecx
xor eax, 0xb7eb6035
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x48], eax
mov dword [ebp + esi - 0x64], eax
movzx eax, byte [0xa5394d]
xor cl, 0xbb
mov byte [ebp - 0x24], cl
cmp al, cl
je 0x752e1e
mov eax, dword [ebp - 0x20]
mov ecx, eax
xor cl, 0xb8
mov edx, eax
xor dl, 0xb1
nop word cs:[eax + eax]
mov eax, ecx
lock cmpxchg byte [0xa5394d], dl
je 0x752db3
cmp al, byte [ebp - 0x24]
jne 0x752da0
jmp 0x752e1e
nop
mov eax, dword [ebp - 0x20]
mov edi, eax
xor edi, 0x87680994
mov ebx, eax
xor ebx, 0xb7eb6037
xor eax, 0xb7eb6034
cmp eax, 2
mov esi, 1
cmovge esi, eax
xor ecx, ecx
nop dword [eax]
mov eax, ecx
xor eax, edi
mov edx, ecx
and edx, edi
lea eax, [eax + edx*2]
xor edx, edx
div ebx
movzx eax, byte [ecx + 0xa53940]
xor al, byte [edx + 0x9d86c0]
xor al, byte [ebp - 0x20]
xor al, 0x44
mov byte [ecx + 0xa53940], al
inc ecx
cmp esi, ecx
jne 0x752de0
nop
movzx eax, byte [ebp - 0x24]
xchg byte [0xa5394d], al
mov dword [ebp - 0x10], 0xffffffff
nop
mov eax, dword [0xa53a20]
mov ecx, dword [0xa53a14]
xor ecx, dword [ebp - 0x2c]
sub ecx, dword [ebp - 0x4c]
add ecx, eax
mov eax, dword [ebp - 0x68]
add eax, 0xffff742a
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x10], 0xffffffff
call dword [0xa37360]
lea esi, [ebp - 0x64]
mov edi, dword [ebp - 0x48]
push edi
push 0xa53940
push esi
call ecx
add esp, 0xc
mov byte [ebp + edi - 0x64], 0
mov dword [ebp - 0x10], 6
lea eax, [ebp - 0x98]
push esi
push eax
call fcn.00792630
add esp, 8
mov ecx, 0xa8c6c0
lea esi, [ebp - 0x98]
push esi
call fcn.00793de0
mov ecx, esi
call fcn.00793cd0
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp + eax - 0x64]
cmp eax, dword [ebp - 0x30]
jbe 0x752ef9
nop
mov edx, dword [ebp - 0x64]
lea esi, [eax + 1]
mov ebx, dword [ebp - 0x20]
mov ecx, ebx
xor ecx, 0xb7eb6fc6
cmp esi, ecx
jbe 0x752eee
mov esi, ebx
xor esi, 0x48149fc5
mov ecx, dword [edx + esi]
mov edi, esi
xor edi, edx
and esi, edx
add esi, esi
mov edx, esi
xor edx, edi
and esi, edi
lea edx, [edx + esi*2]
sub edx, ecx
mov esi, ebx
xor esi, 0xb7eb6019
cmp edx, esi
jae 0x753571
mov edx, ebx
xor edx, 0xb7eb601d
add eax, edx
mov esi, eax
mov edx, ecx
nop
push esi
push edx
call fcn.0091d82d
add esp, 8
nop
mov eax, dword [0xa53a34]
add eax, dword [eax]
mov dword [ebp - 0x8c], eax
mov eax, dword [0x9d8698]
mov dword [ebp - 0x7c], eax
mov eax, dword [0xa53a38]
add eax, dword [eax]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x10], 3
mov ecx, 0xa8c6c0
call fcn.00793ea0
test al, al
je 0x753491
mov ecx, 0xa8c6c0
call fcn.00793e90
nop
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax - 0x64], 0
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
mov dword [ebp + eax - 0x64], ecx
mov byte [ebp - 0x64], 0
mov ecx, dword [0xa53a30]
lea eax, [ecx + 1]
mov dword [0xa53a30], eax
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], ecx
test eax, ecx
je 0x752fda
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x44], 0
nop
movzx eax, byte [0xa53977]
mov ecx, dword [ebp - 0x20]
xor cl, 0x3c
mov byte [ebp - 0x24], cl
cmp al, cl
je 0x7531f1
mov eax, dword [ebp - 0x20]
mov ecx, eax
xor cl, 0xd4
mov edx, eax
xor dl, 0xf9
nop word cs:[eax + eax]
mov eax, ecx
lock cmpxchg byte [0xa53977], dl
je 0x753183
cmp al, byte [ebp - 0x24]
jne 0x752fc0
jmp 0x7531f1
nop
mov ecx, dword [0xa53a3c]
mov esi, dword [ebp - 0x20]
xor ecx, esi
mov eax, esi
xor eax, 0x8149fc2
cmp ecx, 0x82bb5fc1
mov ecx, 0
cmovne eax, ecx
mov ecx, dword [ebp - 0x78]
mov edx, dword [ecx + eax*4]
cmp dword [ebp - 0x7c], 0
jle 0x75350d
lea ecx, [ecx + eax*4]
add ecx, edx
xor eax, eax
lea edx, [esi*4]
xor edx, 0xdfad80e4
mov dword [ebp - 0x88], edx
xor esi, 0xb7eb603d
mov dword [ebp - 0x74], esi
pcmpeqd xmm0, xmm0
xorps xmm1, xmm1
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x6c], 0
mov esi, dword [ebp - 0x28]
jmp 0x753114
lea ecx, [edi*8]
mov dword [0xa53a40], 0xabc6ac53
movdqu xmmword [ebp - 0xa8], xmm0
movups xmmword [ebp - 0xb8], xmm1
shr cl, 3
and cl, 0xf
neg cl
movsx ecx, cl
mov ebx, dword [ebp + ecx - 0x9c]
not ebx
and edx, ebx
mov ebx, dword [ebp + ecx - 0xa0]
not ebx
and dword [ebp - 0x4c], ebx
mov ebx, dword [ebp + ecx - 0xa4]
not ebx
and esi, ebx
mov ecx, dword [ebp + ecx - 0xa8]
not ecx
and dword [ebp - 0x24], ecx
mov ebx, dword [ebp - 0x74]
mov ecx, ebx
xor ecx, edi
sub eax, dword [ebp - 0x28]
add eax, ecx
and edi, ebx
lea eax, [eax + edi*2]
mov ecx, dword [ebp - 0x6c]
inc ecx
nop
mov edi, dword [ebp - 0x78]
mov ebx, ecx
lea ecx, [edi + ecx*4]
mov dword [ebp - 0x6c], ebx
add ecx, dword [edi + ebx*4]
mov dword [ebp - 0x48], 0
xor dword [ebp - 0x44], edx
mov edx, dword [ebp - 0x4c]
xor dword [ebp - 0x38], edx
xor dword [ebp - 0x3c], esi
mov edx, dword [ebp - 0x24]
xor dword [ebp - 0x40], edx
mov esi, dword [ebp - 0x28]
add eax, esi
cmp eax, dword [ebp - 0x7c]
jge 0x752f8d
nop
mov ebx, dword [ebp - 0x8c]
lea edx, [ebx + eax]
mov edi, ecx
sub edi, edx
mov edx, dword [ebp - 0x48]
sbb edx, 0
cmp edi, esi
sbb edx, dword [ebp - 0x88]
mov edx, dword [ebx + eax + 0xc]
mov esi, dword [ebx + eax + 8]
mov dword [ebp - 0x4c], esi
mov esi, dword [ebx + eax]
mov dword [ebp - 0x24], esi
mov esi, dword [ebx + eax + 4]
jge 0x7530f4
nop
mov ecx, dword [0xa53a40]
xor ecx, dword [ebp - 0x20]
cmp ecx, 0x1739f88c
jne 0x753070
mov ecx, dword [ebp - 0x74]
sub ecx, edi
mov edx, ecx
xor edx, edi
and ecx, edi
lea edx, [edx + ecx*2]
mov ecx, dword [ebp - 0x28]
shl edx, cl
mov esi, dword [ebp - 0x6c]
add esi, esi
lea esi, [esi + esi*2]
sub eax, ecx
mov ecx, esi
add eax, edx
jmp 0x7530de
nop
mov eax, dword [ebp - 0x20]
mov esi, eax
xor esi, 0xa21b099d
mov edi, eax
xor edi, 0xb7eb6010
xor eax, 0xb7eb601e
cmp eax, 2
mov ebx, 1
cmovge ebx, eax
xor ecx, ecx
nop dword [eax]
mov eax, ecx
xor eax, esi
mov edx, ecx
and edx, esi
lea eax, [eax + edx*2]
xor edx, edx
div edi
not edx
movzx eax, byte [ecx + 0xa53950]
xor al, byte [edi + edx + 0x9d86d0]
xor al, byte [ebp - 0x20]
xor al, 0x72
mov byte [ecx + 0xa53950], al
inc ecx
cmp ebx, ecx
jne 0x7531b0
nop
movzx eax, byte [ebp - 0x24]
xchg byte [0xa53977], al
mov dword [ebp - 0x10], 3
nop
mov eax, dword [ebp - 0x20]
xor eax, 0xb7eb601f
mov dword [ebp - 0x10], 3
sub esp, 0xc
movzx ecx, byte [ebp - 0x98]
mov byte [esp + 4], cl
mov dword [esp], eax
mov dword [esp + 8], 0xa53950
lea ecx, [ebp - 0x64]
call fcn.006704d0
nop
mov dword [ebp - 0x10], 5
mov ecx, 0xa8c6c0
lea eax, [ebp - 0x64]
push eax
call fcn.00792510
nop
mov dword [0xa8c6cc], eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp + eax - 0x64]
cmp ecx, dword [ebp - 0x30]
jbe 0x7532a2
nop
mov eax, dword [ebp - 0x64]
lea edx, [ecx + 1]
mov edi, dword [ebp - 0x20]
mov esi, edi
xor esi, 0xb7eb6fc6
cmp edx, esi
jbe 0x753297
mov edx, edi
xor edx, 0x48149fc5
lea esi, [eax + edx]
mov eax, dword [eax + edx]
sub esi, eax
mov edx, edi
xor edx, 0xb7eb6019
cmp esi, edx
jae 0x75357e
nop
mov dword [0xa53a3c], 0x36f9f85e
mov edx, edi
xor edx, 0xb7eb601d
add ecx, edx
mov edx, ecx
nop
push edx
push eax
call fcn.0091d82d
add esp, 8
nop
mov eax, dword [ebp - 0x28]
mov dword [ebp + eax - 0x64], 0
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
mov dword [ebp + eax - 0x64], ecx
mov byte [ebp - 0x64], 0
movzx eax, byte [0xa539a9]
mov ecx, dword [ebp - 0x20]
xor cl, 0xdd
mov byte [ebp - 0x24], cl
cmp al, cl
je 0x753369
mov eax, dword [ebp - 0x20]
mov ecx, eax
xor cl, 0xf2
mov edx, eax
xor dl, 0x9d
nop word cs:[eax + eax]
mov eax, ecx
lock cmpxchg byte [0xa539a9], dl
je 0x753303
cmp al, byte [ebp - 0x24]
jne 0x7532f0
jmp 0x753369
nop
mov edi, dword [ebp - 0x20]
mov esi, edi
xor esi, 0xf5e9a39
xor edi, 0xb7eb6010
cmp edi, 2
mov ebx, 1
cmovge ebx, edi
xor ecx, ecx
nop word cs:[eax + eax]
lea eax, [esi + ecx]
xor edx, edx
div edi
not edx
movzx eax, byte [ecx + 0xa53980]
xor al, byte [edi + edx + 0x9d8700]
xor al, byte [ebp - 0x20]
xor al, 0x88
mov byte [ecx + 0xa53980], al
inc ecx
cmp ebx, ecx
jne 0x753330
nop
movzx eax, byte [ebp - 0x24]
xchg byte [0xa539a9], al
mov dword [ebp - 0x10], 3
nop
mov eax, dword [ebp - 0x20]
xor eax, 0xb7eb6011
mov dword [ebp - 0x10], 3
sub esp, 0xc
movzx ecx, byte [ebp - 0x98]
mov byte [esp + 4], cl
mov dword [esp], eax
mov dword [esp + 8], 0xa53980
lea ecx, [ebp - 0x64]
call fcn.006704d0
nop
mov ebx, dword [ebp - 0x84]
and ebx, dword [ebp - 0x80]
mov ecx, dword [0x9d86ac]
mov eax, dword [0x9d86a8]
mov edx, dword [0x9d86a4]
mov edi, dword [0x9d86a0]
sub edi, dword [ebp - 0x40]
sbb edx, dword [ebp - 0x3c]
sbb eax, dword [ebp - 0x38]
sbb ecx, dword [ebp - 0x44]
xor esi, esi
cmp ebx, 1
sbb esi, esi
mov ebx, esi
or ebx, edi
xor edi, esi
not edi
and edi, ebx
mov ebx, esi
or ebx, eax
xor eax, esi
not eax
and eax, ebx
or eax, edi
mov edi, ecx
xor edi, esi
not edi
or ecx, esi
and ecx, edi
mov edi, edx
xor edi, esi
or esi, edx
not edi
and esi, edi
or esi, ecx
or esi, eax
setne al
or al, byte [0xa8c618]
and al, 1
mov byte [0xa8c618], al
mov dword [ebp - 0x10], 4
mov ecx, 0xa8c6c0
lea eax, [ebp - 0x64]
push eax
call fcn.00792510
nop
mov dword [0xa8c6d0], eax
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp + eax - 0x64]
cmp ecx, dword [ebp - 0x30]
jbe 0x753480
nop
mov eax, dword [ebp - 0x64]
lea edx, [ecx + 1]
mov edi, dword [ebp - 0x20]
mov esi, edi
xor esi, 0xb7eb6fc6
cmp edx, esi
jbe 0x753475
mov edx, edi
xor edx, 0x48149fc5
lea esi, [eax + edx]
mov eax, dword [eax + edx]
sub esi, eax
mov edx, edi
xor edx, 0xb7eb6019
cmp esi, edx
jae 0x75358b
mov edx, edi
xor edx, 0xb7eb601d
add ecx, edx
mov edx, ecx
nop
push edx
push eax
call fcn.0091d82d
add esp, 8
nop
cmp dword [0xa8c6cc], 0x934ee0
je 0x75352e
nop
cmp byte [0xa8c618], 0
jne 0x7534f8
nop
mov ecx, dword [0xa8c6cc]
test ecx, ecx
je 0x7534f8
nop
cmp dword [0xa8c6d0], 0
je 0x7534f8
nop
mov dword [ebp - 0x64], 0x753720
mov eax, dword [ebp - 0x20]
xor eax, 0xb7eb603d
mov dword [ebp + eax - 0x64], 0
mov dword [ebp - 0x10], 0xffffffff
call dword [0xa37360]
mov dword [ebp - 0x10], 3
push 0xa8c6d4
lea eax, [ebp - 0x64]
push eax
push 2
call ecx
test eax, eax
je 0x7534f8
nop
mov dword [0xa8c6d0], 0
nop
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
add esp, 0xac
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [ebp - 0x44], 0
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov dword [ebp - 0x38], 0
jmp 0x752f8d
nop
mov esi, dword [ebp - 0x70]
add esi, dword [0xa53a24]
add esi, dword [ebp - 0x2c]
add esi, dword [0xa53a1c]
mov dword [ebp - 0x10], 0xffffffff
mov ecx, esi
call dword [0xa37360]
lea edi, [ebp - 0x64]
mov ecx, edi
push 0x955324
call esi
mov dword [ebp - 0x10], 3
push 0xa1f334
push edi
call fcn.0093533b
add esp, 8
nop
mov dword [ebp - 0x10], 0
call fcn.00900ce1
nop
mov dword [ebp - 0x10], 1
call fcn.00900ce1
nop
mov dword [ebp - 0x10], 2
call fcn.00900ce1
nop dword [eax + eax]
push ebp
sub esp, 0xc
add ebp, 0xc
call fcn.009350a0
nop dword [eax]
push ebp
sub esp, 0xc
add ebp, 0xc
call fcn.009350a0
nop dword [eax]
push ebp
sub esp, 0xc
add ebp, 0xc
call fcn.009350a0
nop dword [eax]
push ebp
sub esp, 0xc
add ebp, 0xc
nop
mov esi, dword [ebp - 0x70]
add esi, dword [0xa53a2c]
add esi, dword [ebp - 0x2c]
add esi, dword [0xa53a10]
mov ecx, esi
call dword [0xa37360]
lea ecx, [ebp - 0x64]
call esi
add esp, 0xc
pop ebp
ret