Function at 0x442eb0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x10
mov dword [esp + 4], 0x90a0b3c
mov dword [esp + 8], 0
mov eax, 0x82
mov ecx, 0x41dd117c
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0x7e]
lea esi, [eax - 0x20ee88ff]
lea edi, [edx + edx]
not edi
add edi, edx
and edi, esi
mov esi, edx
not esi
or esi, ecx
add edx, esi
inc edx
or edx, edi
add dl, 0x71
mov byte [esp + eax - 0x7e], dl
inc eax
dec ecx
cmp eax, 0x8a
jne case.default.0x442f20
mov eax, dword [esp + 4]
mov eax, dword fs:[eax]
xor ecx, ecx
cmp dword [esp + 0x24], 0
sete cl
jmp dword [ecx*4 + 0x44ef38]
mov edx, dword [eax + 0xc]
add edx, 0xc
mov dword [esp], 0
mov esi, dword [edx]
xor ecx, ecx
cmp esi, edx
setne cl
mov dword [esp + 0xc], edx
jmp dword [ecx*4 + 0x44ef40]
jmp dword [edi*4 + 0x44ef58]
mov esi, dword [esi]
xor ecx, ecx
cmp esi, edx
setne cl
jmp dword [ecx*4 + 0x44ef40]
mov ebx, dword [esi + 0x30]
xor ecx, ecx
test ebx, ebx
setne cl
mov edi, 1
jmp dword [ecx*4 + 0x44ef48]
mov ebp, dword [esp + 0x24]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, word [ebp]
lea edx, [ecx - 0x41]
cmp dx, 0x1a
jae 0x442fa0
or ecx, 0x20
movzx edx, word [ebx]
lea eax, [edx - 0x41]
cmp ax, 0x1a
jae 0x442faf
or edx, 0x20
test cx, cx
je 0x442fbf
add ebp, 2
add ebx, 2
cmp cx, dx
je 0x442f90
xor ebx, ebx
cmp cx, dx
sete bl
mov edx, dword [esp + 0xc]
jmp dword [ebx*4 + 0x44ef50]
mov eax, dword [esi + 0x18]
mov dword [esp], eax
xor ecx, ecx
jmp dword [ecx*4 + 0x44ef58]
mov eax, dword [eax + 8]
mov dword [esp], eax
mov eax, dword [esp]
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret
push eax
mov edi, esp
mov dword [edi], 0x595a5b74
xor edx, edx
mov esi, 0x35
nop
movzx eax, byte [edi + edx]
mov ebx, edx
xor ebx, 0x23421a8f
lea ecx, [esi + ebx]
add ecx, 0xffffffcb
and ecx, eax
add bl, al
add cl, cl
sub bl, cl
movzx eax, bl
add eax, esi
mov byte [edi + edx], al
inc edx
add esi, 2
cmp edx, 4
jne 0x443020
mov eax, dword [edi]
mov eax, dword fs:[eax]
push eax
mov esi, esp
push eax
mov dword [ebp - 0x10], esp
sub esp, 8
mov dword [ebp - 0x14], esp
mov dword [esi], 0x595a5b74
xor edi, edi
mov ebx, 0x35
nop
nop
nop
nop
nop
nop
movzx eax, byte [esi + edi]
mov ecx, edi
xor ecx, 0x23421a8f
lea edx, [ebx + ecx]
add edx, 0xffffffcb
and edx, eax
add cl, al
add dl, dl
sub cl, dl
movzx eax, cl
add eax, ebx
mov byte [esi + edi], al
inc edi
add ebx, 2
cmp edi, 4
jne 0x443070
mov eax, dword [esi]
mov eax, dword fs:[eax]
jmp dword [0x44ef68]
xor ecx, ecx
mov edx, dword [ebp + 8]
test edx, edx
sete cl
jmp dword [ecx*4 + 0x44ef70]
jmp 0x4430bc
mov edx, dword [eax + 8]
movzx esi, word [edx]
mov eax, dword [ebp - 0x10]
mov dword [eax], 0x23228bfd
xor edi, edi
mov ebx, 0xb7
nop
movzx ecx, byte [eax + edi]
mov eax, ecx
not eax
or eax, ebx
or ecx, edi
or ecx, 0x48
and ecx, eax
mov eax, dword [ebp - 0x10]
add cl, 0x98
mov byte [eax + edi], cl
inc edi
dec ebx
cmp edi, 4
jne case.default.0x4430fa
xor ecx, ecx
cmp dword [eax], esi
sete cl
xor esi, esi
jmp dword [ecx*4 + 0x44ef78]
xor ecx, ecx
test esi, esi
sete cl
jmp dword [ecx*4 + 0x44ef90]
jmp 0x4431ba
mov eax, dword [edx + 0x3c]
mov dword [ebp - 0x18], edx
mov ecx, dword [edx + eax]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x14]
mov dword [edx], 0x8186c8d4
mov dword [edx + 4], 0
mov ebx, 0xb1861821
mov edi, 0xde
nop
nop
nop
nop
nop
nop
movzx ecx, byte [edx + ebx + 0x4e79e7df]
mov edx, edi
xor edx, ebx
and edx, ecx
xor edx, ebx
mov ecx, edx
and ecx, 1
xor edx, 1
lea ecx, [edx + ecx*2]
mov edx, dword [ebp - 0x14]
add cl, 0x5a
mov byte [edx + ebx + 0x4e79e7df], cl
inc ebx
dec edi
cmp ebx, 0xb1861829
jne 0x443140
xor ecx, ecx
mov edi, dword [ebp - 0x10]
cmp edi, dword [edx]
sete cl
jmp dword [ecx*4 + 0x44ef80]
mov ecx, 1
jmp dword [ecx*4 + 0x44ef88]
mov ecx, dword [ebp - 0x18]
mov eax, dword [ecx + eax + 0x50]
mov esi, 1
xor ecx, ecx
jmp dword [ecx*4 + 0x44ef88]
xor ecx, ecx
xor edx, edx
test ecx, 0
sete dl
jmp dword [edx*4 + 0x44ef90]
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor ebx, ebx
cmp dword [edi + 0x18], ecx
sete bl
jmp dword [ebx*4 + 0x44efb8]
mov ebx, 1
jmp dword [ebx*4 + 0x44efc0]
mov eax, dword [edi + 0x30]
xor ebx, ebx
jmp dword [ebx*4 + 0x44efc0]
jmp esi
mov edi, dword [edi]
xor ebx, ebx
cmp edi, edx
setne bl
jmp dword [ebx*4 + 0x44efb0]
add esp, 4
pop esi
pop edi
pop ebx
ret
mov edx, dword [eax + 0xc]
mov edi, dword [case.0x442f20.44]
add edx, 0xc
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov esi, edx
jmp edi
jmp dword [edi*4 + 0x44f020]
mov esi, dword [esi]
xor ebx, ebx
cmp esi, edx
setne bl
jmp dword [ebx*4 + 0x44eff0]
xor ebx, ebx
cmp dword [esi + 0x18], ecx
sete bl
mov edi, 1
jmp dword [ebx*4 + 0x44f008]
mov eax, dword [esi + 0x28]
mov ebx, dword [case.0x442f20.51]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
xor edi, edi
jmp ebx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x3c]
jmp case.0x442f20.50
mov ecx, dword [case.0x442f20.50]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
add esp, 4
pop esi
pop edi
pop ebx
ret
xor eax, eax
cmp di, word [ebp - 0xe]
setb al
jmp dword [eax*4 + 0x44f100]
jmp dword [0x44f118]
mov eax, dword [esi + 0xc]
add eax, edx
mov dword [ecx], eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0xc]
add eax, edx
mov dword [ecx], eax
jmp dword [0x44f124]
xor eax, eax
cmp dword [ebp + 0x14], 0
setne al
mov dword [ebp - 0x14], 0
jmp dword [eax*4 + 0x44f128]
xor eax, eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esi + 0x10]
mov ecx, dword [ebp + 0x14]
mov dword [ecx], eax
xor ecx, ecx
mov al, 1
jmp dword [ecx*4 + 0x44f140]
das
inc esp
add cl, ah
das
inc esp
add bh, ah
das
inc esp
add byte [edi + 0x2f], ah
inc esp
add byte [eax + 0x2f], dl
inc esp
add byte [ebp + 0x2f], bh
inc esp
add byte [eax + 0x2f], dl
inc esp
add dl, dl
das
inc esp
add bh, ah
das
inc esp
add byte [edi + 0x2f], dl
inc esp
add byte [edi], cl
xor byte [eax + eax + 0x50], al
xor byte [eax + eax - 0x5a], al
xor byte [eax + eax + 0x50], al
xor byte [eax + eax - 0x49], al
xor byte [eax + eax - 0x47], al
xor byte [eax + eax - 0x5c], al
xor dword [eax + eax + 0x14], eax
xor dword [eax + eax - 0x7d], eax
xor dword [eax + eax - 0x71], eax
xor dword [eax + eax + 1], eax
xor dword [eax + eax - 0x5c], eax
xor dword [eax + eax + 0xf], eax
xor dword [eax + eax - 0x48], eax
xor dword [eax + eax + 0x25], eax