Function at 0x432d70
Capabilities:
Encode data using xor

Disassembly:
sub esp, 0x38
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x3c]
push ebx
mov dword [esp + 0x10], eax
push ebp
mov ebp, edx
mov dword [esp + 0x18], ecx
push esi
push edi
movzx eax, byte [ebp + 7]
cdq
mov ebx, eax
mov esi, edx
movzx eax, byte [ebp + 6]
shld esi, ebx, 8
cdq
or esi, edx
shl ebx, 8
or ebx, eax
movzx eax, byte [ebp + 5]
shld esi, ebx, 8
cdq
or esi, edx
shl ebx, 8
or ebx, eax
movzx eax, byte [ebp + 4]
shld esi, ebx, 8
cdq
or esi, edx
shl ebx, 8
or ebx, eax
movzx eax, byte [ebp + 3]
shld esi, ebx, 8
cdq
or esi, edx
shl ebx, 8
or ebx, eax
movzx eax, byte [ebp + 2]
cdq
shld esi, ebx, 8
or esi, edx
shl ebx, 8
or ebx, eax
movzx eax, byte [ebp + 1]
cdq
shld esi, ebx, 8
or esi, edx
shl ebx, 8
or ebx, eax
movzx eax, byte [ebp]
cdq
shld esi, ebx, 8
or esi, edx
shl ebx, 8
or ebx, eax
mov dword [esp + 0x10], esi
movzx eax, byte [ebp + 0xf]
cdq
mov edi, eax
mov ecx, edx
movzx eax, byte [ebp + 0xe]
shld ecx, edi, 8
cdq
shl edi, 8
or ecx, edx
or edi, eax
movzx eax, byte [ebp + 0xd]
shld ecx, edi, 8
cdq
shl edi, 8
or ecx, edx
or edi, eax
movzx eax, byte [ebp + 0xc]
shld ecx, edi, 8
cdq
shl edi, 8
or ecx, edx
or edi, eax
movzx eax, byte [ebp + 0xb]
shld ecx, edi, 8
cdq
shl edi, 8
or ecx, edx
or edi, eax
movzx eax, byte [ebp + 0xa]
shld ecx, edi, 8
cdq
or ecx, edx
shl edi, 8
or edi, eax
movzx eax, byte [ebp + 9]
shld ecx, edi, 8
cdq
or ecx, edx
shl edi, 8
or edi, eax
movzx eax, byte [ebp + 8]
cdq
shld ecx, edi, 8
or ecx, edx
shl edi, 8
or edi, eax
mov dword [esp + 0x18], ecx
mov edx, ebx
shrd edx, esi, 7
shr esi, 7
xor edx, ebx
xor esi, dword [esp + 0x10]
and edx, 0xaa00aa
and esi, 0xaa00aa
mov eax, edx
mov ecx, esi
shld ecx, eax, 7
xor ecx, esi
shl eax, 7
xor dword [esp + 0x10], ecx
xor eax, edx
mov esi, dword [esp + 0x18]
xor ebx, eax
mov edx, edi
shrd edx, esi, 7
shr esi, 7
xor edx, edi
xor esi, dword [esp + 0x18]
and edx, 0xaa00aa
and esi, 0xaa00aa
mov eax, edx
mov ecx, esi
shld ecx, eax, 7
xor ecx, esi
shl eax, 7
mov esi, dword [esp + 0x10]
xor eax, edx
xor dword [esp + 0x18], ecx
mov edx, ebx
shrd edx, esi, 0xe
xor edi, eax
shr esi, 0xe
xor edx, ebx
xor esi, dword [esp + 0x10]
and edx, 0xcccc
and esi, 0xcccc
mov eax, edx
mov ecx, esi
shld ecx, eax, 0xe
xor ecx, esi
shl eax, 0xe
mov esi, dword [esp + 0x18]
xor eax, edx
xor dword [esp + 0x10], ecx
mov edx, edi
shrd edx, esi, 0xe
xor ebx, eax
shr esi, 0xe
xor edx, edi
xor esi, dword [esp + 0x18]
and edx, 0xcccc
and esi, 0xcccc
mov eax, edx
mov ecx, esi
shld ecx, eax, 0xe
shl eax, 0xe
xor eax, edx
xor edi, eax
xor ecx, esi
mov eax, dword [esp + 0x10]
mov edx, ebx
shrd edx, eax, 0x1c
mov esi, dword [esp + 0x18]
add ebp, 0x10
xor esi, ecx
mov dword [esp + 0x14], ebp
xor edx, ebx
xor ecx, ecx
and edx, 0xf0f0f0f0
mov eax, edx
shld ecx, eax, 0x1c
shl eax, 0x1c
xor ecx, 0
xor dword [esp + 0x10], ecx
xor eax, edx
xor ebx, eax
mov edx, edi
mov eax, esi
xor ecx, ecx
shrd edx, eax, 0x1c
xor edx, edi
and edx, 0xf0f0f0f0
mov eax, edx
shld ecx, eax, 0x1c
shl eax, 0x1c
xor ecx, 0
xor eax, edx
xor esi, ecx
xor edi, eax
mov dword [esp + 0x18], esi
mov esi, dword [esp + 0x10]
mov edx, ebx
shrd edx, esi, 8
xor edx, edi
shr esi, 8
xor esi, dword [esp + 0x18]
and edx, 0xff00ff
and esi, 0xff00ff
mov eax, edx
mov ecx, esi
xor edi, edx
shld ecx, eax, 8
xor dword [esp + 0x10], ecx
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x18]
shl eax, 8
xor ecx, esi
xor ebx, eax
mov esi, dword [esp + 0x14]
movzx eax, bx
mov dword [esp + 0x24], eax
mov eax, edx
shrd ebx, eax, 0x10
movzx eax, bx
mov dword [esp + 0x2c], eax
movzx eax, dx
mov dword [esp + 0x34], eax
movzx eax, di
mov dword [esp + 0x28], eax
mov eax, ecx
shrd edi, eax, 0x10
shr edx, 0x10
movzx eax, di
mov dword [esp + 0x30], eax
movzx eax, cx
mov dword [esp + 0x38], eax
movzx eax, byte [ebp + 7]
shr ecx, 0x10
mov dword [esp + 0x10], edx
cdq
mov dword [esp + 0x18], ecx
mov ebp, eax
movzx eax, byte [esi + 6]
mov ecx, edx
shld ecx, ebp, 8
cdq
shl ebp, 8
or ebp, eax
movzx eax, byte [esi + 5]
or ecx, edx
shld ecx, ebp, 8
cdq
or ecx, edx
shl ebp, 8
or ebp, eax
movzx eax, byte [esi + 4]
cdq
shld ecx, ebp, 8
or ecx, edx
shl ebp, 8
or ebp, eax
movzx eax, byte [esi + 3]
cdq
shld ecx, ebp, 8
or ecx, edx
shl ebp, 8
or ebp, eax
movzx eax, byte [esi + 2]
cdq
shld ecx, ebp, 8
or ecx, edx
shl ebp, 8
or ebp, eax
movzx eax, byte [esi + 1]
cdq
shld ecx, ebp, 8
or ecx, edx
shl ebp, 8
or ebp, eax
movzx eax, byte [esi]
cdq
shld ecx, ebp, 8
or ecx, edx
shl ebp, 8
or ebp, eax
mov dword [esp + 0x14], ecx
movzx eax, byte [esi + 0xf]
cdq
mov edi, eax
mov ebx, edx
movzx eax, byte [esi + 0xe]
shld ebx, edi, 8
cdq
shl edi, 8
or ebx, edx
or edi, eax
movzx eax, byte [esi + 0xd]
shld ebx, edi, 8
cdq
shl edi, 8
or ebx, edx
or edi, eax
movzx eax, byte [esi + 0xc]
shld ebx, edi, 8
cdq
shl edi, 8
or ebx, edx
or edi, eax
movzx eax, byte [esi + 0xb]
shld ebx, edi, 8
cdq
shl edi, 8
or ebx, edx
or edi, eax
movzx eax, byte [esi + 0xa]
shld ebx, edi, 8
cdq
shl edi, 8
or ebx, edx
or edi, eax
movzx eax, byte [esi + 9]
shld ebx, edi, 8
cdq
shl edi, 8
or ebx, edx
or edi, eax
movzx eax, byte [esi + 8]
shld ebx, edi, 8
shl edi, 8
cdq
mov esi, ecx
or ebx, edx
or edi, eax
mov edx, ebp
shrd edx, esi, 7
shr esi, 7
xor edx, ebp
xor esi, ecx
and edx, 0xaa00aa
and esi, 0xaa00aa
mov eax, edx
mov ecx, esi
shld ecx, eax, 7
xor ecx, esi
shl eax, 7
xor dword [esp + 0x14], ecx
xor eax, edx
xor ebp, eax
mov edx, edi
mov esi, ebx
shrd edx, esi, 7
shr esi, 7
xor edx, edi
xor esi, ebx
and edx, 0xaa00aa
and esi, 0xaa00aa
mov eax, edx
mov ecx, esi
shld ecx, eax, 7
xor ecx, esi
shl eax, 7
mov esi, dword [esp + 0x14]
xor eax, edx
xor edi, eax
xor ebx, ecx
mov edx, ebp
shrd edx, esi, 0xe
xor edx, ebp
shr esi, 0xe
xor esi, dword [esp + 0x14]
and edx, 0xcccc
and esi, 0xcccc
mov eax, edx
mov ecx, esi
shld ecx, eax, 0xe
shl eax, 0xe
xor ecx, esi
xor dword [esp + 0x14], ecx
xor eax, edx
xor ebp, eax
mov edx, edi
mov esi, ebx
shrd edx, esi, 0xe
xor edx, edi
shr esi, 0xe
and edx, 0xcccc
xor esi, ebx
and esi, 0xcccc
mov eax, edx
mov ecx, esi
shld ecx, eax, 0xe
shl eax, 0xe
xor ecx, esi
mov esi, dword [esp + 0x14]
xor eax, edx
xor edi, eax
mov edx, ebp
mov eax, esi
xor ebx, ecx
shrd edx, eax, 0x1c
xor ecx, ecx
xor edx, ebp
and edx, 0xf0f0f0f0
mov eax, edx
shld ecx, eax, 0x1c
shl eax, 0x1c
xor ecx, 0
xor eax, edx
xor ebp, eax
xor esi, ecx
mov eax, ebx
mov dword [esp + 0x14], esi
mov edx, edi
xor ecx, ecx
shrd edx, eax, 0x1c
xor edx, edi
and edx, 0xf0f0f0f0
mov eax, edx
shld ecx, eax, 0x1c
shl eax, 0x1c
xor ecx, 0
xor eax, edx
xor ebx, ecx
xor edi, eax
mov edx, ebp
shrd edx, esi, 8
shr esi, 8
xor edx, edi
xor esi, ebx
and edx, 0xff00ff
and esi, 0xff00ff
mov eax, edx
mov ecx, esi
xor edi, edx
shld ecx, eax, 8
xor ebx, esi
lea edx, [esp + 0x24]
xor dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x14]
shl eax, 8
xor ebp, eax
mov eax, ebp
shl eax, 0x10
or dword [esp + 0x24], eax
mov eax, ecx
shrd ebp, eax, 0x10
mov eax, ecx
and ecx, 0xffff0000
or ecx, dword [esp + 0x10]
shl eax, 0x10
or dword [esp + 0x34], eax
mov eax, edi
shl eax, 0x10
or dword [esp + 0x28], eax
mov eax, ebx
shrd edi, eax, 0x10
mov eax, ebx
mov dword [esp + 0x3c], ecx
and ebx, 0xffff0000
shl eax, 0x10
or ebx, dword [esp + 0x18]
mov ecx, edx
or dword [esp + 0x38], eax
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x1c]
shl ebp, 0x10
or dword [esp + 0x2c], ebp
shl edi, 0x10
mov esi, dword [ebx + 0x2d0]
or dword [esp + 0x30], edi
shl esi, 5
add esi, ebx
push esi
call fcn.00430dd0
mov eax, dword [ebx + 0x2d0]
add esp, 4
sub esi, 0x20
xor edi, edi
sub eax, 1
je 0x433310
lea edx, [esp + 0x24]
push esi
mov ecx, edx
call fcn.00430150
mov eax, dword [ebx + 0x2d0]
inc edi
dec eax
add esp, 4
sub esi, 0x20
cmp edi, eax
jb 0x4332f2
mov edi, dword [esp + 0x24]
xor ecx, ecx
xor edi, dword [esi]
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x24], edi
xor eax, dword [esi + 4]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x2c]
xor eax, dword [esi + 8]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x30]
xor eax, dword [esi + 0xc]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x34]
xor eax, dword [esi + 0x10]
mov dword [esp + 0x34], eax
xor edx, dword [esi + 0x14]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x38], edx
xor eax, dword [esi + 0x18]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x40]
xor eax, dword [esi + 0x1c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x18], ecx
add eax, 0xa
mov esi, ecx
xor ebp, ebp
shl esi, 4
mov ecx, esi
shr edx, cl
movzx ebx, dx
mov edx, dword [esp + 0x1c]
shr edx, cl
xor ecx, ecx
shld ecx, edx, 0x10
or ebp, ecx
shl edx, 0x10
or ebx, edx
mov ecx, esi
mov edx, dword [esp + 0x30]
shr edx, cl
shld ebp, ebx, 0x10
movzx ecx, dx
mov edx, dword [esp + 0x28]
shl ebx, 0x10
or ebx, ecx
mov ecx, esi
shr edx, cl
shld ebp, ebx, 0x10
movzx ecx, dx
mov edx, dword [esp + 0x34]
shl ebx, 0x10
or ebx, ecx
mov dword [esp + 0x10], ebp
mov ecx, esi
mov dword [esp + 0x14], ebx
shr edx, cl
xor ebp, ebp
movzx ebx, dx
mov edx, dword [esp + 0x3c]
shr edx, cl
xor ecx, ecx
shld ecx, edx, 0x10
or ebp, ecx
shl edx, 0x10
or ebx, edx
mov ecx, esi
mov edx, dword [esp + 0x2c]
shr edx, cl
shld ebp, ebx, 0x10
shr edi, cl
shl ebx, 0x10
movzx edx, dx
or ebx, edx
movzx ecx, di
shld ebp, ebx, 0x10
shl ebx, 0x10
mov edi, ebp
or ebx, ecx
mov esi, ebx
shrd esi, edi, 8
xor esi, dword [esp + 0x14]
shr edi, 8
and esi, 0xff00ff
xor edi, dword [esp + 0x10]
mov ecx, esi
xor dword [esp + 0x14], esi
and edi, 0xff00ff
xor dword [esp + 0x10], edi
mov edx, edi
shld edx, ecx, 8
shl ecx, 8
xor ebp, edx
xor ebx, ecx
xor edx, edx
mov esi, ebx
mov ecx, ebp
shrd esi, ecx, 0x1c
xor esi, ebx
and esi, 0xf0f0f0f0
mov ecx, esi
shld edx, ecx, 0x1c
shl ecx, 0x1c
xor edx, 0
xor ecx, esi
xor ebx, ecx
mov edi, dword [esp + 0x14]
xor ebp, edx
mov ecx, dword [esp + 0x10]
mov esi, edi
shrd esi, ecx, 0x1c
xor edx, edx
xor esi, edi
and esi, 0xf0f0f0f0
mov ecx, esi
shld edx, ecx, 0x1c
shl ecx, 0x1c
xor edx, 0
xor ecx, esi
xor dword [esp + 0x10], edx
xor edi, ecx
mov esi, ebx
mov dword [esp + 0x14], edi
mov edi, ebp
shrd esi, edi, 0xe
shr edi, 0xe
xor esi, ebx
xor edi, ebp
and esi, 0xcccc
and edi, 0xcccc
mov ecx, esi
mov edx, edi
shld edx, ecx, 0xe
xor edx, edi
shl ecx, 0xe
mov edi, dword [esp + 0x10]
xor ecx, esi
mov esi, dword [esp + 0x14]
xor ebx, ecx
shrd esi, edi, 0xe
xor ebp, edx
xor esi, dword [esp + 0x14]
shr edi, 0xe
and esi, 0xcccc
xor edi, dword [esp + 0x10]
mov ecx, esi
and edi, 0xcccc
mov edx, edi
shld edx, ecx, 0xe
xor edx, edi
shl ecx, 0xe
xor dword [esp + 0x10], edx
xor ecx, esi
xor dword [esp + 0x14], ecx
mov esi, ebx
mov edi, ebp
shrd esi, edi, 7
shr edi, 7
xor esi, ebx
xor edi, ebp
and esi, 0xaa00aa
and edi, 0xaa00aa
mov ecx, esi
mov edx, edi
shld edx, ecx, 7
xor edx, edi
shl ecx, 7
mov edi, dword [esp + 0x10]
xor ecx, esi
mov esi, dword [esp + 0x14]
xor ebx, ecx
shrd esi, edi, 7
xor ebp, edx
xor esi, dword [esp + 0x14]
shr edi, 7
and esi, 0xaa00aa
xor edi, dword [esp + 0x10]
mov ecx, esi
and edi, 0xaa00aa
mov dword [esp + 0x20], ebp
mov edx, edi
shld edx, ecx, 7
shl ecx, 7
xor edx, edi
xor ecx, esi
mov esi, dword [esp + 0x10]
xor dword [esp + 0x14], ecx
xor esi, edx
mov byte [eax - 0xa], bl
mov edx, ebx
mov edi, dword [esp + 0x24]
mov ecx, ebp
mov dword [esp + 0x10], esi
shrd edx, ecx, 8
mov ecx, ebp
lea eax, [eax + 0x10]
mov byte [eax - 0x19], dl
mov edx, ebx
shrd edx, ecx, 0x10
mov byte [eax - 0x18], dl
mov edx, ebp
mov ecx, edx
mov byte [eax - 0x16], dl
shrd ebx, ecx, 0x18
mov ecx, edx
shr ecx, 8
mov byte [eax - 0x15], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax - 0x14], cl
mov ecx, esi
shr edx, 0x18
mov byte [eax - 0x13], dl
mov byte [eax - 0x17], bl
mov ebx, dword [esp + 0x14]
mov edx, ebx
shrd edx, ecx, 8
mov ecx, esi
mov byte [eax - 0x12], bl
mov byte [eax - 0x11], dl
mov edx, ebx
shrd edx, ecx, 0x10
mov byte [eax - 0x10], dl
mov edx, esi
mov ecx, edx
mov byte [eax - 0xe], dl
shrd ebx, ecx, 0x18
mov ecx, edx
shr ecx, 8
mov byte [eax - 0xd], cl
mov ecx, edx
shr ecx, 0x10
mov byte [eax - 0xc], cl
mov ecx, dword [esp + 0x18]
shr edx, 0x18
inc ecx
mov byte [eax - 0xb], dl
mov edx, dword [esp + 0x38]
mov byte [eax - 0xf], bl
mov dword [esp + 0x18], ecx
cmp ecx, 2
jb 0x433374
mov ecx, dword [esp + 0x44]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.0043505d
add esp, 0x38
ret