Function at 0x440f80
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x1c
mov eax, ecx
mov edi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x30]
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
mov eax, dword [eax + 8]
mov dword [esp + 0x18], eax
mov dword [esp], 0x34353637
mov word [esp + 4], 0
mov byte [esp + 6], 0
mov eax, 0x74
mov esi, 0x4fc6570b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebx, byte [esp + eax - 0x74]
mov ebp, esi
or ebp, ebx
lea edx, [esi - 0x4fc65700]
and edx, ebx
xor edx, ebp
and edx, eax
add dl, dl
sub bl, dl
movzx edx, bl
add edx, eax
add dl, 0xbc
mov byte [esp + eax - 0x74], dl
inc eax
dec esi
cmp eax, 0x7b
jne 0x440fd0
mov eax, dword [esp]
mov edx, dword [0x451f60]
test edx, edx
je 0x441063
xor ebx, ebx
mov ebp, dword [0x451f64]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [ebp + ebx*8], 0xf3285e74
je 0x441031
inc ebx
cmp edx, ebx
jne 0x441020
jmp 0x441063
mov edx, dword [ebp + ebx*8 + 4]
cmp edx, eax
je 0x441063
lea eax, [esp + 0x18]
lea esi, [esp + 8]
push 4
push 0x3000
push eax
push 0
push esi
push 0xffffffffffffffff
push 6
push dword [0x451f68]
push edx
mov ebx, ecx
call fcn.004426c0
mov ecx, ebx
add esp, 0x24
test eax, eax
js 0x4410c0
push 0
push 0
mov eax, dword [esp + 0x14]
push dword [eax + 8]
push dword [esp + 0x14]
push dword [eax + 4]
push dword [eax]
call fcn.00440340
test eax, eax
jns 0x441098
mov ecx, eax
xor ebp, ebp
mov edx, 0
cmp eax, 0x8000000d
jne 0x441159
mov esi, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov ebx, dword [eax + 8]
add ebx, esi
sub ebx, dword [esp + 0x38]
xor ebp, ebp
mov edx, 0
cmp ebx, esi
jbe 0x441159
mov ecx, esi
mov dword [esp + 0x10], esi
jmp 0x4410f7
xor ebp, ebp
xor edx, edx
jmp 0x4411fe
mov esi, eax
xor esi, 0xfffffffe
mov edx, eax
and edx, 0xfffffffc
and eax, 2
mov ebp, eax
xor ebp, 2
imul ebp, edx
add ebp, esi
or edx, 2
imul edx, eax
add edx, ebp
add ecx, edx
inc ecx
inc ecx
xor ebp, ebp
mov edx, 0
cmp ecx, ebx
jae 0x441159
test edi, edi
mov ebp, dword [esp + 0x34]
je 0x441104
cmp byte [edi], 0x3f
je 0x44110c
movzx eax, byte [ecx]
cmp al, byte [ebp]
jne 0x4410eb
mov esi, dword [esp + 0x38]
cmp esi, 2
jb 0x44113b
mov eax, 1
jmp 0x44112f
movzx edx, byte [ecx + eax]
cmp dl, byte [ebp + eax]
jne 0x4410c9
inc eax
cmp esi, eax
je 0x44113b
test edi, edi
je 0x441120
cmp byte [edi + eax], 0x3f
jne 0x441120
jmp 0x44112a
test ecx, ecx
je 0x441155
sub ecx, dword [esp + 0x10]
mov edx, ecx
sar edx, 0x1f
mov eax, dword [esp + 0xc]
add ecx, dword [eax]
adc edx, dword [eax + 4]
mov ebp, ecx
jmp 0x441159
xor ebp, ebp
xor edx, edx
mov dword [esp + 0x14], 0
mov dword [esp], 0x34353637
mov word [esp + 4], 0
mov byte [esp + 6], 0
mov ecx, 0x74
mov esi, 0x4fc6570b
nop
nop
movzx eax, byte [esp + ecx - 0x74]
mov edi, esi
or edi, eax
lea ebx, [esi - 0x4fc65700]
and ebx, eax
xor ebx, edi
and ebx, ecx
add bl, bl
sub al, bl
movzx eax, al
add eax, ecx
add al, 0xbc
mov byte [esp + ecx - 0x74], al
inc ecx
dec esi
cmp ecx, 0x7b
jne 0x441180
mov ecx, dword [0x451f60]
test ecx, ecx
je 0x4411fe
mov esi, dword [esp]
xor edi, edi
mov ebx, dword [0x451f64]
cmp dword [ebx + edi*8], 0x731cdbf3
je 0x4411d0
inc edi
cmp ecx, edi
jne 0x4411c0
jmp 0x4411fe
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, esi
je 0x4411fe
lea eax, [esp + 0x14]
lea esi, [esp + 8]
push 0x8000
push eax
push esi
push 0xffffffffffffffff
push 4
push dword [0x451f68]
push ecx
mov esi, edx
call fcn.004426c0
mov edx, esi
add esp, 0x1c
mov eax, ebp
add esp, 0x1c
pop esi
pop edi
pop ebx
pop ebp
ret 0x10