Function at 0x47ad2c
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0xcf2552
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xcc
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x14], ebx
mov edx, dword [ebp + 0x10]
movsx eax, byte [edx + 0x15]
mov dword [ebp - 0x20], ecx
test eax, eax
je 0x47ae57
push 0xd27f00
lea ecx, [ebp - 0x64]
call fcn.0047a1f0
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x8c]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], ecx
call 0xd2e1a9
mov dword [ebp - 4], 1
mov dword [ebp - 0x8c], 0xe442a8
lea esi, [ebp - 0x80]
xor eax, eax
mov dword [ebp - 0x68], 0xf
mov dword [ebp - 0x6c], eax
mov byte [ebp - 0x7c], al
mov ebx, dword [ebp - 0x50]
mov dword [ebp - 0x30], esi
test ebx, ebx
lea edi, [ebp - 0x64]
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], eax
jae 0x47adcb
call 0xd60d4d
mov ebx, dword [ebp - 0x50]
lea eax, [ebp - 0x80]
lea edx, [ebp - 0x64]
cmp ebx, 0xffffffff
jbe 0x47addb
mov ebx, 0xffffffff
mov dword [ebp - 0x3c], ebx
cmp eax, edx
je 0x47b2f4
mov dword [ebp - 0x40], ebx
cmp ebx, 0xfffffffe
jbe 0x47adf6
call 0xd60d0e
mov ebx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x68]
cmp esi, ebx
jb 0x47b1ec
test ebx, ebx
je 0x47b1cd
test ebx, ebx
ja 0x47b16a
mov dword [ebp - 4], 0
push 0xe4a780
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x8c]
mov dword [eax], 0xe442cc
push edx
call 0xd2e426
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x4c]
cmp eax, 0x10
jae 0x47b15c
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x4c], 0xf
xor eax, eax
mov dword [ebp - 0x50], eax
mov byte [ebp - 0x60], al
mov eax, dword [ebp + 0xc]
mov ebx, edx
test eax, eax
je 0x47b80b
movsx eax, byte [edx + 0x15]
test eax, eax
je 0x47ae73
call 0xd2e190
jmp 0x47aeab
mov eax, dword [edx + 8]
movsx ecx, byte [eax + 0x15]
test ecx, ecx
je 0x47ae92
mov ecx, dword [edx + 4]
movsx eax, byte [ecx + 0x15]
test eax, eax
je 0x47b3db
mov dword [ebp + 0x10], ecx
jmp 0x47aeab
mov edx, dword [eax]
movsx ecx, byte [edx + 0x15]
test ecx, ecx
jne 0x47aea8
mov eax, dword [eax]
mov edx, dword [eax]
movsx ecx, byte [edx + 0x15]
test ecx, ecx
je 0x47ae9c
mov dword [ebp + 0x10], eax
mov eax, dword [ebx]
movsx edx, byte [eax + 0x15]
mov edi, ebx
test edx, edx
je 0x47aebc
mov esi, dword [ebx + 8]
jmp 0x47aed1
mov edx, dword [ebx + 8]
movsx ecx, byte [edx + 0x15]
test ecx, ecx
je 0x47aecb
mov esi, eax
jmp 0x47aed1
mov edi, dword [ebp + 0x10]
mov esi, dword [edi + 8]
cmp edi, ebx
je 0x47b72b
mov dword [eax + 4], edi
mov eax, dword [ebx]
mov dword [edi], eax
cmp edi, dword [ebx + 8]
jne 0x47aee9
mov ecx, edi
jmp 0x47af06
mov ecx, dword [edi + 4]
movsx eax, byte [esi + 0x15]
test eax, eax
je 0x47b723
mov dword [ecx], esi
mov eax, dword [ebx + 8]
mov dword [edi + 8], eax
mov edx, dword [ebx + 8]
mov dword [edx + 4], edi
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
mov eax, dword [eax + 4]
cmp ebx, dword [eax + 4]
je 0x47b71b
mov eax, dword [ebx + 4]
cmp ebx, dword [eax]
je 0x47af24
mov dword [eax + 8], edi
jmp 0x47af26
mov dword [eax], edi
mov eax, dword [ebx + 4]
mov dword [edi + 4], eax
movzx eax, byte [edi + 0x14]
movzx edx, byte [ebx + 0x14]
mov byte [edi + 0x14], dl
mov byte [ebx + 0x14], al
movsx eax, byte [ebx + 0x14]
cmp eax, 1
je 0x47b402
push ebx
call 0xd2ca21
pop ecx
mov edx, dword [ebp - 0x20]
mov eax, dword [edx + 8]
test eax, eax
je 0x47af5e
add eax, 0xffffffff
mov dword [edx + 8], eax
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x10]
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x14]
mov dword [eax], edx
mov dword [eax + 4], ecx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc
mov edx, dword [ebp - 0x94]
test edx, edx
ja 0x47b077
mov edx, dword [ebp - 0x98]
mov eax, dword [edx + 0x18]
cmp eax, 0x10
jae 0x47b063
mov dword [edx + 0x18], 0xf
mov eax, dword [ebp - 0x98]
mov dword [eax + 0x14], 0
mov eax, dword [ebp - 0x98]
mov edx, dword [eax + 0x18]
cmp edx, 0x10
jb 0x47b008
mov eax, dword [eax + 4]
jmp 0x47b00b
add eax, 4
mov ecx, dword [ebp - 0xa0]
mov byte [eax], 0
mov edx, dword [ebp - 0x98]
mov eax, dword [ebp - 0x9c]
mov dword [edx + 4], eax
mov ebx, dword [ebp - 0x98]
mov dword [ebx + 0x18], ecx
mov edi, dword [ebp - 0x98]
mov esi, dword [ebp - 0x94]
mov dword [edi + 0x14], esi
mov edx, dword [ebp - 0x98]
mov eax, dword [edx + 0x18]
cmp eax, 0x10
jb 0x47b04e
mov edx, dword [edx + 4]
jmp 0x47b051
add edx, 4
mov eax, dword [ebp - 0x94]
mov byte [edx + eax], 0
mov ebx, dword [ebp - 0x40]
jmp 0x47ae09
push dword [edx + 4]
call 0xd2ca21
pop ecx
mov edx, dword [ebp - 0x98]
jmp 0x47afe1
mov ecx, dword [ebp - 0x98]
mov eax, dword [ecx + 0x18]
cmp eax, 0x10
jb 0x47b08a
mov ecx, dword [ecx + 4]
jmp 0x47b08d
add ecx, 4
mov ebx, dword [ebp - 0xa0]
movzx eax, byte [ebp - 0xb4]
mov byte [ebp - 0xb8], al
push edx
add ebx, 1
push ecx
push ebx
push dword [ebp - 0x9c]
call 0xd2e470
add esp, 0x10
jmp 0x47afcf
push dword [ebp - 0x60]
call 0xd2ca21
pop ecx
jmp 0x47ae45
mov ebx, dword [ebp - 0x30]
mov ecx, dword [ebx + 0x18]
cmp ecx, 0x10
jb 0x47b17a
mov ebx, dword [ebx + 4]
jmp 0x47b17d
add ebx, 4
mov edx, dword [ebp - 0x2c]
mov eax, dword [edx + 0x18]
cmp eax, 0x10
jb 0x47b18d
mov edx, dword [edx + 4]
jmp 0x47b190
add edx, 4
add edx, dword [ebp - 0x28]
push dword [ebp - 0x3c]
movzx eax, byte [ebp - 0x44]
mov byte [ebp - 0x48], al
push edx
push ecx
push ebx
call 0xd2e470
add esp, 0x10
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x30]
mov dword [eax + 0x14], ecx
mov eax, dword [ebp - 0x30]
mov edx, dword [eax + 0x18]
cmp edx, 0x10
jb 0x47b1c1
mov eax, dword [eax + 4]
jmp 0x47b1c4
add eax, 4
mov byte [eax + ecx], 0
jmp 0x47ae11
mov dword [ebp - 0x6c], 0
cmp esi, 0x10
jb 0x47b1de
mov eax, dword [ebp - 0x7c]
jmp 0x47b1e1
lea eax, [ebp - 0x7c]
mov byte [eax], 0
mov ebx, dword [ebp - 0x40]
jmp 0x47ae09
mov edx, dword [ebp - 0x6c]
mov dword [ebp - 0xac], ebx
mov ecx, ebx
lea eax, [ebp - 0x80]
or ecx, 0xf
cmp ecx, 0xfffffffe
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x94], edx
mov dword [ebp - 0xb0], ecx
mov dword [ebp - 0xa0], ecx
jbe 0x47b228
mov dword [ebp - 0xb0], ebx
mov dword [ebp - 0xa0], ebx
jmp 0x47b23f
mov ebx, ecx
mov ecx, esi
shr ecx, 1
mov eax, 0xaaaaaaab
mul ebx
shr edx, 1
cmp ecx, edx
ja 0x47b2d1
mov dword [ebp - 0x9c], 0
mov dword [ebp - 4], 2
mov eax, dword [ebp - 0xb0]
add eax, 1
mov dword [ebp - 0xb0], eax
jne 0x47b26b
xor eax, eax
mov dword [ebp - 0xb0], eax
jmp 0x47b2b2
mov ecx, eax
xor edx, edx
mov eax, 0xffffffff
div ecx
cmp eax, 1
jae 0x47b2b2
mov dword [ebp - 0xbc], 0
lea eax, [ebp - 0xbc]
push eax
lea ecx, [ebp - 0xcc]
call 0xd2e1ba
mov dword [ebp - 0xcc], 0xe40cb4
lea eax, [ebp - 0xcc]
push 0xe4a720
push eax
call 0xd2e426
mov eax, dword [ebp - 0xb0]
push eax
call 0xd2c9b7
pop ecx
mov dword [ebp - 0x9c], eax
mov dword [ebp - 4], 1
jmp 0x47afc1
mov eax, ecx
neg eax
add eax, 0xfffffffe
cmp esi, eax
ja 0x47b23f
lea eax, [esi + ecx]
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0xa0], eax
jmp 0x47b23f
mov edx, dword [ebp - 0x6c]
cmp edx, ebx
jae 0x47b303
call 0xd60d4d
mov edx, dword [ebp - 0x6c]
mov eax, edx
sub eax, ebx
cmp eax, 0xffffffff
mov esi, eax
jb 0x47b313
mov esi, 0xffffffff
test esi, esi
ja 0x47b384
test edx, edx
jae 0x47b323
call 0xd60d4d
mov edx, dword [ebp - 0x6c]
test edx, edx
mov ebx, edx
jb 0x47b32e
mov ebx, 0
test ebx, ebx
jbe 0x47ae11
mov ecx, dword [ebp - 0x68]
cmp ecx, 0x10
jb 0x47b346
mov esi, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x7c]
jmp 0x47b34c
lea esi, [ebp - 0x7c]
lea eax, [ebp - 0x7c]
mov byte [ebp - 0xa8], 0
add eax, ebx
sub edx, ebx
push edx
push eax
push ecx
push esi
call 0xd2e4eb
add esp, 0x10
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x68]
sub edx, ebx
mov dword [ebp - 0x6c], edx
cmp eax, 0x10
jb 0x47b378
mov eax, dword [ebp - 0x7c]
jmp 0x47b37b
lea eax, [ebp - 0x7c]
mov byte [eax + edx], 0
jmp 0x47ae11
mov ecx, dword [ebp - 0x68]
cmp ecx, 0x10
jb 0x47b394
mov edi, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x7c]
jmp 0x47b39a
lea edi, [ebp - 0x7c]
lea edx, [ebp - 0x7c]
mov byte [ebp - 0xa4], 0
add edi, ebx
sub ecx, ebx
add ebx, esi
add ebx, edx
sub eax, esi
push eax
push ebx
push ecx
push edi
call 0xd2e4eb
add esp, 0x10
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x68]
sub edx, esi
mov dword [ebp - 0x6c], edx
cmp eax, 0x10
jb 0x47b3cc
mov eax, dword [ebp - 0x7c]
jmp 0x47b3cf
lea eax, [ebp - 0x7c]
mov byte [eax + edx], 0
mov edx, dword [ebp - 0x6c]
jmp 0x47b317
cmp edx, dword [ecx + 8]
jne 0x47ae8d
mov dword [ebp + 0x10], ecx
mov edx, ecx
mov ecx, dword [ecx + 4]
movsx eax, byte [ecx + 0x15]
test eax, eax
jne 0x47ae8d
cmp edx, dword [ecx + 8]
je 0x47b3e4
jmp 0x47ae8d
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 4]
cmp esi, dword [edx + 4]
je 0x47b416
movsx eax, byte [esi + 0x14]
cmp eax, 1
je 0x47b41f
mov byte [esi + 0x14], 1
jmp 0x47af47
mov edi, dword [ecx]
cmp esi, edi
je 0x47b5ad
movsx eax, byte [edi + 0x14]
test eax, eax
je 0x47b55c
movsx eax, byte [edi + 0x15]
test eax, eax
jne 0x47b462
mov eax, dword [edi + 8]
movsx edx, byte [eax + 0x14]
mov dword [ebp - 0xb0], eax
cmp edx, 1
jne 0x47b4d8
mov eax, dword [edi]
movsx edx, byte [eax + 0x14]
cmp edx, 1
jne 0x47b47d
mov byte [edi + 0x14], 0
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 4]
mov esi, ecx
mov ecx, dword [ecx + 4]
cmp esi, dword [edx + 4]
je 0x47b416
movsx eax, byte [esi + 0x14]
cmp eax, 1
je 0x47b41f
jmp 0x47b416
movzx eax, byte [ecx + 0x14]
mov byte [edi + 0x14], al
mov edx, 1
mov byte [ecx + 0x14], dl
mov edi, dword [edi]
mov byte [edi + 0x14], dl
mov eax, dword [ecx]
mov edx, dword [eax + 8]
mov dword [ecx], edx
mov edi, dword [eax + 8]
movsx edx, byte [edi + 0x15]
test edx, edx
je 0x47b4d3
mov edi, dword [ebp - 0x24]
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [edi + 4]
cmp ecx, dword [edx + 4]
je 0x47b4ce
mov edx, dword [ecx + 4]
cmp ecx, dword [edx + 8]
je 0x47b4c0
mov dword [edx], eax
jmp 0x47b4c3
mov dword [edx + 8], eax
mov dword [eax + 8], ecx
mov dword [ecx + 4], eax
jmp 0x47b416
mov dword [edx + 4], eax
jmp 0x47b4c3
mov dword [edi + 4], ecx
jmp 0x47b4a3
mov eax, dword [edi]
movsx edx, byte [eax + 0x14]
cmp edx, 1
jne 0x47b47d
mov eax, dword [ebp - 0xb0]
mov byte [eax + 0x14], 1
mov eax, dword [edi + 8]
mov byte [edi + 0x14], 0
mov edx, dword [eax]
mov dword [edi + 8], edx
mov edx, dword [eax]
mov dword [ebp - 0xb0], eax
movsx eax, byte [edx + 0x15]
test eax, eax
je 0x47b557
mov edx, dword [ebp - 0xb0]
mov eax, dword [edi + 4]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 4]
cmp edi, dword [edx + 4]
je 0x47b54c
mov eax, dword [edi + 4]
cmp edi, dword [eax]
je 0x47b532
mov edx, dword [ebp - 0xb0]
mov dword [eax + 8], edx
jmp 0x47b53a
mov edx, dword [ebp - 0xb0]
mov dword [eax], edx
mov eax, dword [ebp - 0xb0]
mov dword [eax], edi
mov dword [edi + 4], eax
mov edi, dword [ecx]
jmp 0x47b47d
mov eax, dword [ebp - 0xb0]
mov dword [edx + 4], eax
jmp 0x47b53a
mov dword [edx + 4], edi
jmp 0x47b509
mov byte [edi + 0x14], 1
mov eax, dword [ecx]
mov byte [ecx + 0x14], 0
mov edx, dword [eax + 8]
mov dword [ecx], edx
mov edx, dword [eax + 8]
movsx edi, byte [edx + 0x15]
test edi, edi
je 0x47b5a8
mov edi, dword [ebp - 0x24]
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [edi + 4]
cmp ecx, dword [edx + 4]
je 0x47b5a3
mov edx, dword [ecx + 4]
cmp ecx, dword [edx + 8]
je 0x47b593
mov dword [edx], eax
jmp 0x47b596
mov dword [edx + 8], eax
mov dword [eax + 8], ecx
mov edi, dword [ecx]
mov dword [ecx + 4], eax
jmp 0x47b435
mov dword [edx + 4], eax
jmp 0x47b596
mov dword [edx + 4], ecx
jmp 0x47b576
mov edi, dword [ecx + 8]
movsx eax, byte [edi + 0x14]
test eax, eax
je 0x47b6cb
movsx eax, byte [edi + 0x15]
test eax, eax
jne 0x47b462
mov eax, dword [edi]
movsx edx, byte [eax + 0x14]
mov dword [ebp - 0xb0], eax
cmp edx, 1
jne 0x47b643
mov eax, dword [edi + 8]
movsx edx, byte [eax + 0x14]
cmp edx, 1
je 0x47b45e
movzx eax, byte [ecx + 0x14]
mov byte [edi + 0x14], al
mov edx, 1
mov byte [ecx + 0x14], dl
mov edi, dword [edi + 8]
mov byte [edi + 0x14], dl
mov eax, dword [ecx + 8]
mov edx, dword [eax]
mov dword [ecx + 8], edx
mov edi, dword [eax]
movsx edx, byte [edi + 0x15]
test edx, edx
je 0x47b63e
mov edi, dword [ebp - 0x24]
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [edi + 4]
cmp ecx, dword [edx + 4]
je 0x47b639
mov edx, dword [ecx + 4]
cmp ecx, dword [edx]
je 0x47b62d
mov dword [edx + 8], eax
jmp 0x47b62f
mov dword [edx], eax
mov dword [eax], ecx
mov dword [ecx + 4], eax
jmp 0x47b416
mov dword [edx + 4], eax
jmp 0x47b62f
mov dword [edi + 4], ecx
jmp 0x47b610
mov eax, dword [edi + 8]
movsx edx, byte [eax + 0x14]
cmp edx, 1
jne 0x47b5e9
mov eax, dword [ebp - 0xb0]
mov byte [eax + 0x14], 1
mov eax, dword [edi]
mov byte [edi + 0x14], 0
mov edx, dword [eax + 8]
mov dword [ebp - 0xb0], eax
mov dword [edi], edx
mov edx, dword [eax + 8]
movsx eax, byte [edx + 0x15]
test eax, eax
je 0x47b6c6
mov edx, dword [ebp - 0xb0]
mov eax, dword [edi + 4]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0x24]
mov edx, dword [eax + 4]
cmp edi, dword [edx + 4]
je 0x47b6bb
mov eax, dword [edi + 4]
cmp edi, dword [eax + 8]
je 0x47b69e
mov edx, dword [ebp - 0xb0]
mov dword [eax], edx
jmp 0x47b6a7
mov edx, dword [ebp - 0xb0]
mov dword [eax + 8], edx
mov eax, dword [ebp - 0xb0]
mov dword [eax + 8], edi
mov dword [edi + 4], eax
mov edi, dword [ecx + 8]
jmp 0x47b5e9
mov eax, dword [ebp - 0xb0]
mov dword [edx + 4], eax
jmp 0x47b6a7
mov dword [edx + 4], edi
jmp 0x47b675
mov byte [edi + 0x14], 1
mov eax, dword [ecx + 8]
mov byte [ecx + 0x14], 0
or dh, al
inc ecx
adc al, 0
mov edx, dword [eax]
mov dword [ecx + 8], edx
mov edx, dword [eax]
movsx edi, byte [edx + 0x15]
test edi, edi
je 0x47b716
mov edi, dword [ebp - 0x24]
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [edi + 4]
cmp ecx, dword [edx + 4]
je 0x47b711
mov edx, dword [ecx + 4]
cmp ecx, dword [edx]
je 0x47b702
mov dword [edx + 8], eax
jmp 0x47b704
mov dword [edx], eax
mov dword [eax], ecx
mov edi, dword [ecx + 8]
mov dword [ecx + 4], eax
jmp 0x47b5bc
mov dword [edx + 4], eax
jmp 0x47b704
mov dword [edx + 4], ecx
jmp 0x47b6e5
mov dword [eax + 4], edi
jmp 0x47af26
mov dword [esi + 4], ecx
jmp 0x47aef8
dec esi
add al, 0xe9
int 0xf7
invalid
mov ecx, dword [ebx + 4]
movsx ebp, byte [ebp - 0x60]
jge 0x47b724
idiv dword [eax]
xor al, 0xe2
inc ebx
xchg edx, eax
jns 0x47b6d1
or al, ah
sbb eax, 0xf8316f50
xor cl, bl
shr byte [0xabf029f0], 0
mov ebx, es
jne 0x47b7b4
xchg esp, ebx
and esi, dword [ebx - 0x7343f5b7]
loop 0x47b73a
cmp eax, 0xde07ca37
pop ebx
mov ebx, 0x4003fd79
mov ebx, edx
pop esi
xor ch, cl
jl 0x47b78a
jg 0x47b70c
dec edi
lodsb al, byte [esi]
jg 0x47b7e0
jne 0x47b782
sub al, 0x47
inc eax
das
test al, 0x95
inc eax
xor cl, byte [ecx + 0x5d]
jmp 0x51259483
fst qword [eax - 0x33]
vmovss xmm4, xmm0, xmm4
mov esi, 0x82a061cd
lcall 0x6db3, 0x55b45fd9
int 0x61
mov al, byte [0x5fd99a82]
mov ah, 0x55
mov bl, 0x6d
cmp eax, ebp
push ebp
invalid
dec ebp
rcr dword [eax + ebx - 0x72ff65c], 1
sbb eax, 0xee5b9d01
sbb al, 0xed
or al, 0xd
add eax, 0xfbff1183
cmp byte [edi - 0x10], 0x9e
or esp, 0xffffffb2
mov edi, 0xc8e1116c
aaa
mov byte [eax + 0x41ef2381], dh
xor byte [ebp + 0x6dee5dd1], dl
pop ebp
out dx, al
insd dword es:[edi], dx
xchg ebx, eax
std
sbb al, 0xc2
scasb al, byte es:[edi]
inc ebx
jb 0x47b797
insd dword es:[edi], dx
invalid
fimul word [ebp - 0x19ad5362]
lodsb al, byte [esi]
mov eax, 0x5fb0fd71
adc dword [ecx], 0x671175e
jecxz 0x47b81d
invalid