Function at 0x759c0c3f
Capabilities:
Encode data using xor

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x420
mov eax, dword [0xce7024]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x41c], eax
mov eax, dword [ebp + 0x14]
push ebx
mov dword [ebp - 0x420], eax
push esi
lea eax, [ebp - 0x40c]
mov dword [ebp - 0x408], eax
mov dword [ebp - 0x40c], eax
push edi
mov edi, dword [ebp + 8]
lea eax, [ebp - 0x418]
mov dword [ebp - 0x414], eax
mov dword [ebp - 0x418], eax
movzx eax, word [edi]
add eax, 0x12
push eax
push 0x40
call dword [0xcb13fc]
mov esi, eax
xor ebx, ebx
cmp esi, ebx
je 0x759d8022
xor ecx, ecx
lea eax, [esi + 8]
mov word [eax], cx
mov cx, word [edi]
mov word [esi + 0xa], cx
push edi
lea ecx, [esi + 0x10]
push eax
mov dword [esi + 0xc], ecx
call dword [0xcb1174]
test byte [ebp + 0xc], 8
mov eax, dword [ebp - 0x40c]
lea ecx, [ebp - 0x40c]
mov dword [esi], eax
mov dword [esi + 4], ecx
mov dword [eax + 4], esi
mov dword [ebp - 0x40c], esi
mov dword [ebp - 0x410], ebx
mov edi, 0x400
je 0x759c0d23
mov eax, ecx
cmp esi, eax
je 0x759c0d6c
lea eax, [ebp - 0x40c]
push eax
push edi
lea eax, [ebp - 0x404]
push eax
push ebx
push ebx
push 8
lea eax, [esi + 8]
push eax
call fcn.759c0a8c
cmp eax, ebx
mov dword [ebp - 0x410], eax
jge 0x759d802c
mov esi, dword [0xcb13f0]
mov ecx, dword [ebp - 0x40c]
lea eax, [ebp - 0x40c]
cmp ecx, eax
je 0x759c0d89
cmp dword [ebp - 0x410], 0
jge 0x759d8041
lea eax, [ebp - 0x40c]
cmp ecx, eax
je 0x759c0d6c
mov eax, dword [ecx]
lea edx, [ebp - 0x40c]
mov dword [ebp - 0x40c], eax
push ecx
mov dword [eax + 4], edx
call esi
mov ecx, dword [ebp - 0x40c]
jmp 0x759c0d46
push dword [ebp - 0x410]
call dword [0xcb128c]
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call int.759b40e8
leave
ret 0x10
cmp dword [ebp - 0x410], 0
jl 0x759c0d46
jmp 0x759c0d6c
cwde
test eax, 0xb00000b0
or esi, dword [eax + 0xa0ab87]
add byte [ebx], cl
add byte [eax], al
xchg dword [edx + 0xb00ba9a], ebx
add byte [eax], al
test al, 0
mov ebx, 0xb0000
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [ecx + 0x11], bh
sbb al, 0x23
mov esp, 0xe72628c5
shr dword [ebx + 0x6a084d1f], 0x42
outsb dx, byte [esi]
aas
pushfd
dec eax
mov esp, 0xe6104132
invalid
jne 0x759d7fb8
fsubr dword [esi]
insb byte es:[edi], dx
rcl byte [ebp - 0x2a381bf], cl
std
jge 0x759d7fe7
pop esp
rol esp, 0xc0
xor byte [ebp + 0x48006f3f], bh
call 0x86c9f9a9
invalid
lcall 0x84, 0x600401fa
mov bl, 0x3f
popfd
cmp byte [edx - 0x35], dh
mov al, byte [0x4cc03f0c]
mov bl, 0x2d
sahf
mov ah, 0x8d
add al, byte [edx + 0x115b0adc]
cld
adc cl, ah
cld
xor eax, 0x20a410f5
inc eax
pop es
adc ax, 0xd4c8
inc edx
rcl dword [ebp - 0x3f]
or dword [edi], 0x13
and ecx, dword [esi - 0x72]
pushal
mov esi, 0xe8a0c14e
les esi, [eax + 0x46]
lodsb al, byte [esi]
cmp byte [edi + 0x20], 0xb8
insd dword es:[edi], dx
cmpsb byte [esi], byte es:[edi]
mov edx, 0x8a8e682c
jbe 0x759d804b
cmp ebp, 0x16f66656
ret 0x27fa