Function at 0x43b100
Capabilities:
Encode data using xor

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x18
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], 0
mov dword [esp], 0x34353637
mov dword [esp + 4], 0
mov eax, esp
mov ecx, 0x507bf34b
nop
nop
nop
nop
nop
nop
nop
movzx edx, byte [eax]
lea esi, [edx + edx]
not esi
add esi, edx
and esi, 0xa05a69f3
mov edi, edx
xor edi, 0xa05a69f3
or edx, 0xc
and edx, edi
mov edi, esi
xor edi, edx
not edx
and edx, esi
add edi, esi
sub edi, edx
mov edx, ecx
xor edx, 0x5fa5960c
mov esi, edi
and esi, edx
add edx, edi
add esi, esi
sub edx, esi
add dl, 0x7c
mov byte [eax], dl
inc eax
dec ecx
cmp ecx, 0x507bf343
jne 0x43b130
mov eax, dword [esp]
mov esi, dword [0x44d2b8]
test esi, esi
je 0x43b1c4
xor ecx, ecx
mov edx, dword [0x44d2bc]
nop
cmp dword [edx + ecx*8], 0x61813e67
je 0x43b1a0
inc ecx
cmp esi, ecx
jne 0x43b190
jmp 0x43b1c4
mov edx, dword [edx + ecx*8 + 4]
cmp edx, eax
je 0x43b1c4
lea ecx, [esp + 0x10]
push ecx
push 0
push 0
push 5
push 0x10
push edx
push dword [0x44d2c0]
call fcn.0043d920
add esp, 0x1c
mov dword [esp + 8], eax
mov dword [esp], 0x61262738
mov word [esp + 4], 0
xor ecx, ecx
mov eax, ecx
nop
nop
nop
nop
nop
nop
movzx edx, byte [esp + ecx]
lea esi, [ecx + 0xc9]
and esi, edx
mov ebx, esi
and ebx, 2
mov ebp, esi
or ebp, 0xfd
inc ebp
mov edi, esi
and edi, 0xffffffdd
imul edi, ebp
or esi, 2
imul esi, ebx
sub edi, esi
add edx, ecx
add edx, 0xc9
add edx, edi
add dl, 0x13
mov byte [esp + ecx], dl
mov edx, ecx
xor eax, 1
add eax, ecx
and ecx, 1
and edx, 6
add eax, ecx
sub eax, edx
mov ecx, eax
cmp eax, 6
jb 0x43b1e0
mov ebp, dword [esp + 8]
cmp ebp, dword [esp]
jne 0x43b423
push dword [esp + 0x10]
call fcn.0043b030
add esp, 4
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x10]
mov dword [esp], 0x34353637
mov dword [esp + 4], 0
mov edx, esp
mov edi, 0x507bf34b
nop
nop
nop
nop
nop
nop
nop
movzx ebp, byte [edx]
lea esi, [ebp*2]
not esi
add esi, ebp
and esi, 0xa05a69f3
mov eax, ebp
xor eax, 0xa05a69f3
or ebp, 0xc
and ebp, eax
mov eax, esi
xor eax, ebp
not ebp
and ebp, esi
add eax, esi
sub eax, ebp
mov ebx, edi
xor ebx, 0x5fa5960c
mov esi, eax
and esi, ebx
add ebx, eax
add esi, esi
sub ebx, esi
add bl, 0x7c
mov byte [edx], bl
inc edx
dec edi
cmp edi, 0x507bf343
jne 0x43b270
mov ebp, dword [esp]
mov edx, dword [0x44d2b8]
test edx, edx
je 0x43b315
xor eax, eax
mov esi, dword [0x44d2bc]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp dword [esi + eax*8], 0x61813e67
je 0x43b2f0
inc eax
cmp edx, eax
jne 0x43b2e0
jmp 0x43b315
mov edx, dword [esi + eax*8 + 4]
cmp edx, ebp
je 0x43b315
push 0
push ecx
mov eax, dword [esp + 0x14]
push eax
push 5
push 0x10
push edx
push dword [0x44d2c0]
call fcn.0043d920
add esp, 0x1c
mov ebp, eax
test ebp, ebp
js 0x43b417
mov dword [esp], 0x612625fb
mov word [esp + 4], 0
xor ecx, ecx
mov ebp, 0xffffffff
mov edx, 1
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [esp + 8], ebp
mov ebp, dword [esp + 8]
or ebp, 0xbda391f9
lea ebx, [ecx + ebp]
inc ebx
mov esi, ebx
not esi
mov eax, ebx
and eax, 0xfffffffd
and esi, 2
imul esi, eax
mov edi, ecx
and edi, 1
add edi, edi
or ebx, 2
add ebp, edx
shr ebp, 1
and ebp, 1
imul ebp, ebx
movzx eax, byte [esp + ecx]
lea esi, [esi + ebp*2]
mov ebp, dword [esp + 8]
mov ebx, ecx
sub ebx, edi
add ebx, esi
add ebx, 0xbda391f9
mov esi, eax
xor esi, 0x1f
mov edi, ebx
xor edi, 0x1f
or edi, esi
xor eax, 0xe0
xor ebx, 0xe0
or ebx, eax
and ebx, edi
add bl, 0x23
mov byte [esp + ecx], bl
inc ecx
dec ebp
inc edx
cmp ecx, 6
jne 0x43b340
mov ebp, dword [esp]
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx]
mov edi, dword [esp + 0x2c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, dword [ecx + eax + 0x3c]
add ecx, eax
xor eax, eax
nop
nop
nop
nop
nop
nop
nop
nop
movzx esi, word [edx + eax]
movzx ebx, word [edi + eax]
test si, si
je 0x43b3f5
add eax, 2
cmp si, bx
je 0x43b3e0
cmp si, bx
je 0x43b402
mov eax, dword [ecx]
test eax, eax
jne 0x43b3d0
jmp 0x43b417
mov eax, dword [ecx + 0x44]
mov edx, dword [esp + 0x14]
mov dword [edx + 8], eax
mov eax, dword [ecx + 0xdc]
mov dword [edx + 0xc], eax
xor ebp, ebp
push dword [esp + 0xc]
call fcn.0043b070
add esp, 4
mov eax, ebp
add esp, 0x18
pop esi
pop edi
pop ebx
pop ebp
ret 4