Function at 0x766f80
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x40
mov edi, ecx
mov eax, dword [0xa7d04c]
xor eax, esp
mov dword [esp + 0x3c], eax
call fcn.00769c60
mov esi, dword [0xa8c67c]
lea edx, [eax + 0xc2ba]
mov dword [esp + 0x10], edx
mov ebp, 0xffff3d46
mov dword [esp + 0x14], eax
sub ebp, eax
mov ecx, dword [0xa557a8]
add ecx, edx
add ecx, esi
add ecx, dword [0xa55680]
call dword [0xa37360]
call ecx
mov ebx, eax
mov eax, dword [0xa55744]
mov ecx, dword [0xa55670]
xor ecx, esi
sub ecx, ebp
add ecx, eax
call dword [0xa37360]
lea eax, [esp + 0x2f]
lea edx, [esp + 0x30]
push 0xd53d8c41
push eax
push edx
push edi
push ebx
call ecx
add esp, 0x14
mov edi, dword [esp + 0x30]
movzx eax, byte [esp + 0x2f]
mov dword [esp + 8], eax
mov eax, dword [0xa5576c]
mov ecx, dword [0xa55688]
xor ecx, esi
sub ecx, ebp
add ecx, eax
call dword [0xa37360]
push 0x1b7148b0
lea eax, [esp + 0x34]
push eax
push edi
push ebx
push dword [esp + 0x18]
call ecx
add esp, 0x14
mov edi, dword [esp + 0x30]
mov ecx, dword [0xa55700]
add ecx, dword [esp + 0x10]
add ecx, esi
add ecx, dword [0xa55664]
call dword [0xa37360]
push 0xca317178
lea eax, [esp + 0x34]
push eax
push edi
push ebx
call ecx
add esp, 0x10
mov edi, 0x955324
test al, 1
je 0x767c01
mov edi, dword [esp + 0x30]
mov eax, dword [0xa556fc]
mov ecx, dword [0xa5563c]
xor ecx, esi
sub ecx, ebp
add ecx, eax
call dword [0xa37360]
lea eax, [esp + 0x3b]
push 0x4a52d172
push eax
lea eax, [esp + 0x37]
push eax
lea eax, [esp + 0x3c]
push eax
push edi
push ebx
call ecx
add esp, 0x18
mov eax, dword [esp + 0x30]
mov dword [esp + 0x24], eax
movzx eax, byte [esp + 0x3b]
mov dword [esp + 8], eax
movzx edi, byte [esp + 0x2f]
mov eax, dword [0xa55718]
mov ecx, dword [0xa55614]
xor ecx, esi
mov dword [esp + 4], ebp
sub ecx, ebp
add ecx, eax
call dword [0xa37360]
push 0x7ffcb95a
push edi
push dword [esp + 0x10]
call ecx
add esp, 0xc
test al, 1
mov dword [esp], ebx
jne 0x7673e1
movzx ebp, bl
mov eax, ebx
xor al, 0x5c
movzx edi, al
nop dword [eax]
mov eax, dword [0xa557b8]
mov ecx, dword [0xa55658]
sub ecx, esi
add ecx, eax
mov eax, dword [esp + 0x14]
add ecx, eax
add ecx, 0xc2ba
call dword [0xa37360]
push 0xb6dbb279
lea eax, [esp + 0x33]
push eax
push edi
push ebp
call ecx
add esp, 0x10
test al, 1
jne 0x767170
movzx ebx, byte [esp + 0x2f]
mov eax, dword [0xa55704]
mov ecx, dword [0xa556c4]
xor ecx, esi
sub ecx, dword [esp + 4]
add ecx, eax
call dword [0xa37360]
movzx eax, bl
push 0xc9fd4e7c
push eax
mov ebx, dword [esp + 8]
push ebx
call ecx
add esp, 0xc
test al, 1
je 0x767100
jmp 0x7673e1
xor edi, edi
mov ebx, dword [esp + 4]
mov dword [esp + 0xc], esi
nop word [eax + eax]
mov ecx, dword [0xa5573c]
add ecx, dword [esp + 0x10]
add ecx, esi
add ecx, dword [0xa55698]
call dword [0xa37360]
push 0x14518467
lea eax, [esp + 0x34]
push eax
mov ebp, dword [esp + 8]
push ebp
mov esi, edi
push edi
mov dword [esp + 0x18], edi
call ecx
add esp, 0x10
mov edi, dword [esp + 0x30]
mov eax, dword [0xa55714]
mov ecx, dword [0xa556d0]
xor ecx, dword [esp + 0xc]
sub ecx, ebx
add ecx, eax
call dword [0xa37360]
push 0xbbe02e9b
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x38]
push eax
push esi
push ebp
push edi
call ecx
add esp, 0x18
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
mov eax, dword [0xa55724]
mov ecx, dword [0xa556b8]
sub ecx, dword [esp + 0xc]
add ecx, eax
mov ebx, dword [esp + 0x14]
add ecx, ebx
add ecx, 0xc2ba
call dword [0xa37360]
push 0x4c663ed2
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x43]
push eax
lea eax, [esp + 0x3b]
push eax
push edi
push esi
call ecx
add esp, 0x18
movzx eax, byte [esp + 0x34]
mov dword [esp + 0x18], eax
movzx eax, byte [esp + 0x3b]
mov dword [esp + 0x20], eax
movzx eax, byte [esp + 0x2f]
mov dword [esp + 0x1c], eax
mov eax, dword [0xa5579c]
mov ecx, dword [0xa55668]
sub ecx, dword [esp + 0xc]
add ecx, eax
add ecx, ebx
add ecx, 0xc2ba
call dword [0xa37360]
push 0xf553230b
lea esi, [esp + 0x3f]
push esi
lea edi, [esp + 0x37]
push edi
push ebp
call ecx
add esp, 0x10
movzx eax, byte [esp + 0x3b]
mov dword [esp + 0x28], eax
movzx ebp, byte [esp + 0x2f]
mov ecx, dword [0xa55730]
add ecx, dword [esp + 0x10]
add ecx, dword [esp + 0xc]
add ecx, dword [0xa55638]
call dword [0xa37360]
push 0x98b45837
push esi
push edi
push ebp
mov ebp, ebx
push dword [esp + 0x30]
push dword [esp + 0x2c]
push dword [esp + 0x40]
call ecx
add esp, 0x1c
movzx esi, byte [esp + 0x2f]
movzx ebx, byte [esp + 0x3b]
mov eax, dword [0xa55708]
mov ecx, dword [0xa556e0]
sub ecx, dword [esp + 0xc]
add ecx, eax
add ecx, ebp
add ecx, 0xc2ba
call dword [0xa37360]
push 0x9fad5cd3
lea eax, [esp + 0x3f]
push eax
push edi
mov edi, dword [esp + 0x28]
push edi
push ebx
push esi
call ecx
add esp, 0x18
movzx esi, byte [esp + 0x2f]
movzx ebx, byte [esp + 0x3b]
mov eax, dword [0xa556f4]
mov ecx, dword [0xa5562c]
xor ecx, dword [esp + 0xc]
sub ecx, dword [esp + 4]
add ecx, eax
call dword [0xa37360]
push 0x235489fd
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x38]
push eax
push dword [esp + 0x14]
push ebx
mov ebx, dword [esp + 0x18]
push esi
push edi
call ecx
add esp, 0x1c
mov edi, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
mov eax, dword [0xa557b0]
mov ecx, dword [0xa55694]
xor ecx, dword [esp + 0xc]
sub ecx, ebx
add ecx, eax
call dword [0xa37360]
push 0x873fc803
lea eax, [esp + 0x34]
push eax
push edi
push esi
mov esi, dword [esp + 0x1c]
call ecx
add esp, 0x10
mov edi, dword [esp + 0x30]
mov eax, dword [0xa557bc]
mov ecx, dword [0xa556a0]
sub ecx, esi
add ecx, eax
add ecx, ebp
add ecx, 0xc2ba
call dword [0xa37360]
push 0xfe361780
push edi
push dword [esp + 8]
call ecx
add esp, 0xc
test al, 1
je 0x767180
mov eax, dword [0xa55774]
mov ecx, dword [0xa556c8]
sub ecx, esi
add ecx, eax
mov eax, dword [esp + 0x14]
add ecx, eax
add ecx, 0xc2ba
call dword [0xa37360]
push 0x3ad67510
mov ebx, dword [esp + 4]
push ebx
call ecx
add esp, 8
mov eax, dword [0xa5571c]
mov ecx, dword [0xa55684]
xor ecx, esi
mov ebp, ebx
mov ebx, dword [esp + 4]
sub ecx, ebx
add ecx, eax
call dword [0xa37360]
push 0xcb9e1c8c
push ebp
call ecx
add esp, 8
test al, 1
lea edi, [esp + 0x2f]
jne 0x767672
nop word cs:[eax + eax]
mov eax, dword [0xa55750]
mov ecx, dword [0xa55644]
or ecx, esi
sub ecx, ebx
add ecx, eax
call dword [0xa37360]
push 0x8bd1ab82
lea eax, [esp + 0x3f]
push eax
push edi
push ebp
call ecx
add esp, 0x10
movzx eax, byte [esp + 0x2f]
movzx ecx, byte [esp + 0x3b]
lock cmpxchg byte [0xa551ea], cl
je 0x76749b
mov ebx, eax
mov eax, dword [0xa5570c]
mov ecx, dword [0xa55610]
sub ecx, esi
add ecx, eax
mov eax, dword [esp + 0x14]
add ecx, eax
add ecx, 0xc2ba
call dword [0xa37360]
movzx eax, bl
push 0x41dfa1b4
push eax
push ebp
call ecx
add esp, 0xc
test al, 1
mov ebx, dword [esp + 4]
je 0x767420
jmp 0x767672
xor ebx, ebx
mov edi, ebp
nop
mov eax, dword [0xa55754]
mov ecx, dword [0xa5568c]
xor ecx, esi
mov ebp, dword [esp + 4]
sub ecx, ebp
add ecx, eax
call dword [0xa37360]
push 0x16457e28
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x38]
push eax
push ebx
mov eax, edi
mov edi, ebx
mov dword [esp + 0x18], ebx
push eax
call ecx
add esp, 0x14
mov eax, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x18], eax
mov eax, dword [0xa55790]
mov ecx, dword [0xa55690]
xor ecx, esi
sub ecx, ebp
add ecx, eax
call dword [0xa37360]
push 0x7c8c31f9
lea ebx, [esp + 0x3f]
push ebx
lea eax, [esp + 0x37]
push eax
push edi
push dword [esp + 0x28]
push dword [esp + 0x30]
call ecx
add esp, 0x18
movzx ebp, byte [esp + 0x3b]
movzx edi, byte [esp + 0x2f]
mov ecx, dword [0xa5577c]
add ecx, dword [esp + 0x10]
add ecx, esi
add ecx, dword [0xa55648]
call dword [0xa37360]
push 0x1730d4de
lea eax, [esp + 0x38]
push eax
push ebx
lea eax, [esp + 0x3b]
push eax
push edi
push ebp
push dword [esp + 0x18]
call ecx
add esp, 0x1c
movzx eax, byte [esp + 0x3b]
mov dword [esp + 0x1c], eax
movzx eax, byte [esp + 0x2f]
mov dword [esp + 0x18], eax
movzx ebx, byte [esp + 0x34]
mov eax, dword [0xa557b4]
mov ecx, dword [0xa556bc]
or ecx, esi
mov ebp, dword [esp + 4]
sub ecx, ebp
add ecx, eax
call dword [0xa37360]
push 0x2482c5d7
lea eax, [esp + 0x34]
push eax
push dword [esp + 0x10]
push ebx
push edi
push dword [esp + 0x2c]
mov edi, dword [esp + 0x18]
push dword [esp + 0x34]
call ecx
add esp, 0x1c
mov ebx, dword [esp + 0x30]
mov eax, dword [0xa5574c]
mov ecx, dword [0xa55674]
xor ecx, esi
sub ecx, ebp
add ecx, eax
call dword [0xa37360]
push 0x57ae8e87
lea eax, [esp + 0x34]
push eax
push ebx
push edi
call ecx
add esp, 0x10
mov ebx, dword [esp + 0x30]
mov eax, dword [0xa55758]
mov ecx, dword [0xa556d4]
or ecx, esi
sub ecx, ebp
add ecx, eax
call dword [0xa37360]
push 0x38424e
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x38]
push eax
push edi
push ebx
call ecx
add esp, 0x14
mov ebp, dword [esp + 0x30]
mov ebx, dword [esp + 0x34]
mov ecx, dword [0xa55794]
add ecx, dword [esp + 0x10]
add ecx, esi
add ecx, dword [0xa55618]
call dword [0xa37360]
push 0x9a0b2e8f
push ebx
mov ebx, ebp
push ebp
call ecx
add esp, 0xc
test al, 1
je 0x7674a0
mov eax, dword [0xa55770]
mov ecx, dword [0xa55640]
sub ecx, esi
add ecx, eax
mov ebp, edi
mov eax, dword [esp + 0x14]
add ecx, eax
add ecx, 0xc2ba
call dword [0xa37360]
push 0x2f2bd25b
push edi
call ecx
add esp, 8
mov ebx, dword [esp + 4]
mov eax, dword [0xa556f0]
mov ecx, dword [0xa5565c]
xor ecx, esi
sub ecx, ebx
add ecx, eax
call dword [0xa37360]
push 0xea12117c
push ebp
call ecx
add esp, 8
test al, 1
mov ebx, ebp
mov ebp, dword [esp + 0x14]
jne 0x76791e
nop word cs:[eax + eax]
mov ecx, dword [0xa55788]
add ecx, dword [esp + 0x10]
add ecx, esi
add ecx, dword [0xa5564c]
call dword [0xa37360]
push 0x5553ebe8
lea eax, [esp + 0x3f]
push eax
lea eax, [esp + 0x37]
push eax
push ebx
call ecx
add esp, 0x10
movzx eax, byte [esp + 0x2f]
movzx ecx, byte [esp + 0x3b]
lock cmpxchg byte [0xa551fd], cl
je 0x76772c
mov edi, ebx
mov ebx, eax
mov eax, dword [0xa55784]
mov ecx, dword [0xa55620]
sub ecx, esi
add ecx, eax
add ecx, ebp
add ecx, 0xc2ba
call dword [0xa37360]
movzx eax, bl
push 0xec23e177
push eax
push edi
call ecx
add esp, 0xc
test al, 1
mov ebx, edi
je 0x7676b0
jmp 0x76791e
xor ebp, ebp
mov dword [esp + 0xc], esi
nop word cs:[eax + eax]
mov dword [esp + 8], ebp
mov eax, dword [0xa55778]
mov ecx, dword [0xa556c0]
mov ebx, dword [esp + 0xc]
xor ecx, ebx
mov edi, dword [esp + 4]
sub ecx, edi
add ecx, eax
call dword [0xa37360]
push 0x9b49d40d
lea eax, [esp + 0x34]
push eax
push dword [esp + 8]
push ebp
call ecx
add esp, 0x10
mov esi, dword [esp + 0x30]
mov eax, dword [0xa55740]
mov ecx, dword [0xa55624]
or ecx, ebx
sub ecx, edi
add ecx, eax
call dword [0xa37360]
push 0x5223a2e5
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x38]
push eax
push esi
push dword [esp + 0x10]
call ecx
add esp, 0x14
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x34]
mov eax, dword [0xa557a4]
mov ecx, dword [0xa556b0]
xor ecx, ebx
sub ecx, edi
add ecx, eax
call dword [0xa37360]
push 0x57367b51
lea edi, [esp + 0x34]
push edi
push ebp
push dword [esp + 0xc]
push esi
call ecx
add esp, 0x14
mov esi, dword [esp + 0x30]
mov ecx, dword [0xa55780]
add ecx, dword [esp + 0x10]
add ecx, ebx
add ecx, dword [0xa556cc]
call dword [0xa37360]
push 0x56b3dd63
push edi
push esi
push dword [esp + 0xc]
call ecx
add esp, 0x10
mov edi, dword [esp + 0x30]
mov eax, dword [0xa55734]
mov ecx, dword [0xa55654]
xor ecx, ebx
sub ecx, dword [esp + 4]
add ecx, eax
call dword [0xa37360]
push 0x88d4fec2
lea eax, [esp + 0x3f]
push eax
lea eax, [esp + 0x37]
push eax
mov esi, dword [esp + 0x14]
push esi
push dword [esp + 0x10]
push edi
call ecx
add esp, 0x18
movzx ebp, byte [esp + 0x3b]
movzx edi, byte [esp + 0x2f]
mov ecx, dword [0xa557c0]
add ecx, dword [esp + 0x10]
add ecx, ebx
add ecx, dword [0xa5561c]
call dword [0xa37360]
push 0x1dcb7906
lea eax, [esp + 0x33]
push eax
push ebp
push dword [esp + 0xc]
call ecx
add esp, 0x10
movzx ebp, byte [esp + 0x2f]
mov eax, dword [0xa556f8]
mov ecx, dword [0xa55628]
sub ecx, ebx
add ecx, eax
mov eax, dword [esp + 0x14]
add ecx, eax
add ecx, 0xc2ba
call dword [0xa37360]
push 0xb7492c33
lea eax, [esp + 0x34]
push eax
push esi
push ebp
push edi
call ecx
add esp, 0x14
mov esi, dword [esp + 0x30]
mov eax, dword [0xa55798]
mov ecx, dword [0xa55660]
or ecx, ebx
sub ecx, dword [esp + 4]
mov edi, dword [esp]
add ecx, eax
call dword [0xa37360]
push 0x9d63955f
lea eax, [esp + 0x34]
push eax
push edi
push esi
push dword [esp + 0x18]
call ecx
add esp, 0x14
mov ebp, dword [esp + 0x30]
test al, 1
je 0x767740
mov ecx, dword [0xa5575c]
add ecx, dword [esp + 0x10]
mov esi, dword [esp + 0xc]
add ecx, esi
add ecx, dword [0xa556a8]
call dword [0xa37360]
push 0xd2450827
push edi
call ecx
add esp, 8
mov ebx, edi
mov eax, dword [0xa5572c]
mov ecx, dword [0xa55678]
or ecx, esi
sub ecx, dword [esp + 4]
add ecx, eax
call dword [0xa37360]
push 0xbcf27278
push ebx
call ecx
add esp, 8
test al, 1
jne 0x767bf6
movzx edi, bl
mov ebp, esi
mov eax, ebx
xor al, 0xc5
movzx esi, al
nop word cs:[eax + eax]
mov ecx, dword [0xa55738]
add ecx, dword [esp + 0x10]
add ecx, ebp
add ecx, dword [0xa556d8]
call dword [0xa37360]
push 0x160c792d
lea eax, [esp + 0x33]
push eax
push esi
push edi
call ecx
add esp, 0x10
test al, 1
jne 0x7679c6
movzx ebx, byte [esp + 0x2f]
mov eax, dword [0xa55748]
mov ecx, dword [0xa5566c]
or ecx, ebp
sub ecx, dword [esp + 4]
add ecx, eax
call dword [0xa37360]
movzx eax, bl
push 0x7485837d
push eax
push dword [esp + 8]
call ecx
add esp, 0xc
test al, 1
je 0x767960
jmp 0x767bf6
xor esi, esi
mov ebx, dword [esp + 4]
nop dword [eax]
mov eax, dword [0xa55720]
mov ecx, dword [0xa5567c]
or ecx, ebp
sub ecx, ebx
add ecx, eax
call dword [0xa37360]
push 0x36e0e6c8
lea eax, [esp + 0x34]
push eax
push esi
push dword [esp + 0xc]
call ecx
add esp, 0x10
mov edi, esi
mov dword [esp + 8], esi
mov esi, dword [esp + 0x30]
mov eax, dword [0xa557a0]
mov ecx, dword [0xa556ac]
xor ecx, ebp
sub ecx, ebx
add ecx, eax
call dword [0xa37360]
push 0xae5f0fc9
lea eax, [esp + 0x3f]
push eax
lea eax, [esp + 0x37]
push eax
push esi
push edi
call ecx
add esp, 0x14
movzx esi, byte [esp + 0x3b]
mov dword [esp + 0x18], esi
movzx eax, byte [esp + 0x2f]
mov dword [esp + 0x1c], eax
mov eax, dword [0xa55728]
mov ecx, dword [0xa556a4]
or ecx, ebp
sub ecx, ebx
add ecx, eax
call dword [0xa37360]
push 0x98d8258
lea eax, [esp + 0x3f]
push eax
lea eax, [esp + 0x37]
push eax
push esi
call ecx
add esp, 0x10
movzx eax, byte [esp + 0x2f]
mov dword [esp + 0x20], eax
movzx edi, byte [esp + 0x3b]
mov eax, dword [0xa55768]
mov ecx, dword [0xa55630]
xor ecx, ebp
sub ecx, ebx
add ecx, eax
call dword [0xa37360]
push 0xb677400c
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x43]
push eax
lea eax, [esp + 0x3b]
push eax
mov esi, dword [esp + 0x10]
push esi
push edi
push dword [esp + 0x38]
call ecx
add esp, 0x1c
movzx edi, byte [esp + 0x34]
movzx ebx, byte [esp + 0x3b]
movzx eax, byte [esp + 0x2f]
mov dword [esp + 0x20], eax
mov eax, dword [0xa55764]
mov ecx, dword [0xa556b4]
sub ecx, ebp
add ecx, eax
mov eax, dword [esp + 0x14]
add ecx, eax
add ecx, 0xc2ba
call dword [0xa37360]
push 0x7af41604
lea eax, [esp + 0x33]
push eax
push esi
push ebx
push edi
call ecx
add esp, 0x14
movzx edi, byte [esp + 0x2f]
mov eax, dword [0xa5578c]
mov ecx, dword [0xa5569c]
xor ecx, ebp
sub ecx, dword [esp + 4]
add ecx, eax
call dword [0xa37360]
push 0xf24c1745
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x37]
push eax
mov esi, dword [esp + 0x14]
push esi
push dword [esp + 0x2c]
push edi
push dword [esp + 0x38]
push dword [esp + 0x34]
call ecx
add esp, 0x20
mov ebx, dword [esp + 0x34]
movzx edi, byte [esp + 0x2f]
mov ecx, dword [0xa55760]
add ecx, dword [esp + 0x10]
add ecx, ebp
add ecx, dword [0xa556dc]
call dword [0xa37360]
push 0x62ede149
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x38]
push eax
push esi
mov esi, dword [esp + 0x10]
push esi
push ebx
mov ebx, dword [esp + 0x1c]
push edi
call ecx
add esp, 0x1c
mov eax, dword [esp + 0x30]
mov dword [esp + 8], eax
mov edi, dword [esp + 0x34]
mov eax, dword [0xa55710]
mov ecx, dword [0xa55634]
xor ecx, ebp
sub ecx, ebx
add ecx, eax
call dword [0xa37360]
push 0xe5dfc043
lea eax, [esp + 0x34]
push eax
push esi
push edi
push dword [esp + 0x18]
call ecx
add esp, 0x14
mov esi, dword [esp + 0x30]
test al, 1
je 0x7679d0
mov eax, dword [0xa557ac]
mov ecx, dword [0xa55650]
sub ecx, ebp
add ecx, eax
mov eax, dword [esp + 0x14]
add ecx, eax
add ecx, 0xc2ba
call dword [0xa37360]
push 0xae8be57a
push dword [esp + 4]
call ecx
add esp, 8
mov eax, dword [esp + 0x24]
mov edi, dword [eax*4 + 0x9d9240]
mov ecx, dword [esp + 0x3c]
xor ecx, esp
call fcn.0091d849
mov eax, edi
add esp, 0x40
pop esi
pop edi
pop ebx
pop ebp
ret