Function at 0x442840
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x518
mov dword [esp + 0x188], 0xd8dbdac5
mov word [esp + 0x18c], 0
mov eax, 0x11
mov ecx, 0x2e96adaf
nop
nop
mov esi, ecx
or esi, 0xde15348e
lea edi, [eax + esi]
not esi
add esi, ecx
and esi, 0xd4
mov edx, edi
and edx, 0x2b
or edx, esi
mov ebx, ecx
and ebx, 0x20828931
xor edx, ebx
and ebx, edi
xor edx, 0xd4
or ebx, edx
xor bl, byte [esp + ecx - 0x2e96ac27]
xor bl, 0x8e
add bl, 0x95
mov byte [esp + ecx - 0x2e96ac27], bl
dec eax
inc ecx
cmp eax, 0xb
jne 0x442870
mov eax, dword [esp + 0x188]
mov ecx, dword [0x450e9c]
test ecx, ecx
je 0x44291a
xor edx, edx
mov esi, dword [0x450ea0]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0x7789b0cb
je 0x4428f0
inc edx
cmp ecx, edx
jne 0x4428e0
jmp 0x44291a
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, eax
je 0x44291a
lea eax, [esp + 0x10]
push 2
push 0
push 0
push eax
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 7
push dword [0x450ea4]
push ecx
call fcn.00441230
add esp, 0x28
test eax, eax
js 0x442bd9
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x188], 0xd8dbdac5
mov word [esp + 0x18c], 0
mov ecx, 0x11
mov edx, 0x2e96adaf
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, edx
or eax, 0xde15348e
lea esi, [ecx + eax]
not eax
add eax, edx
and eax, 0xd4
mov edi, esi
and edi, 0x2b
or edi, eax
mov eax, edx
and eax, 0x20828931
xor edi, eax
and eax, esi
xor edi, 0xd4
or eax, edi
xor al, byte [esp + edx - 0x2e96ac27]
xor al, 0x8e
add al, 0x95
mov byte [esp + edx - 0x2e96ac27], al
dec ecx
inc edx
cmp ecx, 0xb
jne 0x442950
mov esi, dword [esp + 0x188]
mov eax, dword [0x450e9c]
test eax, eax
je 0x4429cc
xor ecx, ecx
mov edx, dword [0x450ea0]
nop
nop
cmp dword [edx + ecx*8], 0x1cbb9425
je 0x4429c0
inc ecx
cmp eax, ecx
jne 0x4429b0
jmp 0x4429cc
mov eax, dword [edx + ecx*8 + 4]
cmp eax, esi
jne 0x442be5
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x190]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x194]
mov dword [esp + 0xc], eax
mov dword [esp + 0x68], 0xd8dbdac5
mov word [esp + 0x6c], 0
mov ecx, 0x11
mov ebx, 0x2e96adaf
nop
mov edx, ebx
or edx, 0xde15348e
lea eax, [ecx + edx]
not edx
add edx, ebx
and edx, 0xd4
mov edi, eax
and edi, 0x2b
or edi, edx
mov edx, ebx
and edx, 0x20828931
xor edi, edx
and edx, eax
xor edi, 0xd4
or edx, edi
xor dl, byte [esp + ebx - 0x2e96ad47]
xor dl, 0x8e
add dl, 0x95
mov byte [esp + ebx - 0x2e96ad47], dl
dec ecx
inc ebx
cmp ecx, 0xb
jne 0x442a00
mov ecx, dword [0x450e9c]
test ecx, ecx
je 0x442a9d
mov eax, dword [esp + 0x68]
xor edx, edx
mov ebx, dword [0x450ea0]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebx + edx*8], 0x7e776f1
je 0x442a80
inc edx
cmp ecx, edx
jne 0x442a70
jmp 0x442a9d
mov ecx, dword [ebx + edx*8 + 4]
cmp ecx, eax
je 0x442a9d
push dword [esp + 4]
push 1
push dword [0x450ea4]
push ecx
call fcn.00441230
add esp, 0x10
test esi, esi
js 0x442bd9
lea eax, [esp + 0x188]
push 0x20
push eax
push dword [esp + 0x14]
push dword [esp + 0x14]
call fcn.004425e0
add esp, 0x10
test eax, eax
js 0x442bd9
lea eax, [esp + 0x10]
push 0x20
push eax
push dword [esp + 0x1ac]
push dword [esp + 0x1ac]
call fcn.004425e0
add esp, 0x10
test eax, eax
js 0x442bd9
mov eax, dword [esp + 0x1a0]
mov ebx, dword [esp + 0x1a4]
add eax, 0x10
mov dword [esp + 8], eax
adc ebx, 0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x68], eax
jmp 0x442b4c
cmp cx, dx
je 0x442c14
push esi
call fcn.0043dd60
add esp, 4
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov edx, ecx
xor edx, ebx
mov esi, eax
xor esi, dword [esp + 8]
or esi, edx
je 0x442bd9
push 0x68
lea edx, [esp + 0x6c]
push edx
push ecx
push eax
call fcn.004425e0
add esp, 0x10
test eax, eax
js 0x442bd9
movzx eax, word [esp + 0xc2]
push eax
call fcn.0043dd20
add esp, 4
mov esi, eax
movzx eax, word [esp + 0xc2]
push eax
push esi
push dword [esp + 0xd4]
push dword [esp + 0xd4]
call fcn.004425e0
add esp, 0x10
test eax, eax
js 0x442b29
xor eax, eax
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp + 8]
movzx ecx, word [ecx + eax]
lea edx, [ecx - 0x41]
cmp dx, 0x1a
jae 0x442bb3
or ecx, 0x20
movzx edx, word [esi + eax]
lea edi, [edx - 0x41]
cmp di, 0x1a
jae 0x442bc3
or edx, 0x20
test cx, cx
je 0x442b20
add eax, 2
cmp cx, dx
je 0x442ba0
jmp 0x442b20
xor eax, eax
xor edx, edx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
lea ecx, [esp + 0x188]
push 0
push 0x30
push ecx
push 0
push ebx
push 5
push dword [0x450ea4]
push eax
call fcn.00441230
add esp, 0x20
mov esi, eax
mov eax, dword [esp + 0x10]
mov dword [esp + 4], eax
jmp 0x4429d0
mov edi, dword [esp + 0x98]
mov ebx, dword [esp + 0x9c]
push esi
call fcn.0043dd60
mov edx, ebx
mov eax, edi
add esp, 4
jmp 0x442bdd