Function at 0x439290
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x10
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 0
mov dword [esp + 2], 0x24252627
mov byte [esp + 6], 0
xor eax, eax
mov ecx, 0x67
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 2]
mov esi, eax
or esi, edx
or esi, 0x26ab1298
not edx
or edx, ecx
and edx, esi
mov esi, edx
not esi
and esi, 0xf3
and edx, 0xc
sub edx, esi
add dl, 0x33
mov byte [esp + eax + 2], dl
inc eax
dec ecx
cmp eax, 5
jne 0x4392c0
mov ebp, dword [esp + 2]
mov esi, dword [0x449dc8]
test esi, esi
je 0x439346
xor ecx, ecx
mov edx, dword [0x449dcc]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edx + ecx*8], 0x67f3d776
je 0x439320
inc ecx
cmp esi, ecx
jne 0x439310
jmp 0x439346
mov edx, dword [edx + ecx*8 + 4]
cmp edx, ebp
je 0x439346
lea ecx, [esp + 8]
push ecx
push 0
push 0
push 5
push 0x10
push edx
push dword [0x449dd0]
call fcn.0043ad80
add esp, 0x1c
mov ebp, eax
mov dword [esp + 2], 0x4d0c0b0e
mov word [esp + 6], 0
lea eax, [esp + 2]
mov ecx, 0x25
nop
nop
movzx edx, byte [eax]
lea esi, [ecx - 0x4a4c3200]
or esi, edx
mov edi, esi
not edi
and edx, ecx
lea ebx, [esi + edi*2]
inc ebx
or ebx, edx
add bl, 0x30
mov byte [eax], bl
inc eax
dec ecx
cmp ecx, 0x1f
jne 0x439360
mov ebx, ebp
cmp ebp, dword [esp + 2]
jne 0x4394f4
push dword [esp + 8]
call fcn.00439230
add esp, 4
mov ebp, dword [esp + 8]
mov dword [esp + 2], 0x24252627
mov byte [esp + 6], 0
xor edx, edx
mov edi, 0x67
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + edx + 2]
mov esi, edx
or esi, ecx
or esi, 0x26ab1298
not ecx
or ecx, edi
and ecx, esi
mov esi, ecx
not esi
and esi, 0xf3
and ecx, 0xc
sub ecx, esi
add cl, 0x33
mov byte [esp + edx + 2], cl
inc edx
dec edi
cmp edx, 5
jne 0x4393c0
mov ebx, dword [esp + 2]
mov ecx, dword [0x449dc8]
test ecx, ecx
je 0x439445
xor edx, edx
mov esi, dword [0x449dcc]
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + edx*8], 0x67f3d776
je 0x439420
inc edx
cmp ecx, edx
jne 0x439410
jmp 0x439445
mov ecx, dword [esi + edx*8 + 4]
cmp ecx, ebx
je 0x439445
push 0
push ebp
push eax
push 5
push 0x10
push ecx
push dword [0x449dd0]
mov esi, eax
call fcn.0043ad80
add esp, 0x1c
mov ebx, eax
mov eax, esi
test ebx, ebx
js 0x4394eb
mov dword [esp + 2], 0xf1b0cd2b
mov word [esp + 6], 0
mov esi, 0x3e
mov edx, 0xc1
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edi, edx
and edi, 0x9e
mov ecx, esi
and ecx, 0x61
or ecx, edi
xor cl, byte [esp + esi - 0x3c]
xor cl, 0x9e
add cl, 0x10
mov byte [esp + esi - 0x3c], cl
inc esi
dec edx
cmp esi, 0x44
jne 0x439470
mov ebx, dword [esp + 2]
mov esi, dword [eax]
mov ecx, eax
nop
nop
nop
nop
mov edx, dword [ecx + esi + 0x3c]
add ecx, esi
xor ebp, ebp
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [edx + ebp]
mov edi, dword [esp + 0x24]
movzx edi, word [edi + ebp]
test si, si
je 0x4394c9
add ebp, 2
cmp si, di
je 0x4394b0
cmp si, di
je 0x4394d6
mov esi, dword [ecx]
test esi, esi
jne 0x4394a0
jmp 0x4394eb
mov edx, dword [ecx + 0x44]
mov ebx, dword [esp + 0xc]
mov dword [ebx + 8], edx
mov ecx, dword [ecx + 0xdc]
mov dword [ebx + 0xc], ecx
xor ebx, ebx
push eax
call fcn.00439250
add esp, 4
mov eax, ebx
add esp, 0x10
pop esi
pop edi
pop ebx
pop ebp
ret 4