Function at 0x43b340
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], 0x14151617
mov word [esp + 4], 0
mov eax, 0x3c
mov ecx, 0x24b0a5c3
nop
nop
nop
nop
nop
movzx edx, byte [esp + eax - 0x3c]
lea edi, [eax - 0x64b0a600]
mov ebx, ecx
and ebx, 0x2010056d
and edi, 0x99004212
or edi, ebx
xor edi, 0x225f1d6d
or edi, edx
and edx, eax
xor edx, edi
mov edi, edx
and edi, 0xd1
mov ebx, edx
and ebx, 2
mov ebp, ebx
xor ebp, 2
imul ebp, edi
or edi, 2
imul edi, ebx
xor edx, 0xd3
add edx, ebp
add edx, edi
inc dl
mov byte [esp + eax - 0x3c], dl
inc eax
dec ecx
cmp eax, 0x42
jne 0x43b370
mov eax, dword [esp]
mov esi, dword [0x44d110]
test esi, esi
je 0x43b414
xor ecx, ecx
mov edx, dword [0x44d114]
nop
nop
cmp dword [edx + ecx*8], 0x61813e67
je 0x43b3f0
inc ecx
cmp esi, ecx
jne 0x43b3e0
jmp 0x43b414
mov edx, dword [edx + ecx*8 + 4]
cmp edx, eax
je 0x43b414
lea ecx, [esp + 8]
push ecx
push 0
push 0
push 5
push 0x10
push edx
push dword [0x44d118]
call fcn.0043dd00
add esp, 0x1c
mov esi, eax
mov dword [esp], 0x894a4b30
mov word [esp + 4], 0
mov eax, 0xf3
mov ecx, 0x20bca50c
nop
nop
movzx ebp, byte [esp + eax - 0xf3]
lea edx, [ebp*2]
not edx
add edx, ebp
and edx, eax
lea ebx, [eax - 0x20bca600]
mov edi, ecx
and edi, 0x30840a
and ebx, 0x91020295
or ebx, edi
mov edi, ecx
or edi, ebp
xor ebx, ebp
xor ebx, 0x6a
and ebx, edi
or ebx, edx
add bl, 0x41
mov byte [esp + eax - 0xf3], bl
inc eax
dec ecx
cmp eax, 0xf9
jne 0x43b430
mov ebp, esi
cmp esi, dword [esp]
jne 0x43b606
push dword [esp + 8]
call fcn.0043b1f0
add esp, 4
mov ecx, dword [esp + 8]
mov dword [esp + 0xc], ecx
mov dword [esp], 0x14151617
mov word [esp + 4], 0
mov edx, 0x3c
mov ebp, 0x24b0a5c3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
movzx ecx, byte [esp + edx - 0x3c]
lea ebx, [edx - 0x64b0a600]
mov edi, ebp
and edi, 0x2010056d
and ebx, 0x99004212
or ebx, edi
xor ebx, 0x225f1d6d
or ebx, ecx
and ecx, edx
xor ecx, ebx
mov ebx, ecx
and ebx, 0xd1
mov esi, ecx
and esi, 2
mov edi, esi
xor edi, 2
imul edi, ebx
or ebx, 2
imul ebx, esi
xor ecx, 0xd3
add ecx, edi
add ecx, ebx
inc cl
mov byte [esp + edx - 0x3c], cl
inc edx
dec ebp
cmp edx, 0x42
jne 0x43b4c0
mov ebp, dword [esp]
mov ecx, dword [0x44d110]
test ecx, ecx
je 0x43b568
xor edx, edx
mov ebx, dword [0x44d114]
nop
nop
cmp dword [ebx + edx*8], 0x61813e67
je 0x43b540
inc edx
cmp ecx, edx
jne 0x43b530
jmp 0x43b568
mov ecx, dword [ebx + edx*8 + 4]
cmp ecx, ebp
je 0x43b568
push 0
push dword [esp + 0x10]
push eax
push 5
push 0x10
push ecx
push dword [0x44d118]
mov edi, eax
call fcn.0043dd00
add esp, 0x1c
mov ebp, eax
mov eax, edi
test ebp, ebp
js 0x43b5fd
mov dword [esp], 0x692a2dcf
mov dword [esp + 4], 0
xor ecx, ecx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov edx, ecx
add dl, 0x47
xor dl, byte [esp + ecx]
add dl, 0x9d
mov byte [esp + ecx], dl
inc ecx
cmp ecx, 8
jne 0x43b590
mov esi, dword [esp]
mov ebx, dword [eax]
mov ecx, eax
nop
nop
nop
nop
nop
mov edx, dword [ecx + ebx + 0x3c]
add ecx, ebx
xor ebx, ebx
nop
nop
nop
nop
nop
nop
nop
nop
movzx ebp, word [edx + ebx]
mov edi, dword [esp + 0x28]
movzx edi, word [edi + ebx]
test bp, bp
je 0x43b5d9
add ebx, 2
cmp bp, di
je 0x43b5c0
cmp bp, di
je 0x43b5e8
mov ebx, dword [ecx]
test ebx, ebx
jne 0x43b5b0
mov ebp, esi
jmp 0x43b5fd
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.0043b290
add esp, 4
mov eax, ebp
add esp, 0x14
pop esi
pop edi
pop ebx
pop ebp
ret 4