Function at 0x43b920
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x14
mov edi, ecx
mov dword [esp + 8], 0
mov dword [esp], 0xf8fbfa05
xor eax, eax
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + eax]
lea edx, [eax + 0x63b0e7f]
and edx, ecx
add ecx, eax
add ecx, 0x63b0e7f
add edx, edx
sub ecx, edx
mov edx, ecx
xor edx, 0x34
and ecx, 0x4b
add ecx, ecx
sub ecx, edx
add cl, 0xb9
mov byte [esp + eax], cl
mov ecx, eax
xor ecx, 0x380c0423
lea eax, [ecx + eax*2]
add eax, 0xc7f3fbde
cmp eax, 4
jb 0x43b940
mov ebp, dword [esp]
mov eax, dword [0x44cff0]
test eax, eax
je 0x43b9d6
xor ecx, ecx
mov edx, dword [0x44cff4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [edx + ecx*8], 0x61813e67
je 0x43b9b0
inc ecx
cmp eax, ecx
jne 0x43b9a0
jmp 0x43b9d6
mov eax, dword [edx + ecx*8 + 4]
cmp eax, ebp
je 0x43b9d6
lea ecx, [esp + 8]
push ecx
push 0
push 0
push 5
push 0x10
push eax
push dword [0x44cff8]
call fcn.0043def0
add esp, 0x1c
mov ebp, eax
mov dword [esp], 0x23e2e1e4
mov eax, 0xf5c99ad8
mov ecx, 0xa366527
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax + 0xa366528]
mov esi, eax
xor esi, edx
or esi, ecx
lea edx, [edx + esi*2]
lea esi, [eax + edx]
add edx, eax
add edx, 0xc9
lea esi, [esi*2 + 4]
or esi, 0xfd
xor edx, 0xfe
add edx, esi
mov bl, 0xfe
sub bl, dl
mov byte [esp + eax + 0xa366528], bl
inc eax
dec ecx
cmp eax, 0xf5c99adc
jne 0x43b9f0
cmp ebp, dword [esp]
jne 0x43bbc4
push dword [esp + 8]
call fcn.0043b840
add esp, 4
mov ebp, dword [esp + 8]
mov dword [esp], 0xf8fbfa05
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + edx]
lea esi, [edx + 0x63b0e7f]
and esi, ecx
add ecx, edx
add ecx, 0x63b0e7f
add esi, esi
sub ecx, esi
mov esi, ecx
xor esi, 0x34
and ecx, 0x4b
add ecx, ecx
sub ecx, esi
add cl, 0xb9
mov byte [esp + edx], cl
mov ecx, edx
xor ecx, 0x380c0423
lea edx, [ecx + edx*2]
add edx, 0xc7f3fbde
cmp edx, 4
jb 0x43ba60
mov ebx, dword [esp]
mov edx, dword [0x44cff0]
test edx, edx
je 0x43bad2
xor ecx, ecx
mov esi, dword [0x44cff4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + ecx*8], 0x61813e67
je 0x43bb76
inc ecx
cmp edx, ecx
jne 0x43bac0
mov ecx, ebx
test ecx, ecx
mov ebp, ecx
js 0x43bbbb
mov dword [esp + 0x10], edi
mov dword [esp], 0xe126255b
mov byte [esp + 4], 0
mov edi, 9
mov edx, 0xfa65f6f6
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, byte [esp + edi - 9]
mov ebx, edx
and ebx, 0xb
mov ecx, edi
and ecx, 0x14
or ecx, ebx
xor ecx, esi
xor ecx, 0x59a090b
mov esi, ecx
and esi, 1
or ecx, 1
add ecx, esi
add cl, 0xd2
mov byte [esp + edi - 9], cl
inc edi
dec edx
cmp edi, 0xe
jne 0x43bb00
mov ecx, dword [esp]
mov dword [esp + 0xc], ecx
mov esi, dword [eax]
mov ecx, eax
mov ebx, dword [esp + 0x28]
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]
movzx edi, word [ebx + ebp]
test si, si
je 0x43bb65
add ebp, 2
cmp si, di
je 0x43bb50
cmp si, di
je 0x43bba6
mov esi, dword [ecx]
test esi, esi
jne 0x43bb40
mov ebp, dword [esp + 0xc]
jmp 0x43bbbb
mov edx, dword [esi + ecx*8 + 4]
mov ecx, ebx
cmp edx, ebx
je 0x43bad4
push 0
push ebp
push eax
push 5
push 0x10
push edx
push dword [0x44cff8]
mov esi, eax
call fcn.0043def0
add esp, 0x1c
mov ecx, eax
mov eax, esi
jmp 0x43bad4
mov edx, dword [ecx + 0x44]
mov esi, dword [esp + 0x10]
mov dword [esi + 8], edx
mov ecx, dword [ecx + 0xdc]
mov dword [esi + 0xc], ecx
xor ebp, ebp
push eax
call fcn.0043b890
add esp, 4
mov eax, ebp
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret 4