Function at 0x433d76
Capabilities:
Encode data using xor

Disassembly:
mov eax, 0x46a23f
call fcn.00467fd0
sub esp, 0x278
movaps xmm0, xmmword [0x47df50]
push ebx
push esi
push edi
xor ebx, ebx
mov dword [ebp - 0x2c], 0xe9a7e5e4
mov edi, ecx
mov dword [ebp - 0x28], 0xefe2e9eb
mov esi, edx
mov dword [ebp - 0x58], edi
movups xmmword [ebp - 0x3c], xmm0
mov byte [ebp - 0x24], bl
mov edx, ebx
mov cl, byte [ebp - 0x3c]
not cl
xor byte [ebp + edx - 0x3b], cl
inc edx
cmp edx, 0x17
jb 0x433db0
push ebx
push ebx
push ebx
push ebx
push ebx
call dword [0x46b31c]
cmp dword [esi + 0x14], 0x10
mov dword [ebp - 0x1c], eax
jb 0x433dd5
mov esi, dword [esi]
lea eax, [ebp - 0x284]
push eax
lea eax, [ebp - 0x1bc]
push eax
lea eax, [ebp - 0xac]
push eax
push 0x47c7a4
push esi
call fcn.004333dd
add esp, 0x14
mov dword [ebp - 0x18], 0xc3c3df48
mov cl, 0x48
mov word [ebp - 0x14], 0xc4c7
mov byte [ebp - 0x12], bl
mov edx, ebx
not cl
xor byte [ebp + edx - 0x17], cl
inc edx
cmp edx, 5
jae 0x433e1d
mov cl, byte [ebp - 0x18]
jmp 0x433e0c
lea eax, [ebp - 0x17]
mov byte [ebp - 0x12], bl
push eax
lea eax, [ebp - 0xac]
push eax
call fcn.0044bac0
pop ecx
pop ecx
xor ecx, ecx
movzx ebx, bl
inc ecx
lea edx, [ebp - 0x284]
test eax, eax
cmove ebx, ecx
mov ecx, 0x47c794
mov dword [ebp - 0x18], ebx
call fcn.0043500b
mov esi, dword [ebp - 0x1c]
mov dword [ebp - 0x10], eax
push 0xf
pop eax
test esi, esi
je 0x4340f3
test bl, bl
je 0x433ebb
mov dword [ebp - 0x5c], eax
lea ecx, [ebp - 0x70]
lea eax, [ebp - 0x1bc]
xor ebx, ebx
push eax
mov dword [ebp - 0x60], ebx
mov byte [ebp - 0x70], bl
call fcn.0040b36d
lea edx, [ebp - 0x70]
mov dword [ebp - 4], ebx
lea ecx, [ebp - 0xc4]
call fcn.0043851c
cmp dword [eax + 0x14], 8
jb 0x433e98
mov eax, dword [eax]
push ebx
push 0x1bb
push eax
push esi
call dword [0x46b30c]
mov ebx, eax
lea ecx, [ebp - 0xc4]
mov dword [ebp - 0x20], ebx
call fcn.0040afdf
lea ecx, [ebp - 0x70]
jmp 0x433f1c
mov dword [ebp - 0x74], eax
lea ecx, [ebp - 0x88]
lea eax, [ebp - 0x1bc]
xor ebx, ebx
push eax
mov dword [ebp - 0x78], ebx
mov byte [ebp - 0x88], bl
call fcn.0040b36d
lea edx, [ebp - 0x88]
mov dword [ebp - 4], 1
lea ecx, [ebp - 0xdc]
call fcn.0043851c
cmp dword [eax + 0x14], 8
jb 0x433efb
mov eax, dword [eax]
push ebx
push 0x50
push eax
push esi
call dword [0x46b30c]
lea ecx, [ebp - 0xdc]
mov dword [ebp - 0x20], eax
mov ebx, eax
call fcn.0040afdf
lea ecx, [ebp - 0x88]
or dword [ebp - 4], 0xffffffff
call fcn.0040b1fc
test ebx, ebx
je 0x4340f3
cmp byte [ebp - 0x18], 0
push dword [ebp - 0x10]
je 0x433fa4
and dword [ebp - 0x90], 0
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x8c], 0xf
mov byte [ebp - 0xa0], 0
call fcn.0040b36d
push 2
pop eax
lea edx, [ebp - 0xa0]
mov dword [ebp - 4], eax
lea ecx, [ebp - 0xf4]
call fcn.0043851c
cmp dword [eax + 0x14], 8
jb 0x433f78
mov eax, dword [eax]
push 0x800100
xor ecx, ecx
push ecx
push ecx
push ecx
push eax
push 0x47c824
push ebx
call dword [0x46b320]
lea ecx, [ebp - 0xf4]
mov ebx, eax
call fcn.0040afdf
lea ecx, [ebp - 0xa0]
jmp 0x433ff9
and dword [ebp - 0x44], 0
lea ecx, [ebp - 0x54]
mov dword [ebp - 0x40], 0xf
mov byte [ebp - 0x54], 0
call fcn.0040b36d
lea edx, [ebp - 0x54]
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x3c]
call fcn.0043851c
cmp dword [eax + 0x14], 8
jb 0x433fd5
mov eax, dword [eax]
push 0x100
xor ecx, ecx
push ecx
push ecx
push ecx
push eax
push 0x47c824
push ebx
call dword [0x46b320]
lea ecx, [ebp - 0x3c]
mov ebx, eax
call fcn.0040afdf
lea ecx, [ebp - 0x54]
or dword [ebp - 4], 0xffffffff
call fcn.0040b1fc
test ebx, ebx
je 0x4340ea
push 0x477d1b
call fcn.0044bb80
mov esi, eax
mov dword [esp], 0x477d1b
call fcn.0044bb80
pop ecx
push 0
push esi
push eax
push 0x477d1b
push 0xffffffffffffffff
push 0x47c7c0
push ebx
call dword [0x46b308]
test eax, eax
je 0x4340e0
push 0
push ebx
call dword [0x46b324]
test eax, eax
je 0x4340e0
xor ecx, ecx
lea eax, [ebp - 0x10]
push ecx
push eax
push ecx
push ecx
push 0x16
push ebx
mov dword [ebp - 0x10], ecx
call dword [0x46b318]
test eax, eax
jne 0x434077
call dword [0x46b0a8]
cmp eax, 0x7a
jne 0x4340e0
mov eax, dword [ebp - 0x10]
xor ecx, ecx
push 2
pop edx
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0044037e
mov esi, eax
pop ecx
test esi, esi
je 0x4340e0
mov ecx, dword [ebp - 0x10]
add ecx, ecx
push ecx
push 0
push esi
call fcn.00442100
add esp, 0xc
lea eax, [ebp - 0x10]
push 0
push eax
push esi
push 0
push 0x16
push ebx
call dword [0x46b318]
test eax, eax
je 0x4340e0
push esi
lea ecx, [ebp - 0x54]
call fcn.0040a680
lea edx, [ebp - 0x54]
mov dword [ebp - 4], 4
mov ecx, edi
call fcn.00435087
lea ecx, [ebp - 0x54]
call fcn.0040afdf
jmp 0x434123
push ebx
call dword [0x46b304]
mov esi, dword [ebp - 0x1c]
push dword [ebp - 0x20]
call dword [0x46b304]
push esi
call dword [0x46b304]
xor ebx, ebx
push ebx
push ebx
call dword [0x46b198]
push eax
call dword [0x46b208]
mov dword [edi + 0x10], ebx
mov ecx, edi
mov dword [edi + 0x14], 0xf
push 0x477d1b
mov byte [edi], bl
call fcn.0040b36d
mov ecx, dword [ebp - 0xc]
mov eax, edi
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
leave
ret