Function at 0x4332ed
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x178
mov eax, dword [ebp + 8]
movaps xmm0, xmmword [0x47c2a0]
push ebx
push esi
movzx ebx, byte [eax + 0xe]
mov esi, ecx
movzx ecx, byte [eax + 0xd]
mov dword [ebp + 8], ecx
movzx ecx, byte [eax + 0xc]
mov dword [ebp - 4], ecx
movzx ecx, byte [eax + 0xb]
mov dword [ebp - 0x2c], ecx
movzx ecx, byte [eax + 0xa]
mov dword [ebp - 0x30], ecx
movzx ecx, byte [eax + 9]
mov dword [ebp - 0x34], ecx
movzx ecx, byte [eax + 8]
mov dword [ebp - 0x38], ecx
movzx ecx, word [eax + 6]
movups xmmword [ebp - 0x78], xmm0
mov dword [ebp - 0x3c], ecx
movaps xmm0, xmmword [0x47c330]
movzx ecx, word [eax + 4]
push edi
mov edi, edx
mov dword [ebp - 0x40], ecx
movzx edx, byte [eax + 0xf]
xor ecx, ecx
mov eax, dword [eax]
movups xmmword [ebp - 0x68], xmm0
mov dword [ebp - 0x44], eax
movaps xmm0, xmmword [0x47c320]
movups xmmword [ebp - 0x58], xmm0
mov dword [ebp - 0x48], 0x95b0da
mov al, byte [ebp - 0x78]
not al
xor byte [ebp + ecx - 0x77], al
inc ecx
cmp ecx, 0x32
jb 0x43336f
push edx
push ebx
push dword [ebp + 8]
lea eax, [ebp - 0x77]
mov byte [ebp - 0x45], 0
push dword [ebp - 4]
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
push dword [ebp - 0x34]
push dword [ebp - 0x38]
push dword [ebp - 0x3c]
push dword [ebp - 0x40]
push dword [ebp - 0x44]
push eax
lea eax, [ebp - 0x178]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x34
push edi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
push eax
mov edx, edi
mov ecx, esi
call fcn.00433d28
movaps xmm0, xmmword [0x47c370]
xor ebx, ebx
pop ecx
movups xmmword [ebp - 0x26], xmm0
mov byte [ebp - 0x16], bl
mov ecx, ebx
mov al, byte [ebp - 0x26]
not al
xor byte [ebp + ecx - 0x25], al
inc ecx
cmp ecx, 0xf
jb 0x4333d7
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenA]
lea eax, [ebp - 0x25]
push eax
mov byte [ebp - 0x16], bl
call edi
movaps xmm0, xmmword [0x47c370]
mov edx, eax
movups xmmword [ebp - 0x15], xmm0
mov byte [ebp - 5], bl
mov ecx, ebx
mov al, byte [ebp - 0x15]
not al
xor byte [ebp + ecx - 0x14], al
inc ecx
cmp ecx, 0xf
jb 0x433407
push edx
lea edx, [ebp - 0x14]
mov byte [ebp - 5], bl
mov ecx, esi
call fcn.00433de5
pop ecx
lea eax, [ebp - 0x178]
push eax
call edi
push eax
lea edx, [ebp - 0x178]
mov ecx, esi
call fcn.00433de5
pop ecx
push 0x38
pop ebx
mov cl, bl
mov dword [ebp - 0xd], 0x8689e7e5
mov byte [ebp - 0xe], cl
xor eax, eax
mov dword [ebp - 9], 0xe5fa828a
mov byte [ebp - 5], 0
not cl
xor byte [ebp + eax - 0xd], cl
inc eax
cmp eax, 8
jae 0x43346a
mov cl, byte [ebp - 0xe]
jmp 0x433459
lea eax, [ebp - 0xd]
mov byte [ebp - 5], 0
push eax
call edi
mov ecx, eax
mov byte [ebp - 0x1f], bl
mov dword [ebp - 0x1e], 0x8689e7e5
xor eax, eax
mov dword [ebp - 0x1a], 0xe5fa828a
mov byte [ebp - 0x16], 0
not bl
xor byte [ebp + eax - 0x1e], bl
inc eax
cmp eax, 8
jae 0x43349e
mov bl, byte [ebp - 0x1f]
jmp 0x43348d
push ecx
lea edx, [ebp - 0x1e]
mov byte [ebp - 0x16], 0
mov ecx, esi
call fcn.00433de5
pop ecx
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov edx, dword [ebp + 0xc]
mov ecx, esi
push eax
call fcn.00433d28
pop ecx
push 0x30
pop ebx
mov cl, bl
mov word [ebp + 9], 0xc5ed
mov byte [ebp + 8], cl
xor eax, eax
mov byte [ebp + 0xb], 0
not cl
xor byte [ebp + eax + 9], cl
inc eax
cmp eax, 2
jae 0x4334e8
mov cl, byte [ebp + 8]
jmp 0x4334d7
lea eax, [ebp + 9]
mov byte [ebp + 0xb], 0
push eax
call edi
mov byte [ebp - 4], bl
xor ecx, ecx
mov word [ebp - 3], 0xc5ed
mov byte [ebp - 1], 0
not bl
xor byte [ebp + ecx - 3], bl
inc ecx
cmp ecx, 2
jae 0x433512
mov bl, byte [ebp - 4]
jmp 0x433501
push eax
lea edx, [ebp - 3]
mov byte [ebp - 1], 0
mov ecx, esi
call fcn.00433de5
cmp dword [ebp + 0x18], 0
mov edx, dword [ebp + 0x10]
pop ecx
mov ecx, esi
je 0x43353a
mov eax, dword [ebp + 0x14]
shr eax, 1
push eax
call fcn.00433d28
jmp 0x433542
push dword [ebp + 0x14]
call fcn.00433de5
pop ecx
pop edi
pop esi
pop ebx
leave
ret