Function at 0x43b360
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x14
mov ebx, dword [esp + 0x30]
mov dword [esp], 0x504f4e4d
mov dword [esp + 4], 0
mov eax, esp
mov ecx, 0x74b3c072
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [eax]
mov edx, ecx
or edx, esi
lea edi, [ecx - 0x74b3c000]
and edi, esi
not edx
or edx, edi
add edx, 0x43cca59a
mov esi, edx
and esi, 0x3e
xor edx, 0x3e
lea edx, [edx + esi*2]
add dl, 0x67
mov byte [eax], dl
inc eax
dec ecx
cmp ecx, 0x74b3c06a
jne 0x43b390
mov esi, dword [esp]
mov eax, dword [0x446f44]
test eax, eax
je 0x43b41e
xor ecx, ecx
mov edx, dword [0x446f48]
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edx + ecx*8], 0x33079ccd
je 0x43b3f0
inc ecx
cmp eax, ecx
jne 0x43b3e0
jmp 0x43b41e
mov eax, dword [edx + ecx*8 + 4]
cmp eax, esi
je 0x43b41e
lea ecx, [esp + 0x10]
push ecx
push 0
push 0
push 0
push dword [esp + 0x3c]
push dword [esp + 0x3c]
push 6
push eax
push dword [0x446f4c]
call fcn.00437050
add esp, 0x24
mov esi, eax
mov dword [esp], 0x216667b9
mov dword [esp + 4], 0
xor eax, eax
nop
movzx ecx, byte [esp + eax]
mov edx, 0x66
sub edx, eax
mov edi, ecx
not edi
or edi, edx
or edx, ecx
add edi, ecx
mov ecx, 0xfe
sub ecx, edi
and ecx, edx
mov dl, 2
sub dl, cl
mov byte [esp + eax], dl
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
cmp eax, 8
jb 0x43b430
cmp esi, dword [esp]
jne 0x43b5fb
push dword [esp + 0x10]
call fcn.00434740
add esp, 4
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xc], ecx
mov dword [esp], 0x504f4e4d
mov dword [esp + 4], 0
mov edx, esp
mov edi, 0x74b3c072
nop
nop
nop
nop
movzx ecx, byte [edx]
mov esi, edi
or esi, ecx
lea ebp, [edi - 0x74b3c000]
and ebp, ecx
not esi
or esi, ebp
add esi, 0x43cca59a
mov ecx, esi
and ecx, 0x3e
xor esi, 0x3e
lea ecx, [esi + ecx*2]
add cl, 0x67
mov byte [edx], cl
inc edx
dec edi
cmp edi, 0x74b3c06a
jne 0x43b4a0
mov esi, dword [esp]
mov edx, dword [0x446f44]
test edx, edx
je 0x43b500
xor edi, edi
mov ecx, dword [0x446f48]
mov ebp, ebx
mov ebx, dword [esp + 0x34]
nop
nop
cmp dword [ecx + edi*8], 0x33079ccd
je 0x43b508
inc edi
cmp edx, edi
jne 0x43b4f0
jmp 0x43b53e
mov ebp, ebx
mov ebx, dword [esp + 0x34]
jmp 0x43b53e
mov edx, dword [ecx + edi*8 + 4]
cmp edx, esi
je 0x43b53e
lea ecx, [esp + 0x10]
push ecx
push dword [esp + 0x10]
push dword [esp + 0x10]
push 0
push dword [esp + 0x3c]
push dword [esp + 0x3c]
push 6
push edx
push dword [0x446f4c]
mov edi, eax
call fcn.00437050
add esp, 0x24
mov esi, eax
mov eax, edi
test ebx, ebx
mov edi, dword [esp + 8]
je 0x43b5f2
test esi, esi
js 0x43b5f2
test ebp, ebp
je 0x43b5eb
mov ecx, dword [edi + 0xc]
shr ecx, 1
mov edx, dword [ebx]
cmp edx, ecx
jb 0x43b567
mov edx, ecx
test edx, edx
je 0x43b5e5
add eax, 0x10
mov ecx, edx
test dl, 1
je 0x43b5a6
not ecx
lea ecx, [ecx + edx*2]
movzx edi, word [eax]
mov word [esp + 0xc], di
test di, di
mov ebx, 0
setne bl
mov edi, ebx
mov ebx, dword [esp + 0x34]
lea eax, [eax + edi*2]
movzx edi, word [esp + 0xc]
mov word [ebp], di
mov edi, dword [esp + 8]
add ebp, 2
cmp edx, 1
je 0x43b5e5
nop
nop
nop
nop
nop
movzx edx, word [eax]
xor ebx, ebx
test dx, dx
setne bl
lea edi, [eax + ebx*2]
mov word [ebp], dx
movzx edx, word [eax + ebx*2]
xor eax, eax
test dx, dx
setne al
lea eax, [edi + eax*2]
mov word [ebp + 2], dx
add ebp, 4
add ecx, 0xfffffffe
jne 0x43b5b0
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 8]
mov word [ebp], 0
mov eax, dword [edi + 0xc]
shr eax, 1
mov dword [ebx], eax
push edi
call fcn.004347a0
add esp, 4
mov eax, esi
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret