Function at 0x43ba20
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x7966c8
mov eax, dword fs:[0]
push eax
sub esp, 0x50
mov eax, dword [0x831184]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, edx
mov dword [ebp - 0x58], ebx
mov eax, ecx
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x18]
push 0
mov byte [ebp - 0x20], 0
call fcn.004353e0
mov dword [ebp - 4], 1
xorps xmm0, xmm0
mov al, byte [ebx]
mov edi, dword [ebp - 0x24]
movq qword [ebp - 0x38], xmm0
mov byte [ebp - 0x28], al
mov esi, dword [ebp - 0x28]
mov byte [ebp - 0x40], 4
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], edi
mov byte [ebp - 4], 2
xor ecx, ecx
mov dword [ebp - 0x2c], 7
mov dword [ebp - 0x28], 0xc3dfdfc8
mov dword [ebp - 0x24], 0xb0c1dbdf
nop
lea eax, [ecx - 0x57]
xor byte [ebp + ecx - 0x28], al
inc ecx
mov eax, dword [ebp - 0x2c]
cmp ecx, eax
jb 0x43bab0
mov byte [ebp + eax - 0x28], 0
lea ecx, [ebp - 0x20]
lea eax, [ebp - 0x28]
push eax
call fcn.00435a30
mov edx, eax
mov al, byte [edx]
mov byte [edx], 4
mov ecx, dword [edx + 0xc]
mov byte [ebp - 0x40], al
mov eax, dword [edx + 8]
mov dword [ebp - 0x34], ecx
lea ecx, [ebp - 0x40]
mov dword [edx + 8], esi
mov dword [edx + 0xc], edi
mov dword [ebp - 0x38], eax
call fcn.00434940
mov al, byte [ebx + 1]
xorps xmm0, xmm0
mov edi, dword [ebp - 0x24]
movq qword [ebp - 0x38], xmm0
mov byte [ebp - 0x28], al
mov esi, dword [ebp - 0x28]
mov byte [ebp - 0x40], 4
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], edi
mov byte [ebp - 4], 3
xor ecx, ecx
mov eax, 8
mov dword [ebp - 0x2c], 0xc3dfdfc8
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x28], 0xdececdde
mov byte [ebp - 0x24], 0xb1
mov word [ebp - 0x23], cx
mov byte [ebp - 0x21], cl
nop dword [eax]
lea eax, [ecx - 0x57]
xor byte [ebp + ecx - 0x2c], al
inc ecx
mov eax, dword [ebp - 0x30]
cmp ecx, eax
jb 0x43bb40
mov byte [ebp + eax - 0x2c], 0
lea ecx, [ebp - 0x20]
lea eax, [ebp - 0x2c]
push eax
call fcn.00435a30
mov edx, eax
mov al, byte [edx]
mov byte [edx], 4
mov ecx, dword [edx + 0xc]
mov byte [ebp - 0x40], al
mov eax, dword [edx + 8]
mov dword [ebp - 0x34], ecx
lea ecx, [ebp - 0x40]
mov dword [edx + 8], esi
mov dword [edx + 0xc], edi
mov dword [ebp - 0x38], eax
call fcn.00434940
mov al, byte [ebx + 2]
xorps xmm0, xmm0
mov edi, dword [ebp - 0x24]
movq qword [ebp - 0x38], xmm0
mov byte [ebp - 0x28], al
mov esi, dword [ebp - 0x28]
mov byte [ebp - 0x40], 4
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], edi
mov byte [ebp - 4], 4
mov eax, 9
mov dword [ebp - 0x30], eax
xor ecx, ecx
mov dword [ebp - 0x2c], 0xc3dfdfc8
mov dword [ebp - 0x28], 0xd1cac2ce
mov dword [ebp - 0x24], 0xb2df
lea eax, [ecx - 0x57]
xor byte [ebp + ecx - 0x2c], al
inc ecx
mov eax, dword [ebp - 0x30]
cmp ecx, eax
jb 0x43bbc5
mov byte [ebp + eax - 0x2c], 0
lea ecx, [ebp - 0x20]
lea eax, [ebp - 0x2c]
push eax
call fcn.00435a30
mov edx, eax
mov byte [ebp - 4], 1
mov al, byte [edx]
mov byte [edx], 4
mov ecx, dword [edx + 0xc]
mov byte [ebp - 0x40], al
mov eax, dword [edx + 8]
mov dword [ebp - 0x34], ecx
lea ecx, [ebp - 0x40]
mov dword [edx + 8], esi
mov dword [edx + 0xc], edi
mov dword [ebp - 0x38], eax
call fcn.00434940
mov edi, dword [ebx + 4]
mov eax, 0xa
mov dword [ebp - 0x30], eax
xor ecx, ecx
mov dword [ebp - 0x2c], 0xdecadfd8
mov dword [ebp - 0x28], 0xd9dbc0cc
mov dword [ebp - 0x24], 0xb3d7df
nop
lea eax, [ecx - 0x57]
xor byte [ebp + ecx - 0x2c], al
inc ecx
mov eax, dword [ebp - 0x30]
cmp ecx, eax
jb 0x43bc30
mov byte [ebp + eax - 0x2c], 0
lea ecx, [ebp - 0x20]
lea eax, [ebp - 0x2c]
push eax
call fcn.00435a30
movaps xmm0, xmmword [0x7e5b20]
mov esi, eax
mov dword [ebp - 0x54], 0xf
xor ecx, ecx
movups xmmword [ebp - 0x50], xmm0
lea eax, [ecx - 0x57]
xor byte [ebp + ecx - 0x50], al
inc ecx
mov eax, dword [ebp - 0x54]
cmp ecx, eax
jb 0x43bc66
mov byte [ebp + eax - 0x50], 0
xorps xmm0, xmm0
lea eax, [ebp - 0x40]
mov byte [ebp - 0x40], 0
push edi
push eax
movq qword [ebp - 0x38], xmm0
call fcn.00444080
add esp, 8
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 5
push eax
mov ecx, esi
call fcn.00435a30
mov esi, eax
mov byte [ebp - 4], 1
mov al, byte [ebp - 0x40]
mov cl, byte [esi]
mov byte [esi], al
mov eax, dword [ebp - 0x38]
mov edx, dword [esi + 0xc]
mov byte [ebp - 0x40], cl
mov ecx, dword [esi + 8]
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0x40]
mov dword [esi + 0xc], eax
mov dword [ebp - 0x34], edx
call fcn.00434940
mov eax, 9
mov dword [ebp - 0x2c], 0xc9c3c9da
mov dword [ebp - 0x30], eax
xor ecx, ecx
mov dword [ebp - 0x28], 0xd5c3dbc9
mov dword [ebp - 0x24], 0xb2c3
lea eax, [ecx - 0x57]
xor byte [ebp + ecx - 0x2c], al
inc ecx
mov eax, dword [ebp - 0x30]
cmp ecx, eax
jb 0x43bcf1
mov byte [ebp + eax - 0x2c], 0
lea ecx, [ebp - 0x20]
lea eax, [ebp - 0x2c]
push eax
call fcn.00435a30
mov esi, dword [ebp - 0x24]
mov ecx, eax
mov al, byte [ebx + 8]
xorps xmm0, xmm0
movq qword [ebp - 0x38], xmm0
mov byte [ebp - 0x28], al
mov edi, dword [ebp - 0x28]
mov byte [ebp - 0x40], 4
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x34], esi
push 0x7d8514
mov byte [ebp - 4], 6
call fcn.00435a30
mov edx, eax
mov byte [ebp - 4], 1
mov al, byte [edx]
mov byte [edx], 4
mov ecx, dword [edx + 0xc]
mov byte [ebp - 0x40], al
mov eax, dword [edx + 8]
mov dword [ebp - 0x34], ecx
lea ecx, [ebp - 0x40]
mov dword [edx + 8], edi
mov dword [edx + 0xc], esi
mov dword [ebp - 0x38], eax
call fcn.00434940
mov edi, dword [ebx + 0xc]
mov eax, 9
mov dword [ebp - 0x30], eax
xor ecx, ecx
mov dword [ebp - 0x2c], 0xc9c3c9da
mov dword [ebp - 0x28], 0xd5c3dbc9
mov dword [ebp - 0x24], 0xb2c3
nop dword [eax]
lea eax, [ecx - 0x57]
xor byte [ebp + ecx - 0x2c], al
inc ecx
mov eax, dword [ebp - 0x30]
cmp ecx, eax
jb 0x43bd90
mov byte [ebp + eax - 0x2c], 0
lea ecx, [ebp - 0x20]
lea eax, [ebp - 0x2c]
push eax
call fcn.00435a30
mov esi, eax
mov dword [ebp - 0x28], 0xc9dbd3dd
xor eax, eax
mov byte [ebp - 0x24], 0xad
mov edx, 4
mov word [ebp - 0x23], ax
mov dword [ebp - 0x2c], edx
xor ecx, ecx
mov byte [ebp - 0x21], al
lea eax, [ecx - 0x57]
xor byte [ebp + ecx - 0x28], al
inc ecx
mov edx, dword [ebp - 0x2c]
cmp ecx, edx
jb 0x43bdd0
lea eax, [ebp - 0x40]
mov byte [ebp + edx - 0x28], 0
xorps xmm0, xmm0
mov byte [ebp - 0x40], 0
push edi
push eax
movq qword [ebp - 0x38], xmm0
call fcn.00444080
add esp, 8
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 7
push eax
mov ecx, esi
call fcn.00435a30
mov esi, eax
mov byte [ebp - 4], 1
mov al, byte [ebp - 0x40]
mov cl, byte [esi]
mov byte [esi], al
mov eax, dword [ebp - 0x38]
mov edx, dword [esi + 0xc]
mov byte [ebp - 0x40], cl
mov ecx, dword [esi + 8]
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0x40]
mov dword [esi + 0xc], eax
mov dword [ebp - 0x34], edx
call fcn.00434940
mov eax, 9
mov dword [ebp - 0x2c], 0xc9c3c9da
mov dword [ebp - 0x30], eax
xor ecx, ecx
mov dword [ebp - 0x28], 0xd5c3dbc9
mov dword [ebp - 0x24], 0xb2c3
nop dword [eax + eax]
lea eax, [ecx - 0x57]
xor byte [ebp + ecx - 0x2c], al
inc ecx
mov eax, dword [ebp - 0x30]
cmp ecx, eax
jb 0x43be60
mov byte [ebp + eax - 0x2c], 0
lea ecx, [ebp - 0x20]
lea eax, [ebp - 0x2c]
push eax
call fcn.00435a30
mov esi, eax
mov dword [ebp - 0x28], 0xdedec5c1
xor eax, eax
mov byte [ebp - 0x24], 0xad
mov edx, 4
mov word [ebp - 0x23], ax
mov dword [ebp - 0x2c], edx
xor ecx, ecx
mov byte [ebp - 0x21], al
lea eax, [ecx - 0x57]
xor byte [ebp + ecx - 0x28], al
inc ecx
mov edx, dword [ebp - 0x2c]
cmp ecx, edx
jb 0x43bea0
mov byte [ebp + edx - 0x28], 0
lea eax, [ebp - 0x40]
push dword [ebx + 0x10]
xorps xmm0, xmm0
mov byte [ebp - 0x40], 0
push eax
movq qword [ebp - 0x38], xmm0
call fcn.00444080
add esp, 8
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 8
push eax
mov ecx, esi
call fcn.00435a30
mov esi, eax
mov byte [ebp - 4], 1
mov al, byte [ebp - 0x40]
mov cl, byte [esi]
mov byte [esi], al
mov eax, dword [ebp - 0x38]
mov edx, dword [esi + 0xc]
mov byte [ebp - 0x40], cl
mov ecx, dword [esi + 8]
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0x40]
mov dword [esi + 0xc], eax
mov dword [ebp - 0x34], edx
call fcn.00434940
mov eax, 9
mov dword [ebp - 0x2c], 0xc9c3c9da
mov dword [ebp - 0x30], eax
xor ecx, ecx
mov dword [ebp - 0x28], 0xd5c3dbc9
mov dword [ebp - 0x24], 0xb2c3
nop dword [eax]
lea eax, [ecx - 0x57]
xor byte [ebp + ecx - 0x2c], al
inc ecx
mov eax, dword [ebp - 0x30]
cmp ecx, eax
jb 0x43bf30
mov byte [ebp + eax - 0x2c], 0
lea ecx, [ebp - 0x20]
lea eax, [ebp - 0x2c]
push eax
call fcn.00435a30
mov edx, 6
mov dword [ebp - 0x28], 0xd9c5c3c4
mov esi, eax
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x24], 0xafcbd9
xor ecx, ecx
nop word [eax + eax]
lea eax, [ecx - 0x57]
xor byte [ebp + ecx - 0x28], al
inc ecx
mov edx, dword [ebp - 0x2c]
cmp ecx, edx
jb 0x43bf70
mov byte [ebp + edx - 0x28], 0
lea eax, [ebp - 0x40]
push dword [ebx + 0x14]
xorps xmm0, xmm0
mov byte [ebp - 0x40], 0
push eax
movq qword [ebp - 0x38], xmm0
call fcn.00444080
add esp, 8
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 9
push eax
mov ecx, esi
call fcn.00435a30
mov esi, eax
mov byte [ebp - 4], 1
mov al, byte [ebp - 0x40]
mov cl, byte [esi]
mov byte [esi], al
mov eax, dword [ebp - 0x38]
mov edx, dword [esi + 0xc]
mov byte [ebp - 0x40], cl
mov ecx, dword [esi + 8]
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0x40]
mov dword [esi + 0xc], eax
mov dword [ebp - 0x34], edx
call fcn.00434940
mov eax, 9
mov dword [ebp - 0x2c], 0xc9c3c9da
mov dword [ebp - 0x30], eax
xor ecx, ecx
mov dword [ebp - 0x28], 0xd5c3dbc9
mov dword [ebp - 0x24], 0xb2c3
nop dword [eax]
lea eax, [ecx - 0x57]
xor byte [ebp + ecx - 0x2c], al
inc ecx
mov eax, dword [ebp - 0x30]
cmp ecx, eax
jb 0x43c000
mov byte [ebp + eax - 0x2c], 0
lea ecx, [ebp - 0x20]
lea eax, [ebp - 0x2c]
push eax
call fcn.00435a30
mov edx, 0xa
mov dword [ebp - 0x2c], 0xdedec5c1
mov esi, eax
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x28], 0xd9ddcbfd
xor ecx, ecx
mov dword [ebp - 0x24], 0xb3d6de
lea eax, [ecx - 0x57]
xor byte [ebp + ecx - 0x2c], al
inc ecx
mov edx, dword [ebp - 0x30]
cmp ecx, edx
jb 0x43c041
mov byte [ebp + edx - 0x2c], 0
lea eax, [ebp - 0x40]
push dword [ebx + 0x18]
xorps xmm0, xmm0
mov byte [ebp - 0x40], 0
push eax
movq qword [ebp - 0x38], xmm0
call fcn.00444080
add esp, 8
lea eax, [ebp - 0x2c]
mov byte [ebp - 4], 0xa
push eax
mov ecx, esi
call fcn.00435a30
mov esi, eax
mov byte [ebp - 4], 1
mov al, byte [ebp - 0x40]
mov cl, byte [esi]
mov byte [esi], al
mov eax, dword [ebp - 0x38]
mov edx, dword [esi + 0xc]
mov byte [ebp - 0x40], cl
mov ecx, dword [esi + 8]
mov dword [esi + 8], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], ecx
lea ecx, [ebp - 0x40]
mov dword [esi + 0xc], eax
mov dword [ebp - 0x34], edx
call fcn.00434940
mov eax, 9
mov dword [ebp - 0x2c], 0xc9c3c9da
mov dword [ebp - 0x30], eax
xor ecx, ecx
mov dword [ebp - 0x28], 0xd5c3dbc9
mov dword [ebp - 0x24], 0xb2c3
nop
lea eax, [ecx - 0x57]
xor byte [ebp + ecx - 0x2c], al
inc ecx
mov eax, dword [ebp - 0x30]
cmp ecx, eax
jb 0x43c0d0
mov byte [ebp + eax - 0x2c], 0
lea ecx, [ebp - 0x20]
lea eax, [ebp - 0x2c]
push eax
call fcn.00435a30
mov edx, 9
mov dword [ebp - 0x3c], 0xc3dfdfc8
mov ebx, eax
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x38], 0xd1cac2ce
xor ecx, ecx
mov dword [ebp - 0x34], 0xb2df
lea eax, [ecx - 0x57]
xor byte [ebp + ecx - 0x3c], al
inc ecx
mov edx, dword [ebp - 0x40]
cmp ecx, edx
jb 0x43c111
mov eax, dword [ebp - 0x58]
xorps xmm0, xmm0
mov esi, dword [ebp - 0x24]
mov byte [ebp + edx - 0x3c], 0
movq qword [ebp - 0x48], xmm0
mov al, byte [eax + 9]
mov byte [ebp - 0x28], al
mov edi, dword [ebp - 0x28]
mov byte [ebp - 0x50], 4
mov dword [ebp - 0x48], edi
mov dword [ebp - 0x44], esi
lea eax, [ebp - 0x3c]
mov byte [ebp - 4], 0xb
push eax
mov ecx, ebx
call fcn.00435a30
mov edx, eax
mov byte [ebp - 4], 1
mov al, byte [edx]
mov byte [edx], 4
mov ecx, dword [edx + 0xc]
mov byte [ebp - 0x50], al
mov eax, dword [edx + 8]
mov dword [ebp - 0x44], ecx
lea ecx, [ebp - 0x50]
mov dword [edx + 8], edi
mov dword [edx + 0xc], esi
mov dword [ebp - 0x48], eax
call fcn.00434940
mov esi, dword [ebp - 0x5c]
lea ecx, [ebp - 0x20]
push 0
push 0
push 0x20
push 0xffffffffffffffff
push esi
call fcn.00430bd0
lea ecx, [ebp - 0x20]
call fcn.00434940
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0076eb7e
mov esp, ebp
pop ebp
ret