Function at 0x4369a0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x90
mov byte [esp + 0x27], 0
mov byte [esp + 0x28], 0x4f
mov byte [esp + 0x29], 0x4e
mov byte [esp + 0x2a], 0x41
mov byte [esp + 0x2b], 0x40
lea eax, [esp + 0x28]
add eax, 4
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 7
call fcn.00408bf0
xor eax, eax
movzx ecx, byte [esp + eax + 0x28]
mov dword [esp + 0x6c], ecx
mov esi, eax
add esi, 0xf91299b6
mov ebx, ecx
not ebx
mov dword [esp + 0x60], ebx
and ebx, 0x2f6359e5
and ecx, 0x1a
mov edi, 0x6ed6649
sub edi, eax
and edi, 0x2f6359e5
mov edx, esi
and edx, 0x509ca61a
or ebx, ecx
or edi, edx
xor edi, ebx
not edi
mov ebx, esi
and ebx, edi
add ebx, ebx
sub ebx, esi
mov ecx, ebx
and ecx, dword [esp + 0x60]
not ebx
and ebx, dword [esp + 0x6c]
sub ebx, ecx
mov dword [esp + 0x7c], ebx
mov ecx, dword [esp + 0x7c]
add cl, 6
mov byte [esp + eax + 0x28], cl
add eax, 1
cmp eax, 0xb
jne 0x4369eb
mov eax, dword [esp + 0x28]
mov ecx, dword [0x44c2c8]
cmp ecx, 0
jne 0x436a68
jmp 0x436ac2
mov edx, dword [0x44c2cc]
xor esi, esi
cmp dword [edx + esi*8], 0x8055d1e3
jne 0x436a83
mov ecx, dword [edx + esi*8 + 4]
cmp ecx, eax
je 0x436ac2
jmp 0x436a8c
add esi, 1
cmp esi, ecx
je 0x436ac0
jmp 0x436a70
mov eax, dword [0x44c2d0]
mov edx, 0xffffffff
lea esi, [esp + 0x78]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 3
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 8
mov dword [esp + 0x14], esi
call fcn.0043c490
jmp 0x436ac2
jmp 0x436ac2
cmp eax, 0
jl 0x436d07
mov eax, dword [esp + 0x78]
mov dword [esp + 0x70], eax
mov byte [esp + 0x38], 0x4f
mov byte [esp + 0x39], 0x4e
mov byte [esp + 0x3a], 0x41
mov byte [esp + 0x3b], 0x40
lea eax, [esp + 0x38]
add eax, 4
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 7
call fcn.00408bf0
xor eax, eax
movzx esi, byte [esp + eax + 0x38]
mov dword [esp + 0x68], esi
mov ecx, eax
add ecx, 0xf91299b6
mov edi, esi
not edi
mov dword [esp + 0x5c], edi
and edi, 0x2f6359e5
and esi, 0x1a
mov ebx, 0x6ed6649
sub ebx, eax
and ebx, 0x2f6359e5
mov edx, ecx
and edx, 0x509ca61a
or edi, esi
or ebx, edx
xor ebx, edi
not ebx
mov edi, ecx
and edi, ebx
add edi, edi
sub edi, ecx
mov ecx, edi
and ecx, dword [esp + 0x5c]
not edi
and edi, dword [esp + 0x68]
sub edi, ecx
mov dword [esp + 0x80], edi
mov ecx, dword [esp + 0x80]
add cl, 6
mov byte [esp + eax + 0x38], cl
add eax, 1
cmp eax, 0xb
jne 0x436b0a
mov eax, dword [esp + 0x38]
mov ecx, dword [0x44c2c8]
cmp ecx, 0
jne 0x436b8d
jmp 0x436bf9
mov edx, dword [0x44c2cc]
xor esi, esi
cmp dword [edx + esi*8], 0xf7e539c
jne 0x436ba8
mov ecx, dword [edx + esi*8 + 4]
cmp ecx, eax
je 0x436bf9
jmp 0x436bb1
add esi, 1
cmp esi, ecx
je 0x436bf7
jmp 0x436b95
mov eax, dword [0x44c2d0]
lea edx, [esp + 0x74]
lea esi, [esp + 0x88]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 5
mov eax, dword [esp + 0x70]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0x14
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], 4
mov dword [esp + 0x1c], esi
call fcn.0043c490
jmp 0x436bf9
jmp 0x436bf9
cmp eax, 0
jl 0x436c0c
cmp dword [esp + 0x74], 0
setne al
and al, 1
mov byte [esp + 0x27], al
mov byte [esp + 0x48], 0x4f
mov byte [esp + 0x49], 0x4e
mov byte [esp + 0x4a], 0x41
mov byte [esp + 0x4b], 0x40
lea eax, [esp + 0x48]
add eax, 4
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 7
call fcn.00408bf0
xor eax, eax
movzx ecx, byte [esp + eax + 0x48]
mov dword [esp + 0x64], ecx
mov esi, eax
add esi, 0xf91299b6
mov ebx, ecx
not ebx
mov dword [esp + 0x58], ebx
and ebx, 0x2f6359e5
and ecx, 0x1a
mov edi, 0x6ed6649
sub edi, eax
and edi, 0x2f6359e5
mov edx, esi
and edx, 0x509ca61a
or ebx, ecx
or edi, edx
xor edi, ebx
not edi
mov ebx, esi
and ebx, edi
add ebx, ebx
sub ebx, esi
mov ecx, ebx
and ecx, dword [esp + 0x58]
not ebx
and ebx, dword [esp + 0x64]
sub ebx, ecx
mov dword [esp + 0x84], ebx
mov ecx, dword [esp + 0x84]
add cl, 6
mov byte [esp + eax + 0x48], cl
add eax, 1
cmp eax, 0xb
jne 0x436c43
mov eax, dword [esp + 0x48]
mov ecx, dword [0x44c2c8]
cmp ecx, 0
je 0x436d07
mov edx, dword [0x44c2cc]
xor esi, esi
cmp dword [edx + esi*8], 0xa3c1f363
jne 0x436cdf
mov ecx, dword [edx + esi*8 + 4]
cmp ecx, eax
je 0x436d07
jmp 0x436ce8
add esi, 1
cmp esi, ecx
je 0x436d05
jmp 0x436ccc
mov eax, dword [0x44c2d0]
xor edx, edx
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0
call fcn.0043c490
jmp 0x436d07
jmp 0x436d07
mov al, byte [esp + 0x27]
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret