Function at 0x43cd90
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
push esi
mov edi, edi
push edi
push dword [ebp + 0xc]
mov esi, ecx
mov esp, esp
lea ecx, [ebp - 0x1c]
mov dword [ebp - 0xc], esi
call fcn.00482220
mov dword [esp - 0x24], esi
push dword [ebp + 8]
lea ecx, [ebp - 0x1c]
call fcn.004826c0
test al, al
mov dword [esp - 0x44], esp
je 0x43d09c
nop
sub esp, 4
mov dword [esp], 0x6ba1b600
xchg edx, edx
xor dword [esp], 0x7104c6b
xor dword [esp], 0x7f952063
xor dword [esp], 0xd53ae93
sub dword [esp], 0x1e777493
xchg esp, esp
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], 0x2aba87ac
sub dword [ebp - 0x14], 0x28b69947
add dword [ebp - 0x14], 0x531f0f4b
mov dword [esp - 0x20], 0x6fd9ef38
sub dword [ebp - 0x14], 0x394239e6
sub dword [ebp - 0x14], 0x1be0c3ca
push eax
lea ecx, [ebp - 0x1c]
mov ebx, ebx
mov dword [ebp - 0x10], 0x81119aa
add dword [ebp - 0x10], 0x642b62ed
add dword [ebp - 0x10], 0x389e14b
mov dword [esp - 0xc], ecx
xor dword [ebp - 0x10], 0x5c350af4
sub dword [ebp - 0x10], 0x33f35716
call fcn.00482ab0
test al, al
xchg esi, esi
je 0x43d09c
mov eax, dword [ebp - 0x14]
lea ecx, [ebp - 0x1c]
xor eax, 0x4d682477
mov esi, esi
mov dword [esi + 0x28], eax
mov eax, dword [ebp - 0x10]
xor eax, 0x4d682477
mov dword [esi + 0x2c], eax
mov dword [esp - 0x24], 0x347ccbb
lea eax, [ebp - 4]
nop
mov dword [esp - 4], 0x21f2245c
add dword [esp - 4], 0x4b7fbf6
mov dword [esp - 0x30], 0x5ed4b2cc
add dword [esp - 4], 0x3316e5ae
sub dword [esp - 4], 0xeb05f9d
xor dword [esp - 4], 0x71d9ae38
sub dword [esp - 4], 0x3ac90857
mov dword [esp - 0x30], 0x2613ea85
sub esp, 4
push eax
call fcn.00482ab0
mov dword [esp - 0x30], edx
test al, al
je 0x43d09c
mov eax, dword [ebp - 4]
mov dword [esp - 0x10], ecx
lea ecx, [ebp - 0x1c]
xor eax, 0x4d682477
mov dword [esi + 0x34], eax
lea eax, [esi + 0x3c]
mov dword [esp - 0x10], edx
nop
mov dword [esp - 4], 0x1eedc294
xor dword [esp - 4], 0x18a75e8
mov dword [esp - 0x2c], 0x25711b90
xor dword [esp - 4], 0x1c3a9980
add dword [esp - 4], 0x7c0ef890
xor dword [esp - 4], 0x2cd20a37
sub dword [esp - 4], 0x53be2db7
mov dword [esp - 0x3c], ebp
sub esp, 4
push eax
call fcn.00482ab0
test al, al
mov dword [esp - 0x40], 0x7570a45
je 0x43d09c
mov eax, dword [esi + 0x20]
mov edi, 0x51b189a0
add edi, 0xd9ea3f2
xchg ebp, ebp
sub edi, 0x4ed11301
add edi, 0x1f20ad2f
sub edi, 0x19747452
xor edi, 0x3970a279
mov ecx, ecx
sub edi, 0x2f5af118
and eax, 0x2000
mov dword [ebp - 8], eax
mov dword [esp - 0xc], ebp
pushf
mov eax, 0x7e631f1e
xor eax, 0x214846dd
mov dword [esp - 0x14], 0x367bb0bb
sub eax, 0x4fc99014
add eax, 0x1746ffdc
add eax, 0x45390e15
sub eax, 0x6be1d6a1
mov dword [esp - 0x18], edi
popf
cmovne edi, eax
mov eax, edi
mov dword [esp - 0x30], 0x76eacfae
shl eax, 4
cmp dword [esi + 0x38], 0
mov dword [ebp + 0xc], eax
jne 0x43d018
mov ebp, ebp
nop
sub esp, 4
mov dword [esp], 0x52ebf296
mov esp, esp
sub dword [esp], 0x3be675c5
add dword [esp], 0x50a866c8
xor dword [esp], 0x70b0ee2a
sub dword [esp], 0x893ddcd
xchg ebp, ebp
xor dword [esp], 0x780a3514
xor dword [esp], 0x76831ae2
push eax
call fcn.0048b760
mov edi, edi
mov dword [esi + 0x38], eax
add esp, 8
mov eax, dword [ebp + 0xc]
jmp 0x43d01b
mov dword [ebp + 0xc], eax
nop
mov dword [esp - 0x34], edi
mov dword [esp - 4], 0x655259d
add dword [esp - 4], 0x16d68201
add dword [esp - 4], 0x466d750f
mov esi, esi
sub dword [esp - 4], 0x13736ae1
sub dword [esp - 4], 0x3e8dee3c
add dword [esp - 4], 0x5aefaeb2
xor dword [esp - 4], 0x6c877252
mov dword [esp - 0x40], 0x580bd067
sub esp, 4
push eax
call fcn.0048b760
mov esi, eax
mov esi, esi
add esp, 8
mov dword [ebp + 8], esi
test esi, esi
je 0x43d09c
mov dword [esp - 0x28], esi
push dword [ebp + 0xc]
lea ecx, [ebp - 0x1c]
push esi
call fcn.00482ab0
xchg edi, edi
test al, al
jne 0x43d0dd
push esi
call fcn.0048b730
mov dword [esp - 0x18], esi
add esp, 4
lea ecx, [ebp - 0x1c]
mov byte [ebp + 0xf], 0x75
sub byte [ebp + 0xf], 0x24
mov ecx, ecx
sub byte [ebp + 0xf], 0xe
sub byte [ebp + 0xf], 0x31
add byte [ebp + 0xf], 0x1f
mov dword [esp - 0x28], edi
sub byte [ebp + 0xf], 0x26
xor byte [ebp + 0xf], 0xb
call fcn.004822c0
mov al, byte [ebp + 0xf]
mov dword [esp - 0x30], 0x409f0238
pop edi
pop esi
mov esp, ebp
mov dword [esp - 0x2c], ebp
pop ebp
ret 0xc
cmp dword [ebp - 8], 0
mov esi, edi
je 0x43d13f
mov dword [esp - 0x30], edx
nop
sub esp, 4
mov dword [esp], 0x61001ebe
sub dword [esp], 0x3b2a0082
mov dword [esp - 0x24], edi
add dword [esp], 0x1d014e1f
add dword [esp], 0xa2be46f
xor dword [esp], 0x4d0350da
mov dword [esp - 0x20], 0xe1d8dcb
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x1c]
mov ebx, ebx
call fcn.00482ab0
test al, al
je 0x43d24e
xchg ebx, ebx
inc esi
cmp esi, 0xffff
jb 0x43d0e9
mov edi, edi
mov edx, dword [ebp + 8]
xor ecx, ecx
mov esi, dword [ebp - 0xc]
mov dword [esp - 0x10], 0x59fdc3f4
jmp 0x43d158
movups xmm0, xmmword [ecx + edx]
lea ecx, [ecx + 0x10]
mov eax, dword [esi + 0x38]
mov dword [esp - 0x14], ebp
xorps xmm0, xmmword [0x4bf5b0]
movups xmmword [eax + ecx - 0x10], xmm0
sub edi, 1
jne 0x43d158
mov ecx, ecx
push edx
call fcn.0048b730
mov eax, dword [ebp - 0x10]
xor ecx, ecx
mov edx, edx
imul eax, dword [ebp - 0x14]
mov edx, 0x7a1d25b6
sub edx, 0x71017298
mov dword [esp - 0x2c], ebx
xor edx, 0x7c83652b
xor edx, 0x7f106f4a
sub edx, 0xa88b97b
mov dword [esp - 0xc], 0x37e9f7b2
mul edx
seto cl
neg ecx
mov edi, edi
or ecx, eax
push ecx
call fcn.0048b720
mov ebx, ebx
mov esi, eax
add esp, 8
test esi, esi
xchg ebx, ebx
je 0x43d09c
mov ecx, dword [ebp - 0x10]
imul ecx, dword [ebp - 0x14]
mov dword [esp - 0x2c], 0x6ff969e8
shl ecx, 2
push ecx
push esi
xchg ebx, ebx
lea ecx, [ebp - 0x1c]
call fcn.00482ab0
test al, al
jne 0x43d257
mov ebx, ebx
nop
sub esp, 4
mov dword [esp], 0xf4660f
add dword [esp], 0x30f2deb7
mov dword [esp - 0x20], 0x762b4aeb
sub dword [esp], 0xba3ed84
add dword [esp], 0x4cb59842
xor dword [esp], 0xb0677c5
sub dword [esp], 0xafa28de
mov esi, esi
xor dword [esp], 0x6f046f67
push esi
call fcn.0048b700
add esp, 8
mov dword [esp - 0x1c], 0x520eadd2
jmp 0x43d09c
mov edx, dword [ebp + 8]
push edx
jmp 0x43d090
mov eax, dword [ebp + 0x10]
lea ecx, [ebp - 0x1c]
mov byte [ebp + 0xf], 0x1a
mov ebx, ebx
xor byte [ebp + 0xf], 2
xor byte [ebp + 0xf], 0x64
sub byte [ebp + 0xf], 0x5e
sub byte [ebp + 0xf], 0x13
mov dword [esp - 0x38], edi
add byte [ebp + 0xf], 0x4b
sub byte [ebp + 0xf], 0x55
mov dword [eax], esi
call fcn.004822c0
mov dword [esp - 0xc], edi
mov al, byte [ebp + 0xf]
pop edi
pop esi
mov esp, ebp
xchg ecx, ecx
pop ebp
ret 0xc