Function at 0x43b7a0
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x14
mov dword [esp + 0x10], ecx
mov dword [esp + 8], 0
mov dword [esp], 0x34353637
mov eax, esp
mov ecx, 0xb3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
lea esi, [ecx - 0xa0]
and esi, 0x12
mov edx, ecx
and edx, 0xa1
or edx, esi
xor dl, byte [eax]
mov bl, 0x83
sub bl, dl
mov byte [eax], bl
inc eax
dec ecx
cmp ecx, 0xaf
jne 0x43b7d0
mov eax, dword [esp]
mov esi, dword [0x44cd20]
test esi, esi
je 0x43b844
xor ecx, ecx
mov edx, dword [0x44cd24]
nop
nop
nop
nop
nop
nop
cmp dword [edx + ecx*8], 0x61813e67
je 0x43b820
inc ecx
cmp esi, ecx
jne 0x43b810
jmp 0x43b844
mov edx, dword [edx + ecx*8 + 4]
cmp edx, eax
je 0x43b844
lea ecx, [esp + 8]
push ecx
push 0
push 0
push 5
push 0x10
push edx
push dword [0x44cd28]
call fcn.0043e090
add esp, 0x1c
mov ebx, eax
mov dword [esp], 0xf7363924
mov word [esp + 4], 0
xor eax, eax
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebp, byte [esp + ecx]
mov esi, eax
and esi, 0xc
mov edx, ecx
xor edx, 0x64610236
add edx, esi
mov esi, edx
and esi, 0x36
xor esi, 0x998bcb6
mov edi, edx
xor edi, 0x6d99bcb6
or edx, 0x600249
and edx, edi
or edx, esi
xor edx, ebp
xor edx, 0x6d99bcb6
add edx, 0xa1af4f1
mov esi, edx
and esi, 1
xor edx, 1
lea edx, [edx + esi*2]
mov byte [esp + ecx], dl
inc ecx
add eax, 2
cmp ecx, 6
jne 0x43b860
mov edi, ebx
cmp ebx, dword [esp]
jne 0x43ba04
push dword [esp + 8]
call fcn.0043b670
add esp, 4
mov ebp, dword [esp + 8]
mov dword [esp], 0x34353637
mov edx, esp
mov edi, 0xb3
nop
nop
lea esi, [edi - 0xa0]
and esi, 0x12
mov ecx, edi
and ecx, 0xa1
or ecx, esi
xor cl, byte [edx]
mov bl, 0x83
sub bl, cl
mov byte [edx], bl
inc edx
dec edi
cmp edi, 0xaf
jne 0x43b8e0
mov edi, dword [esp]
mov edx, dword [0x44cd20]
test edx, edx
je 0x43b930
mov ecx, ebp
xor ebp, ebp
mov esi, dword [0x44cd24]
mov ebx, dword [esp + 0x28]
cmp dword [esi + ebp*8], 0x61813e67
je 0x43b936
inc ebp
cmp edx, ebp
jne 0x43b920
jmp 0x43b95b
mov ebx, dword [esp + 0x28]
jmp 0x43b95b
mov edx, dword [esi + ebp*8 + 4]
cmp edx, edi
je 0x43b95b
push 0
push ecx
push eax
push 5
push 0x10
push edx
push dword [0x44cd28]
mov esi, eax
call fcn.0043e090
add esp, 0x1c
mov edi, eax
mov eax, esi
test edi, edi
js 0x43b9fb
mov dword [esp], 0x7f3e3fdd
xor ecx, ecx
nop
nop
nop
nop
movzx edx, byte [esp + ecx]
mov esi, 0x35
sub esi, ecx
mov edi, esi
and edi, edx
not edx
or edx, esi
add edx, ecx
add edx, 0xcb
or edx, edi
add dl, 0xe
mov byte [esp + ecx], dl
mov edx, ecx
and edx, 1
xor ecx, 1
lea ecx, [ecx + edx*2]
cmp ecx, 4
jb 0x43b970
mov ecx, dword [esp]
mov dword [esp + 0xc], ecx
mov esi, dword [eax]
mov ecx, eax
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]
movzx edi, word [ebx + ebp]
test si, si
je 0x43b9d5
add ebp, 2
cmp si, di
je 0x43b9c0
cmp si, di
je 0x43b9e6
mov esi, dword [ecx]
test esi, esi
jne 0x43b9b0
mov edi, dword [esp + 0xc]
jmp 0x43b9fb
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 edi, edi
push eax
call fcn.0043b6f0
add esp, 4
mov eax, edi
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret 4