Function at 0x443350
Capabilities:
Encode data using xor

Disassembly:
mov edi, dword [ebx + 0x14]
nop
idiv byte [esi + 0x27]
add al, byte [eax]
mov ecx, dword [edi - 0x10]
jle 0x44322c
push ebx
sub esi, eax
call fcn.00443180
mov eax, dword [edi - 0x75]
invalid
mov ecx, dword [edi]
mov eax, dword [edi - 0x75]
mov eax, dword [ebx]
into
mov eax, dword [ebx]
into
sub eax, esi
mov dword [edi], ecx
mov dword [edi + 4], eax
add byte [edx], 0
mov eax, dword [esi + 0x1c]
push 0xffffffffffffff83
enter 0xffffffffffffc3ff, 0xffffffffffffffff
mov byte [eax + 0xc], cl
xor byte [edx], 0x44
add bh, al
inc eax
add al, 0x50
cmpsb byte [esi], byte es:[edi]
inc esp
add bh, al
inc eax
or byte [eax - 0x5a], dl
inc esp
add bh, al
inc eax
or al, 0x50
cmpsb byte [esi], byte es:[edi]
inc esp
add bh, al
inc eax
adc byte [eax - 0x76ffbbce], dl
dec eax
push 0x896c4889
dec eax
adc al, 0xc7
inc eax
jo 0x44329e
fcom qword [eax + 0x74909090]
nop
nop
js 0x443210
nop
jl 0x44320c
mov byte [eax - 0x6fcfdbbc], al
nop
add byte [eax], al
jne 0x4432a4
push ebp
jne 0x4432a7
jmp dword [eax*4 - 0x5317affc]
add byte [eax - 1], dl
or eax, 0xffffffff
ret
mov edx, dword [eax]
mov dword [edx + 0x6c], ecx
mov edx, dword [eax - 0x74a96f70]
int1
call fcn.00428bc0
test byte [esp + 8], 1
je 0x4432c8
push esi
call 0x3cf88dd
bound ecx, qword [ebx + 0x56142444]
and al, 0x14
push esi
push edi
mov esi, ecx
push eax
push 0x11e
mov dword [esp + 0x10], esi
call fcn.004887e8
mov ecx, dword [0x464ac14]
mov dword [esp + 0x14], 0
mov dword [esi + 0x5c], ecx
lea edi, [esi + 0x5c]
call fcn.0048e0bc
mov edx, dword [esp]
add dh, al
inc esp
and al, 0x14
add al, 0xe8
cld
movsb byte es:[edi], byte [esi]
inc byte [ecx]
call 0x450af197
and al, 0x10
add al, ch
push ds
loope 0x44330d
call fcn.00411430
add dh, al
inc esp
and al, 0x14
add al, 0x8b
sal dword [ebx], 1
or al, 0xe8
inc dword [eax]
mov byte [esp + 0x14], 4
mov edx, ecx
xor ecx, dword [eax + ebp*8]
cld
pop esp
cld
add eax, ebp
mov dword [esi], 0x4ddc50
nop
nop
nop
nop
nop
nop
nop
nop
nop
push esi
mov esi, ecx
call fcn.00422df0
add byte [ecx], ah
add byte [eax], al
dec ecx
add dh, cl
call 0xf7e0ef3f
add ecx, dword [ebx + 0x4c25ec6]
add byte [eax - 0xe74a970], dl
push edi
mov edi, dword [esp + 0xc]
lea eax, [esi + 0x80]
push eax
push 0x3ea
push edi
call int.0048f71f
inc esi
pop esp
push eax
push 0x909003e9
nop
nop
nop
nop
nop
nop
add esi, 0x102444c6
push esi
push 0x90900468
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, 0xb84dca48
xor ah, bl
mov edx, dword [esp + 8]
push eax
mov eax, dword [esp + 8]
push edx
push eax
push ecx
call 0x4ca89232
and al, 4
jmp 0x4433f3
dec esp
and al, 0xc
push eax
push 0x24f6b20
and al, 0x28
mov dword [esp + ebx*2], eax
mov byte [esp + 0x10], 0
mov eax, dword [ecx]
cmp eax, 0x24447fff
add al, 0x83
clc
add dword [esp + 4], eax
push esi
lea esi, [eax + 0x18]
push esi
call fcn.00405690
add eax, dword [eax]
add byte [eax], al
sbb byte [edx - 0x5f], ah
adc al, 0xac
dec edi
add byte [esi + 0x57], dl
add byte [eax], bl
bound esp, qword [ecx + 0x4fac14]
push esi
push edi
mov esi, ecx
mov dword [esp + 8], eax
lea ecx, [esi + 0xc4]
mov dword [esp + 0x14], 0
call fcn.0042cfb0
call fcn.00489b90
mov eax, dword [esp + 8]
push eax
mov ecx, dword [esi - 0x3b74a3b2]
add al, 0x8d
dec esi
je 0x443434
push eax
mov edi, dword [esi + 0x8096d8]
or al, 0xeb
add byte [eax], al
jmp 0x4434b3
jmp 0x443436
add bl, ch
jp 0x4433c5
push esp
and al, 0x3b
clc
push esp
and al, 0x44
or edx, edi
or eax, 0xb80a7dff
add byte [eax - 0x6a160001], al
add byte [eax], al
add byte [eax], al
aam 0xd4
add byte [eax], al
invalid
nop
push 0xffffffffffffffff
push 0x492ed0
mov eax, dword fs:[0xb8420000]
adc eax, 0xc247434
push 0x1c
dec ecx
add dh, cl
call 0x25438ad4
xor byte [ebp - 0x4f7976f4], al
and al, 0x28
mov ecx, dword [eax + 0xc]
xor byte [edi], 0x44
add bh, al
inc eax
add al, 0xf0
cmp dword [eax + eax - 0x39], eax
inc eax
or byte [eax], al
xor eax, 0x40c70044
or al, 0x60
aaa
inc esp
add bh, al
inc eax
adc byte [edx], ch
call dword [0x6a144000]
add bh, bh
adc eax, 0x24184000
add al, 0x83
clc
add dword [eax + 0x4f273c], edi
je 0x443516
add byte [esi], al
jne 0x44352c
push esi
call 0x8b7971e7
jb 0x443573
call 0x28486bde
mov eax, dword [esi - 0x7ca4a148]
add byte [ebx - 0x577174dc], al
pop esi
pop ebx
add dword [eax], 0xffffff83
adc dword [eax + eax - 0x58], esi
pop esi
pop ebx
adc dword [esi - 0x7a], 0xffffffb0
and al, 0x28
mov edx, dword [eax + 0x244c6a90]
xor al, ch
or byte [ecx], al
mov eax, 0x4f273c
je 0x443555
mov gs, word [eax + 0x835b5e]
adc dword [ecx], 0x74
add byte [eax + 0x56835b5e], ch
xchg byte [eax - 0x6f74d7dc], dh
nop
push 0x4c
and al, 0x30
call 0x3cfc3653
daa
dec edi
add byte [ebp + eax - 0x48], dh
push ecx
mov esi, dword [ebx]
adc al, 0x85
leave
mov eax, 0x14338b51
test ecx, ecx
pop ebp
cld
je 0x44355f
cmp esi, eax
push edi
push esi
xchg byte [esp + 0x28], al
mov edi, dword [ebx]
ret
pop eax
pop esi
pop ebx
adc dword [esi + 0x51], 0x20
mov dword [esi - 0x7ca4a1a4], edx
mov dword [ecx + 0x24], eax
mov edi, dword [ecx + 0xc]
mov dword [ecx + 0x40], eax
mov dword [ecx + 0x20], eax
xor edx, edx
div edi
mov dword [ecx + 0x34], ebx
mov dword [ecx + 0x38], ebx
mov dword [ecx + 0x3c], ebx
mov dword [ecx + 0x44], ebx
pop ecx
xor al, 0x89
pop ecx
cmp byte [ecx + 0x59893c59], cl
inc esp
add dl, dl
jne 0x4435a2
mov edx, edi
mov dword [ecx + 0x48], edx
mov dword [esi - 0x74d7dba0], ebx
dec eax
xchg byte [esp + ecx*2], ah
add byte [eax + 8], bh
add bl, ch
push edi
mov edi, dword [ebp + 0xc]
mov dword [eax], edx
aam 0
dec esi
jle 0x443591
clc
add eax, dword [esi + edi*2]
or byte [ebx + 0x11ff560e], cl
xor byte [ebp + 0x300000c0], al
pop esi
pop ebx
or dword [ecx - 0x1d3ee7ba], 3
ret 0xe74